Record the tenth sweep, over the deferred request system

This commit is contained in:
iris-ai committed 2026-09-20 18:25:03 -04:00
1 parent e6a035d06e
commit 992a4a2e97
2 files changed
+114 -8

No files matched your search

+21 -8
View File
@@ -4,10 +4,22 @@ Where the work in flight stands. The settled layout design, the vocabulary
and the measurement method are in `docs/LAYOUT.md`; what the review of #19
found is in `docs/LAYOUT_LOG.md`.
## A quality sweep of the deferred system is submitted on PR #19
`layout/one-ask` is at `4cb6f68` in `/home/bob/repos/iris-deferred`. The tenth
sweep is the first review of `76aaf06` through `0e838e9` -- the bound rules,
the deferred request path and the invalidation fix. Ten findings, the largest
two being a bound's held length looked up a second time through a value that
could not promise the end it named (`Bound::at` `expect`ed it), and a bound in
pixels pinning the rel base it is not read against. `docs/LAYOUT_LOG.md` has
them all, with the two rules it tripped and left and two corpus questions for
Bryan. Verified: format, clippy both ways, 197 and 201 tests, all three seed
scans (69.02s, 174.87s, 330.39s), and the cold dump byte-identical to
`0e838e9` across all 34,986 boxes.
## Performance sweep is submitted on PR #19
`layout/one-ask` is at `0e838e9` in `/home/bob/repos/iris-deferred`. The fix
keeps dependencies only for size requests the allocator uses, and borrows
The performance fix is `0e838e9`. It keeps dependencies only for size requests the allocator uses, and borrows
`Widgets::size_rules` rather than cloning both axes at every lookup. Used
hints retain their reader dependency; adding a cap after layout is checked for
both hinted and measured shares. Ordinary text measurement still tracks its
@@ -95,6 +107,8 @@ comparison work above, its review rounds past `cadfba0` are described in
overflow its pixels asked for, said as the place the parent gives and
sharing one comparison with the span; and `Image` grown in the generated
trees, which is the only widget here whose hint is a length in pixels.
- **The deferred request system's own sweep**, `4cb6f68` -- described at the
top of this file and in full in `docs/LAYOUT_LOG.md`.
- **One ask, the root's included**, `0d03267` -- the root had a layout path
of its own, so a rule that reads the box it is offered reached every widget
but that one. `Placing::WINDOW` is the box nobody drew and `Placing::ask`
@@ -155,12 +169,11 @@ the name it is reachable by.
**Always**, because they cost nothing: format, workspace clippy under
`-D warnings` with and without `layout-diagnostics`, the workspace tests, and
the **cold dump**. `layout_dump` over 400 depth-5 trees is **34,571** boxes
since `2dba90b` grew images in the trees, and `0d03267` left every one of them
byte-identical. It was 34,488 before the images; the fourth through eighth
sweeps all repeated 34,492, which is a `wc -l` of the whole run rather than of
its box lines, so count the lines that are a box
(`grep -cE '^[0-9]+ [0-9]+ '`). It is the only thing that catches two
the **cold dump**. `layout_dump` over 400 depth-5 trees is **34,986** boxes
since `76aaf06` grew bounds in the trees. It was 34,571 from `2dba90b`, which
grew the images, and 34,488 before those; the fourth through eighth sweeps all
repeated 34,492, which is a `wc -l` of the whole run rather than of its box
lines, so count the lines that are a box (`grep -cE '^[0-9]+ [0-9]+ '`). It is the only thing that catches two
same-typed values being swapped, which is the failure mode of a rename or a
move. The repair moved 650 of those boxes, all from the collapsed-share
correction; every commit since has been byte-identical to `84dad21`.