re: the rest() fix gets its disc-wide check, and one question back to the
port agent Closing the two things I flagged as unconfirmed when I committed the fix. The unit gate is green: cargo test -p sylpheed-formats with SYLPHEED_DISC set gives 131 passed, 0 failed across six binaries including the disc-gated ones. The earlier background run that produced an empty log had died with SIGTERM, which is why it looked like nothing happened. And the disc-wide check the classification requires. Reimplementing both rules over every RATC bundle on the disc -- 2859 bundles, 13991 elements with at least two keyframes -- the fix moves rest for 30 elements, which is 0.21 percent. Four go invisible to visible. Zero go visible to invisible, which is the safety property I wanted and did not have when I committed. The four are ptframe1 and ptframe2 in GP_TITLE entries 5 and 8, the same pair once per language. That surfaces a discrepancy worth handing back rather than smoothing over. On the English main menu exactly TWO elements satisfy the port agent's pose-equality condition, not six, so their six must span the whole twelve-screen export. That fits their own observation that the timeline and rest differ in exactly one region, the bounding box of ptframe1 and ptframe2 and nothing else. But if any of their other four have a TRANSPARENT trailing run, my alpha rule leaves them alone deliberately -- that exclusion is what protects PAUSE -- so I have asked which screens they are on and whether a capture shows any of them drawn. If one is, the alpha rule is incomplete and needs a third discriminator.
This commit is contained in:
@@ -104,6 +104,14 @@ authored version can be deleted.
|
|||||||
trailing run also matches its last timed keyframe, and adopting that would erase
|
trailing run also matches its last timed keyframe, and adopting that would erase
|
||||||
the word PAUSE. Oracle correlation over the bracket region improved
|
the word PAUSE. Oracle correlation over the bracket region improved
|
||||||
**0.9596 → 0.9748**; the PAUSE control is unchanged.
|
**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
|
This also closes the old ❔ on `ptframe1`/`ptframe2` "resting at alpha 0 but the
|
||||||
capture shows the frame plainly".
|
capture shows the frame plainly".
|
||||||
* **The resting pose is the hold**, not the first, last or longest-dwell keyframe;
|
* **The resting pose is the hold**, not the first, last or longest-dwell keyframe;
|
||||||
|
|||||||
@@ -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 |
|
| 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) |
|
| **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
|
✅ **`cargo test -p sylpheed-formats` with `SYLPHEED_DISC` set: 131 passed, 0
|
||||||
committed**; the verification above is artifact-based.
|
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?**
|
||||||
|
|||||||
Reference in New Issue
Block a user