Mark the rename step done and say what it renamed

The record's boxes are part, asked and placed, LayoutHolds carries window
ranges beside its two pins, and what is left of the layout plan is the
retained cost and the review of the branch as one diff.
This commit is contained in:
iris-ai committed 2026-09-19 00:40:53 -04:00
1 parent 150245071f
commit 5798877829
2 files changed
+18 -18

No files matched your search

+16 -17
View File
@@ -14,12 +14,12 @@ detached comparison checkout is `/home/bob/repos/iris-layout-baseline`. It is
the reviewed baseline this work must preserve or improve.
The continuation is `/home/bob/repos/iris-layout-experiment`, now on branch
**`wip/one-ask`** at **`adbedaf`**, five commits over `4328eac` (the head of
**`wip/one-ask`** at **`a30971e`**, six commits over `4328eac` (the head of
`wip/transparent-frames`, which is unchanged). It replaces the old step 3
plan with the one-ask protocol below, and `1512d84` and `23523ee` make the
frame a length of the window. It passes every check:
| check at `adbedaf` | result |
| check at `a30971e` | result |
| --- | --- |
| `cargo fmt --all --check`, clippy `-D warnings`, with and without `layout-diagnostics` | clean |
| `cargo test --workspace` (debug) | 122 suite, 20 core, 11 generated, all green |
@@ -41,8 +41,8 @@ reference gesture), `random` differs in two pixels of glyph antialiasing,
`text` moves one padded block one pixel, and a live resize of `random`
matches a cold render at that size byte for byte.
Not done: the retained-cost work, the renames, and a pre-submit review of
the five commits as one diff.
Not done: the retained-cost work (step 5) and a pre-submit review of the six
commits as one diff (step 1).
The worker's older step 3/4 experiment is preserved as branch
`wip/step3-experiment` (one commit over `4328eac`) and as
@@ -250,7 +250,7 @@ Unchanged; see `docs/LAYOUT.md`.
## Implementation plan
Work in `/home/bob/repos/iris-layout-experiment` on `wip/one-ask` from
`adbedaf`. Make each step a warning-clean commit and run its named checks
`a30971e`. Make each step a warning-clean commit and run its named checks
before the next. If a step exposes a different mechanism, stop and update
this handoff rather than papering over it.
@@ -260,11 +260,11 @@ frame, ask, box and size warm against cold), pinned as a named test in
`tests/cases/unsettled.rs`, then fixed under the two rules above. Do not add
a second draw back.
### 1. Review the five commits
### 1. Review the six commits
Run the pre-submit review over the five commits as one diff against
Run the pre-submit review over the six commits as one diff against
`4328eac`. `1512d84` rewrote much of what the first two did to `painter.rs`
and `render_state.rs` and was reviewed as it was written, but the five have
and `render_state.rs` and was reviewed as it was written, but the six have
never been read as one change, and the parts of the one-ask protocol it did
not touch -- `place_at`, the twice-asked deferral, `Span`'s two passes --
were written as a probe and reviewed only by their tests.
@@ -286,15 +286,14 @@ placed by re-expression rather than by a second draw is what shows first.
### 4. Rename and delete
Rename `ActiveData::offer_part` to `part`, `offer_place` to `asked`, `place`
to `placed`, and `DrawInfo` likewise; delete `ActiveData::measured` in favour
of reading `answer`; delete `answers_at` if `resize` is its only caller and
inline it. Rename `LayoutHolds::frame` to `window` and `Painter::frame_own`
with it: since `1512d84` those ranges are window pixels, and the only thing
that writes them is `Painter::window_holds`; the frame's own entry is the
`frame_len` pin beside it. Every use was written against the old names on
purpose to keep the probe's diff readable; do this as one mechanical commit.
Suite, oracle.
**Done at `a30971e`.** `ActiveData` and `DrawInfo` now say `part` for the box
a widget was asked in, `asked` for the place it was asked at and `placed` for
where its drawing was put; `LayoutHolds::frame` is `window`, since those
ranges are window pixels and the frame's own entry is the `frame_len` pin
beside them, and `Painter::frame_own` is `window_own`. `answers_at` had one
caller and is inlined there. `ActiveData::measured` is kept: `place_in` reads
it, and what it says -- the answer rather than the last drawing's report --
is worth a name.
### 5. Restore the expected retained cost