Record the naming round in the handoff and LAYOUT.md

Iris PR #19's tip is 2807a92. LAYOUT.md's settled-design section named the
retired `PlaceDescAxis::within`/`shifted`/`sized` constructors and the
`axis`/`axis_mut` accessors; it now says the `_desc` chaining rule, the
`axis` lift, and that every pair is a struct of two per-axis values read
with `[axis]`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
iris-aiandClaude Opus 5 committed 2026-09-19 21:25:35 -04:00
1 parent 61a2f601bb
commit 721a8fc50d
2 files changed
+34 -13

No files matched your search

+13 -3
View File
@@ -6,8 +6,8 @@ found is in `docs/LAYOUT_LOG.md`.
## The Iris layout repair is submitted
**Iris PR #19** (`layout/one-ask`) replaces closed #18. The tip is `58ce74d`,
and past the reviewed `cadfba0` it is two rounds:
**Iris PR #19** (`layout/one-ask`) replaces closed #18. The tip is `2807a92`,
and past the reviewed `cadfba0` it is three rounds:
- **The repair.** `add6774` fixes collapsed-share placement, retained mask
ownership and a redraw-on-reparent defect; `84dad21` removes repeated work
@@ -18,6 +18,15 @@ and past the reviewed `cadfba0` it is two rounds:
the single `impl Into<PlaceDesc>` argument that replaced `Place`, `Part`,
`widget_within` and the separate rel-base argument. **Bryan is still
refining this**, so treat the API as current rather than frozen.
- **Named operations and `Index<Axis>`**, `55df32a` and `2807a92`, settled
with Bryan on 2026-09-19. A description is built by chaining off the value
that says it (`UiSpan::shifted_desc`, `Len::as_desc`), never by a
constructor naming the type; `on` is reserved for events, so the lift is
`PlaceDescAxis::axis`. Arithmetic that needed a comment became a name:
`UiSpan::place`, `LayoutLen::without_leftover`/`is_px`/`is_only_leftover`/
`declared`, `Holds::covers`. `LayoutHolds` became `AxisHolds` on `x`/`y`,
every pair got `Index<Axis>` through `impl_axis_index!`, and the bare
`[Option<LayoutLen>; 2]` became `Declared` of `Option<Len>`.
The core design remains sound. Round-to-nearest is still unchanged.
@@ -35,7 +44,8 @@ The gate that matters for anything shaped like a rename or a refactor is the
**cold dump**: `layout_dump` over 400 depth-5 trees is 34,492 boxes, and the
compiler cannot catch two same-typed values being swapped. The repair moved
650 of those boxes, all from the collapsed-share correction. Every commit
since has been byte-identical to `84dad21`, including the whole API rewrite.
since has been byte-identical to `84dad21`, including the whole API rewrite
and the naming work above.
## What is next, in order