port: pose a settled screen at ONE instant -- title 1.81% -> 0.26%, splashes to 0.01%
The Decoder's finding, applied. `rest()` returns each element's last hold keyframe chosen independently of every other element: right for anything that ends the screen settled, exactly wrong for a transient. The title's ptlogo_back2eff1 is a two-frame flash (0 until t52, 255 at t54-56, 0 by t58), so its last hold IS the flash peak and rest() left it burning -- five of them, drawn at once. The settled instant is the longest interval containing no keyframe time, over a bundle's TOP-LEVEL elements. Reproduced here before adopting: title [160, 236], midpoint 198, the Decoder's number to the unit. The top-level restriction is what makes it match -- including the ptloop leaves gives [269, 540]. AGAINST THE ORACLE: title 20.92 RMSE 1.81% -> 14.61 RMSE 0.26% publisher_logo 9.05 0.75% -> 2.17 0.01% developer_logos 8.86 0.33% -> 3.05 0.01% main_menu 0.08% -> 0.08% window too narrow extras 0.19% -> 0.19% window too narrow Seven times fewer differing pixels on the title, seventy-five times fewer on the publisher splash, whose differing region is now a 13x18 box. The largest correctness gain this port has had, and none of it is mine -- it is a decode computed from the keyframe table with no reference to any capture. APPLIED ONLY WHERE THE WINDOW IS WIDE, and the bar is not invented. This export's widths split with nothing in between: 214, 190, 145, 76, then 12, 12, 8, 4. The bar is 30 units -- the Decoder's disc-wide census puts the knee there (30% of bundles >= 30, 42% under 10, the latter mostly loop* fragments meant to be in motion) and this export's screens sit 4x either side with nothing between 12 and 46. Two independent populations agreeing on where to cut. Checked unbroken: boot pacing unmoved, scripted walk runs end to end with focus restored. Also recorded: my "34 focus-record elements, only 2 varying" is right for GP_TITLE and reads as a fact about the format -- disc-wide it is 210 varying, 202 with rest() at the peak, concentrated in the paks a wider port reaches next. And their sharper framing, which I have adopted: a pulsing element has no resting pose at all, so rest() is MALFORMED rather than mis-answered on one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
@@ -4421,3 +4421,79 @@ focus-record elements in the export, and only 2 have a varying alpha** — both
|
||||
which is precisely the pathology described. The port does not hit it because the
|
||||
plate is drawn through the loop path, and the other **32 are constant-alpha, so
|
||||
`rest()` is safe for them**. Bounded, not hoped.
|
||||
|
||||
## ✅ A settled screen is ONE instant, and it collapsed three residuals at once
|
||||
|
||||
The Decoder's finding, applied: **`rest()` returns each element's last hold
|
||||
keyframe chosen independently of every other element.** That is right for
|
||||
anything that ends the screen settled and **exactly wrong for a transient** —
|
||||
the title's `ptlogo_back2eff1` is a two-frame flash (0 until t52, 255 at t54–56,
|
||||
0 by t58), so its last hold *is* the flash peak and `rest()` left it burning.
|
||||
There are five of them, and `rest()` drew all five at once.
|
||||
|
||||
The settled instant is **the longest interval containing no keyframe time**, over
|
||||
a bundle's **top-level** elements. Reproduced independently here before adopting:
|
||||
title `[160, 236]`, midpoint **198** — the Decoder's number to the unit. ⚠️ The
|
||||
top-level restriction is what makes it match: including the `ptloop` leaves gives
|
||||
`[269, 540]` instead.
|
||||
|
||||
### Against the oracle
|
||||
|
||||
| screen | before | after |
|
||||
|---|---|---|
|
||||
| **`title`** | 20.92 RMSE, **1.81 %** | **14.61 RMSE, 0.26 %** |
|
||||
| **`publisher_logo`** | 9.05, **0.75 %** | **2.17, 0.01 %** |
|
||||
| **`developer_logos`** | 8.86, **0.33 %** | **3.05, 0.01 %** |
|
||||
| `main_menu` | 0.08 % | 0.08 % — unchanged, window too narrow |
|
||||
| `extras` | 0.19 % | 0.19 % — unchanged, window too narrow |
|
||||
|
||||
**Seven times fewer differing pixels on the title, seventy-five times fewer on
|
||||
the publisher splash**, whose differing region is now a **13×18 box**. This is
|
||||
the largest correctness gain the port has had, and none of it is mine: it is a
|
||||
decode, computed from the keyframe table with no reference to any capture.
|
||||
|
||||
### ⚠️ It is applied only where the window is wide, and that bar is not invented
|
||||
|
||||
The widths in this export split with **nothing in between**: `press_start` 214,
|
||||
`publisher_logo` 190, `developer_logos` 145, `title` 76 — then `main_menu` 12,
|
||||
`extras` 12, the loading screens 8 and 4. A 12-unit "settle" on a menu that
|
||||
builds in until t=70 is a gap between staggered ramps, not a settled pose.
|
||||
|
||||
The bar is **30 units**: the Decoder's disc-wide census puts the knee there (30 %
|
||||
of bundles ≥ 30, 42 % under 10, the latter mostly `loop*` fragments meant to be
|
||||
in motion), and this export's own screens sit **4× either side of it with nothing
|
||||
between 12 and 46**. Two independent populations agreeing on where to cut is what
|
||||
makes it a bar rather than a preference.
|
||||
|
||||
Checked unbroken: the boot pacing is unmoved (`developer_logos@4.26`,
|
||||
`title@7.91`, developer agrees) and the scripted walk still runs end to end with
|
||||
focus restored.
|
||||
|
||||
## Their census, and a framing of mine they sharpened
|
||||
|
||||
I reported *"34 focus-record elements in the export, only 2 with a varying
|
||||
alpha"*. Disc-wide it is **210 varying, 202 with `rest()` at the peak**, across
|
||||
1 130 focus records — 116 in `GP_DEBRIEFING_PILOTLOG`, 54 in `GP_MOVIE_THEATER`,
|
||||
30 in `GP_HANGAR_ARSENAL`, 8 in `GP_LEADERBOARD`, and **2 in `GP_TITLE`**.
|
||||
|
||||
**My 2 is right because `GP_TITLE` has 2.** ⚠️ But *"only 2 have a varying alpha"*
|
||||
reads as a fact about the format and is a fact about one pak — and the pathology
|
||||
sits in exactly the screens a wider port reaches next. The sentence was true as
|
||||
measured and false as remembered, which is the failure this corpus keeps
|
||||
finding, and it was mine this time.
|
||||
|
||||
⚠️ **And they corrected a framing I had:** I called `rest.alpha == peak` "the
|
||||
pathology". It is worse than that — **a pulsing element has no resting pose at
|
||||
all.** The question `rest()` answers is *malformed* rather than mis-answered,
|
||||
because the element's state is a phase, not a value. `pose_at(t)` with `t` inside
|
||||
the record's own declared cycle is the only well-formed query on one.
|
||||
|
||||
🔴 Worth carrying for whenever this port grows: `GP_LEADERBOARD`'s
|
||||
`py_ranking_btn01f` swings 255 → 127 → 255 with no two adjacent keyframes equal,
|
||||
so `rest()` falls through to its longest-dwell rule and returns **244** — neither
|
||||
peak nor trough. **A glow stuck at its peak is visibly wrong; one stuck at 244 of
|
||||
a 127–255 range looks entirely plausible, and nothing reports it.**
|
||||
|
||||
✅ And a free second instance of the loop-length decode from a pak neither of us
|
||||
was looking at: `py_ranking_btn01f`'s ramp ends at **t=90 inside a declared 120**
|
||||
— 30 units of hold, the same shape as the plate's 105-in-120.
|
||||
|
||||
Reference in New Issue
Block a user