Record #16, the position chain, and why the hint shortcut is not the fix
This commit is contained in:
1 parent
e04f873453
commit
0f24d3ac23
1 file changed
+21
-1
@@ -6,7 +6,12 @@ Not a decisions log; delete it when the extraction is done.
|
||||
## Where things stand
|
||||
|
||||
Canonical `main` is **`43ce8c7`** (#12, pointer routing). Fourteen slices are
|
||||
in and nothing is open.
|
||||
in.
|
||||
|
||||
- **#16** `split/16-draw-size`, worktree `/home/bob/repos/iris-pr16`, head
|
||||
`f192f75`. A widget sizes itself while drawing; `SizeCtx`, the `desired_*`
|
||||
methods and the size cache are gone, and `size_dependence(axis)` drives the
|
||||
retained path. `tabs`, `view` and `minimal` render byte-identical to `main`.
|
||||
|
||||
Check for a review before starting anything, and read the newest
|
||||
`submitted_at` rather than the first result:
|
||||
@@ -102,6 +107,21 @@ today's `Len` and let the dp slice follow, rather than pulling both in at once.
|
||||
|
||||
Still in the target, roughly in dependency order:
|
||||
|
||||
- **The position chain** (LAYOUT.md §2): `UiData::move_offsets`, per-primitive
|
||||
slot ids and a bounded chain walk in WGSL, so moving a subtree writes one
|
||||
slot instead of every descendant's primitives. Agreed to come directly after
|
||||
#16.
|
||||
- **Built-in alignment, and possibly size**, directly after the position
|
||||
chain. A child of a span is handed the full extent on the ortho axis, so
|
||||
`.width(rel(0.5))` inside a `Dir::DOWN` span changes what the child reports
|
||||
and not the box it gets. **Do not "fix" this by reading the child's ortho
|
||||
`size_hint`**: a `Pad` between the `SetSize` and the span has no hint of its
|
||||
own, so the declared width silently goes back to filling. It works only when
|
||||
nothing is in the way, which is the shape of bug the review pass is for.
|
||||
Alignment has to belong to the widget rather than be discovered through
|
||||
whatever happens to sit on top of it. Size is the harder half: a declared
|
||||
size beside `set_size` is two sources of truth for one thing, so settle what
|
||||
each means before building it.
|
||||
- **`Len`, `LayoutLen` and dp.** The archive splits the type so that `rest` is
|
||||
unrepresentable where it is meaningless (a padding), and folds a density in
|
||||
at resolve time. 21 files mention `Len`, so it is wide but shallow. After the
|
||||
|
||||
Reference in new issue
Block a user