Record rel_base and the container API, and sweep LAYOUT.md

`frame` is gone from the layout vocabulary in `docs/LAYOUT.md` too, since
leaving the design document in the old words defeats the rename; the
rendered-frame sense of the word is untouched. The `local == UiRegion::FULL`
item is dropped from the handoff: that comment was #18's and is not on the
review branch.
This commit is contained in:
iris-ai committed 2026-09-19 16:35:02 -04:00
1 parent 90400f50ac
commit 93a6830fcd
3 files changed
+70 -60

No files matched your search

+1 -7
View File
@@ -138,7 +138,7 @@ The descriptions above preserve the original failure at `cadfba0`.
The first three -- the unswept `extent`, the two same-typed boxes on
`ActiveData`, and `Painter`'s four holds accumulators -- were done in
`5642f20`. What is left:
`5642f20`, and `Part::All` in `aeb60e5`. What is left:
- `draw_inner` returns `(Size, LayoutHolds, LayoutHolds)`, two same-typed
values ordered by convention. A named pair makes the swap unwriteable.
@@ -152,9 +152,3 @@ The first three -- the unswept `extent`, the two same-typed boxes on
`under.iter_mut().find`, `depend_on`), so a span of *n* children is
O(n^2) per draw. Not a problem at today's sizes; it is worth knowing
before a long transcript list lands on it.
- `Part::All` is exactly `Part::Of(UiSpan::FULL)`: `Of` composes through
`within`, and `through(Len::FULL)` maps a range back to itself, which
`the_whole_of_a_box_maps_back_to_itself` already asserts. It buys a
separate arm in `in_parent` and in `Part::of`. Keeping it as sugar is
defensible; the case analysis being wider than the geometry is the thing
to decide about rather than to leave unstated.