# refactor: popups open beside a box by its id, placed where layout puts it that frame · clo/snowbound

[View on GitCafe](https://git.cafe/clo/snowbound/commit/93933f26a4f155a3654291ce96aa67bfcf3c69f3)

Repository: [clo/snowbound](https://git.cafe/clo/snowbound)

Visibility: public

Requested revision: 93933f26a4f155a3654291ce96aa67bfcf3c69f3

Requested commit: 93933f26a4f155a3654291ce96aa67bfcf3c69f3

Commit: 93933f26a4f155a3654291ce96aa67bfcf3c69f3

Tree: 0c18d254294cc85f49022aa0bac31d8e7c3f7335

Author: clover caruso

Committer: clover caruso

## Message

```
refactor: popups open beside a box by its id, placed where layout puts it that frame

- `Anchor::Below`, `Right` and `Over` name a box; layout solves the interface first, then each popup beside its box as laid out in the same frame, so a popup opened with its box is never at the window's corner on its first frame
- Layout keeps a popup below or over its box at least as wide, opens a submenu past the menu holding its row, and makes a field standing in for a combo as tall as it
- `scroll_to` scrolls once the frame is laid out, so it reaches a box built that frame
- A section tab's rename field is built inside the tab; the notebook button at the far edge, the locked-section and empty-notebook notices, the recording transport and the templates' close button are placed by layout
- A menu button's menu, the conflict bar's menu and the Outlook task's tooltip open from boxes placed where they open
- `Ui::rect` gives way to `Ui::laid_out`, the latest layout, for hosts painting the page, mapping its input, and hit-testing drags; `Ui::size` is the window's size this frame

Assisted-by: claude-opus-5.5

```

## Parents

- [1cce9f725367502f129a96c850504b4560cd18c4](https://git.cafe/clo/snowbound/commit/1cce9f725367502f129a96c850504b4560cd18c4?format=markdown)

[Source at this commit](https://git.cafe/clo/snowbound/tree/93933f26a4f155a3654291ce96aa67bfcf3c69f3?format=markdown)
