Record the rule/widget split for bounds

A rule holds what a widget answers and a widget holds the box (Bryan,
2026-09-20). `layout/bounds` is green on all three scans; the hole left is a
retained answer re-placed under a different rel base, which predates bounds.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
iris-aiandClaude Opus 5 committed 2026-09-20 15:14:06 -04:00
1 parent 149a6838af
commit ab8b05b762
2 files changed
+28 -9

No files matched your search

+9 -9
View File
@@ -200,15 +200,15 @@ glyphs do not follow a shortened entry.
`Painter::region()`, `SetSize`, `desired_width`, `apply_rest`, `Len::dp`,
`Aligned` and `MaxSize`, none of which exist. Do not restore
`OnResize::Translate` or `OrthoSize`.
- `SizeRule::{Min, Max, Clamp}` is written and pushed as `layout/bounds`
(`76aaf06`), and **is not ready to land**: every hand-written test passes,
including a capped scroll taking its viewport from the cap, but the
400-seed scan does not, and the reason is a design question Bryan has to
settle -- see `docs/LAYOUT_LOG.md` under "Bounds are a rule that reads its
box". Bryan settled two things already: `Max` narrows the child's drawing
box (2026-09-20), and a rule gives a length or bounds one but never both,
since a capped share is said with two widgets. A cap may not contain
`leftover`.
- **`layout/bounds` (`de1eb7e`) is green and ready to review**, kept off #19
so that branch stays one subject. A rule holds what a widget answers
(`SizeRule::{Min, Max, Clamp}`); a widget holds the box (`MaxSize`, which
`.max_width`/`.max_height` build). Bryan settled the split on 2026-09-20
after four readings were measured; the reasoning and the one remaining hole
-- a retained answer re-placed under a different rel base, which is older
than bounds -- are in `docs/LAYOUT_LOG.md`. A bound may not contain
`leftover`, and the generated trees grow bounds in pixels until that hole is
closed.
- `LazySpan`.
- `Scroll` taking a direction rather than one axis.