diff --git a/docs/HANDOFF.md b/docs/HANDOFF.md index 191c89d..afba7c8 100644 --- a/docs/HANDOFF.md +++ b/docs/HANDOFF.md @@ -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 diff --git a/docs/LAYOUT_LOG.md b/docs/LAYOUT_LOG.md index a5535ce..5484607 100644 --- a/docs/LAYOUT_LOG.md +++ b/docs/LAYOUT_LOG.md @@ -95,7 +95,8 @@ Three rig changes came out of it, all kept: as a fraction of the wrong length agreed at the window it was made at and parted from cold at every other one. -Checks at the end of the step (`23523ee`): `cargo fmt --all --check`, clippy +Checks at the end of the step (`a30971e`, and `23523ee` before the rig and +the renames): `cargo fmt --all --check`, clippy with and without `layout-diagnostics`, 122 suite tests, 20 core, 11 generated, the 400-seed depth-5 shrinker over all sixteen cases, the 1000-seed depth-6 oracle, and the 2000-seed depth-4 scan over all sixteen