Record the seed 946 deferral and the fuzzer results at 3091fb8

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
iris-aiandClaude Fable 5.1 committed 2026-09-18 18:30:51 -04:00
1 parent ef324aa88b
commit 82c0ac4960
2 files changed
+71 -36

No files matched your search

+36 -19
View File
@@ -54,10 +54,26 @@ Branch `wip/one-ask` at `3091fb8` over `4328eac`. The change is described in
a share child is asked twice per span draw, and `resize` at seed 1 draws
40 because positive-direction spans without shares pin `far`; both are
step 4 there.
- The 1000-seed depth-6 oracle and the 2000-seed depth-4 scan were started
at `3091fb8` and had not finished when this was written; the next session
reads `/tmp/oracle-1000-6.log` and `/tmp/shrink-2000-4.log` if they still
exist, or reruns them.
- At `3091fb8` the 2000-seed depth-4 scan agreed over all fifteen cases
(82,203 widgets, 269 s) and the 1000-seed depth-6 oracle found **seed 946,
`shuffle-all-but-first`**, which shrinks to nine widgets: `Span{LEFT}[Rect,
Span{RIGHT}[Rect, Span{DOWN}[Wrapped, Rect, Wrapped].height(159), Rect]]`,
the column emptied to its first text. Reproduced with the records
printed: the column reports a share along the row while its rect has room
(both texts wrap at the whole row, 35 px each, under 159) and a fixed
width once asked in its third of the row (each text 88 px, no room, rect
undrawn, cross-axis answer a pixel width). So the row asked it twice and
built its slots on the first answer and its cross size on the second.
Emptying the column changes only the first; the local redraw re-asked the
second, found it unchanged, and told nobody. Cold has the column 874 px
wide. Fixed in `0ef87eb` by deferring any widget its parent asked twice
in one draw to that parent, pinned as
`unsettled::emptying_a_column_the_row_asked_twice_asks_the_row_again`
(checked red without the deferral, green with it). Cost: `many` at depth
8 went from 78/78 to 110/92 draws/distinct at seed 1 and from 335/333 to
424/364 at seed 13; still under #18's 157/95 and 524/159 draws. The
reruns of both long fuzzers at `0ef87eb` were running when this was
written (`/tmp/oracle-1000-6b.log`, `/tmp/shrink-2000-4b.log`).
## What the step 3 plan got wrong (planner, 2026-09-18, third session)
@@ -251,24 +267,25 @@ at depth 8; draw counts are deterministic so these are single runs.
`e44dea3` is #18's head, `34cafb6` the commit the branch starts from,
`49cec82` its head.
| seed 1 | e44dea3 | 34cafb6 | 49cec82 | 3091fb8 |
| --- | --- | --- | --- | --- |
| cold | 369/261/10.6 | 463/274/13.3 | 516/288/12.0 | 331/288/12.3 |
| repaint | 1 | 1 | 1 | 1 |
| many | 157/95/0.33 | 263/108/0.59 | 187/119/0.52 | 78/78/0.13 |
| size | 16/12/0.018 | 3/3 | 3/3/0.010 | 3/3/0.008 |
| scroll | 2/0.002 | 1 | 1/0.004 | 1/0.001 |
| resize | 13/13/0.019 | 22/15/0.032 | 24/76/0.090 | 40/15/0.096 |
| seed 1 | e44dea3 | 34cafb6 | 49cec82 | 3091fb8 | 0ef87eb |
| --- | --- | --- | --- | --- | --- |
| cold | 369/261/10.6 | 463/274/13.3 | 516/288/12.0 | 331/288/12.3 | 331/288/12.0 |
| repaint | 1 | 1 | 1 | 1 | 1 |
| many | 157/95/0.33 | 263/108/0.59 | 187/119/0.52 | 78/78/0.13 | 110/92/0.23 |
| size | 16/12/0.018 | 3/3 | 3/3/0.010 | 3/3/0.008 | 3/3/0.008 |
| scroll | 2/0.002 | 1 | 1/0.004 | 1/0.001 | 1/0.001 |
| resize | 13/13/0.019 | 22/15/0.032 | 24/76/0.090 | 40/15/0.096 | 40/15/0.096 |
| seed 13 | e44dea3 | 49cec82 | 3091fb8 |
| --- | --- | --- | --- |
| cold | 1330/707/20.3 | 2940/982/28.3 | 1179/982/24.6 |
| many | 524/159/1.09 | 1091/423/2.39 | 335/333/0.62 |
| resize | nothing drawn | 2215/510/6.56 | nothing drawn |
| seed 13 | e44dea3 | 49cec82 | 3091fb8 | 0ef87eb |
| --- | --- | --- | --- | --- |
| cold | 1330/707/20.3 | 2940/982/28.3 | 1179/982/24.6 | 1179/982/24.6 |
| many | 524/159/1.09 | 1091/423/2.39 | 335/333/0.62 | 424/364/0.87 |
| resize | nothing drawn | 2215/510/6.56 | nothing drawn | nothing drawn |
The `3091fb8` column is single runs from the third session; its `cold` and
The last two columns are single runs from the third session; `cold` and
`resize` at seed 1 are after the `Part::Of` pin composition, which added
18 and 19 draws respectively over the version without it.
18 and 19 draws respectively over the version without it, and `many` at
`0ef87eb` includes the deferral of twice-asked share children.
Three findings, each applied on the branch: