diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index 851d4ff1..1e079aa8 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -104,6 +104,14 @@ authored version can be deleted. trailing run also matches its last timed keyframe, and adopting that would erase the word PAUSE. Oracle correlation over the bracket region improved **0.9596 → 0.9748**; the PAUSE control is unchanged. + ✅ **Disc-wide**: over 2 859 bundles / 13 991 elements, `rest` moves for **30** + (0.21 %) — **4 invisible → visible, 0 visible → invisible**. Tests green + (131 passed). + ❔ **Back to the port agent:** on the English main menu exactly **two** elements + satisfy your pose-equality condition (`ptframe1`/`ptframe2`), so your six span + the whole export. If any of the other four have a **transparent** trailing run, + this rule leaves them alone on purpose. **Which screens are they on, and does a + capture show any of them drawn?** If so the alpha rule is incomplete. This also closes the old ❔ on `ptframe1`/`ptframe2` "resting at alpha 0 but the capture shows the frame plainly". * **The resting pose is the hold**, not the first, last or longest-dwell keyframe; diff --git a/docs/re/structures/ui-resting-pose.md b/docs/re/structures/ui-resting-pose.md index 2fee050e..2334f242 100644 --- a/docs/re/structures/ui-resting-pose.md +++ b/docs/re/structures/ui-resting-pose.md @@ -218,5 +218,36 @@ when it is visible**, and that is what `rest_plateau` now tests. | pixels changed, whole frame | 10 082, bounding box **x 440–839, y 108–577** — exactly the 400 × 470 at (440,108) the report predicted | | **regression control**: PAUSE wordmark, 3 pause builds | **unchanged** (2833 / 2858 / 2833 bright px) | -🟡 The full disc-gated `build-reborn test` run was **still executing when this was -committed**; the verification above is artifact-based. +✅ **`cargo test -p sylpheed-formats` with `SYLPHEED_DISC` set: 131 passed, 0 +failed** across 6 binaries including the disc-gated ones. (One pre-existing +`ignored` — the XBG7 shared-resource test — unrelated.) + +### ✅ The disc-wide check + +Both rules reimplemented over the parsed keyframes of **every** `RATC` bundle on +the disc — 2 859 bundles, 13 991 elements with ≥ 2 keyframes: + +| | | +|---|---| +| elements whose `rest` moves | **30** (0.21 %) | +| invisible → visible | **4** | +| **visible → invisible** | **0** — the safety property | + +The change is surgical and it never hides something that was being drawn. The +remaining 26 move `rest` between two *visible* poses (position, not visibility). + +The 4 revealed are `ptframe1.t32` and `ptframe2.t32` in `GP_TITLE` **entry 5 and +entry 8** — the same two elements, once per language build. + +### 🟡 Reconciling with the report's "six elements" + +On the **English main menu exactly two** elements satisfy the report's condition +(last two keyframes identical), and both are `ptframe1`/`ptframe2`. So the six +must span its whole 12-screen export, not that one screen — consistent with its +own observation that the timeline and `rest` differ *"in exactly one region … +the bounding box of `ptframe1`/`ptframe2` and nothing else"*. + +❔ **Open, and it matters:** if any of the other four have a **transparent** +trailing run, this rule deliberately leaves them alone — that exclusion is what +protects the word PAUSE. If a capture shows one of them drawn, the alpha rule is +incomplete and needs a third discriminator. **Which screens are they on?**