Record both review rounds answered, and what alignment now follows
This commit is contained in:
1 parent
80527ff843
commit
0aaa1f92db
1 file changed
+27
-24
@@ -9,13 +9,27 @@ Canonical `main` is **`43ce8c7`** (#12, pointer routing). Fourteen slices are
|
||||
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`.
|
||||
`9520996`. A widget sizes itself while drawing; `SizeCtx`, the `desired_*`
|
||||
methods and the size cache are gone, and `on_resize(axis)` drives the
|
||||
retained path. One review round answered: `Widget::draw` returns the `Size`
|
||||
(no `Painter::set_size`), both `place` methods are folded back into
|
||||
`widget_within`/`draw_inner`, `Painter::size_hint` records the size
|
||||
dependency `place` used to, and `()` sizes itself rest so it is a gap.
|
||||
`tabs` (all five tabs, and a replay that adds two images), `view` and
|
||||
`minimal` render byte-identical to `upstream/main`.
|
||||
- **#17** `split/17-headless-rig`, worktree `/home/bob/repos/iris-pr17`, head
|
||||
`9d13f15`. The compositor script, `rig-input`'s `replay-touch` and the
|
||||
`deb9c1b`. The compositor script, `rig-input`'s `replay-touch` and the
|
||||
`.touch` parser, so a rendering claim no longer has to be checked from
|
||||
ai-app's checkout. Small, and disjoint from #16.
|
||||
ai-app's checkout. One review round answered: machine-specific prose out of
|
||||
the comments, and `sway`/`swaymsg`/`grim` detected up front. Small, and
|
||||
disjoint from #16.
|
||||
|
||||
**Waiting on the owner:** whether size dependencies should be recorded per
|
||||
axis. They could be, but `highest_reader`'s only trigger is `needs_redraw`,
|
||||
which carries no axis, so the precision would be unusable until the trigger
|
||||
changes: redraw a child first, compare its new size to the old, and propagate
|
||||
only to readers of the axes that moved. Offered on #16 as its own slice, ahead
|
||||
of the position chain.
|
||||
|
||||
Check for a review before starting anything, and read the newest
|
||||
`submitted_at` rather than the first result:
|
||||
@@ -90,24 +104,13 @@ Other standing instructions from the owner:
|
||||
|
||||
## The next slice
|
||||
|
||||
**Widget draw size and measurement** (source commit `6671194`), because it
|
||||
reaches furthest: `desired_width`/`desired_height` and `SizeCtx` go, a widget
|
||||
sizes itself during `draw` with `painter.set_size`, and `size_hint` is the
|
||||
cheap answer for a parent that needs a size without drawing. Every widget's
|
||||
body changes, so anything written before it is written twice. It also deletes
|
||||
the separate measurement recursion and its cache.
|
||||
**Built-in alignment** — see the first entry below. #16 and #17 are both
|
||||
waiting on review, and the alignment slice is disjoint from either.
|
||||
|
||||
It is testable now that `iris::harness` is in: `tests/layout.rs` is where the
|
||||
acceptance goes.
|
||||
|
||||
Two things to settle with the owner before writing it. The archive's `Widget`
|
||||
grows five methods — `size_hint`, `is_size_independent`, `requires_exact_region`,
|
||||
`access_role` and `child_order`; only the first three are sizing, and she
|
||||
dislikes capability methods on the core trait, so `requires_exact_region` in
|
||||
particular wants justifying (`Pad` sets it and then clears it when the content
|
||||
fits, which reads as a workaround). And the archive writes all of it against
|
||||
`LayoutLen` and `density`, which canonical does not have — recreate it on
|
||||
today's `Len` and let the dp slice follow, rather than pulling both in at once.
|
||||
The archive is not a patch here: it writes `Widget::draw` against
|
||||
`painter.set_size`, which #16 replaced with a returned `Size`, and it writes
|
||||
lengths against `LayoutLen` and `density`, which canonical does not have.
|
||||
Recreate on today's `Len` and let the dp slice follow.
|
||||
|
||||
Still in the target, roughly in dependency order:
|
||||
|
||||
@@ -128,8 +131,8 @@ Still in the target, roughly in dependency order:
|
||||
content, which otherwise has to say `Redraw` because only its own draw knows
|
||||
where the middle was.
|
||||
|
||||
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.
|
||||
Size is the harder half: a declared size beside the one `draw` returns is two
|
||||
sources of truth for one thing, so settle what each means before building it.
|
||||
- **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.
|
||||
|
||||
Reference in new issue
Block a user