Replace the step 3 plan with the one-ask protocol and record why it failed
The handoff now describes wip/one-ask at 3091fb8: a widget draws once in the box it is asked in, its answer is placed by re-expressing the drawing, and nothing is drawn again in a box an answer chose. The log records what the step 3 plan got wrong -- it kept the second draw whose measurement bit could not be defined, demanded a contract of the answer box, and narrowed frames by region -- and what fuzzing the new protocol found: the Part::Of composition dropping a pinned length, and a local redraw that must be put back in the parent's answer box. The Pad frame rule is left as a decision for Bryan with its cost stated. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
39978ff8ea
commit
ef324aa88b
3 files changed
+370
-319
No files matched your search
+9
-5
@@ -326,11 +326,15 @@ inside that area, and reports the child's used size plus padding. A
|
||||
share less that padding. The mixed "outset pixels, inset fractions and
|
||||
shares" interpretation is rejected.
|
||||
|
||||
The current experiment still redraws some widgets in boxes derived from their
|
||||
own answers. That is the open protocol defect, not a design invariant. The
|
||||
target in `docs/HANDOFF.md` evaluates container bodies only in boxes a parent
|
||||
offered or decided; placing an answer reuses or translates its drawing rather
|
||||
than running the body in an answer-derived box.
|
||||
A widget draws once, in the box it is asked in; its answer is placed inside
|
||||
that box by re-expressing the drawing, and nothing is drawn again in a box an
|
||||
answer chose. `Holds` is a contract about the ask box alone, read only to
|
||||
decide whether a re-ask can be skipped. A container that puts an answer
|
||||
somewhere other than where it asked says so with `Painter::place_at`, which
|
||||
never runs the body. A frame is narrowed by a length of the parent's frame,
|
||||
never by a region, and is put back into the part by the child's alignment on
|
||||
every placement. This is `wip/one-ask` in the experiment checkout; whether
|
||||
`Pad` narrows the frame by its padding is still open in `docs/HANDOFF.md`.
|
||||
|
||||
## Layout decisions and invariants (2026-09-15 to 2026-09-17)
|
||||
|
||||
|
||||
Reference in new issue
Block a user