Record what the review of Iris #19 found

Two live defects at cadfba0, each with the repro that showed it and the
fix that answered it: a span places the slot after a collapsed leftover
child a gap early and a gap too long, and a child reused under a parent
that redrew keeps the mask index that parent replaced, so its drawing is
clipped where the subtree used to be. Neither is covered by a test, which
is why the suite is green over both.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
iris-aiandClaude Opus 5 committed 2026-09-19 07:20:59 -04:00
1 parent 3ecd676bcf
commit 67584cedda
2 files changed
+130 -8

No files matched your search

+10 -8
View File
@@ -1,8 +1,8 @@
# Handoff
Where the work in flight stands. The durable layout design, the measurement
method and the findings that outlived the working log are in
`docs/LAYOUT.md`.
Where the work in flight stands. The durable layout design and the
measurement method are in `docs/LAYOUT.md`; what the review of #19 found is
in `docs/LAYOUT_LOG.md`.
## The Iris layout repair is submitted
@@ -39,23 +39,25 @@ means it was not the software fallback.
## What is next, in order
1. **Bryan's review of #19.** Fixes to it are unreviewed code: repeat the
1. **The two defects the review of #19 found**, written up with their
repros and fixes in `docs/LAYOUT_LOG.md`: a span misplaces the slot after
a collapsed `leftover` child, and a reused child keeps the mask its
parent replaced. Both are live at `cadfba0` and neither has a test.
2. **Bryan's review of #19.** Fixes to it are unreviewed code: repeat the
`pre-submit-review` passes over whatever each round changes, and re-run
the three fuzzers and the dump diff for anything that touches `Span`,
`Painter` or `render_state`.
2. **The app's Iris pin**, once #19 lands. It is still on the old submodule
3. **The app's Iris pin**, once #19 lands. It is still on the old submodule
commit, and the branch changes API the app uses: `SizeRule` beside a
widget rather than a wrapper, alignment as a widget property, `rest`
renamed to `leftover`, `OrthoSize` gone.
3. **Round-to-nearest**, CPU and shader together as one verified change.
4. **Round-to-nearest**, CPU and shader together as one verified change.
Bryan approved it on 2026-09-17 and neither half has landed; the
derivation, the form to use and what to re-check are in `docs/LAYOUT.md`
under "Rendering the grid (pending)".
## Smaller layout items, none urgent
- An undrawn `leftover` child still contributes its gap, so a vanished child
leaves a double gap.
- Nested spans pass `leftover` weight up, so three leftover children in one
inner span beside one in another get three quarters to one quarter. No
other layout system does that; confirm it is wanted.