Files
Sylpheed/docs/re/data/decoder-eras-all-16-builds.txt
sylph-decoder 9c645413f1 re: the decoder eras DO change pixels -- 7 of 16 bundles, and title_jp is one
The reach test I deferred twice. sylpheed-port tested three screens across the
stale and fixed ui_layout.rs eras, found 0 differing pixels, and concluded the
eras explain nothing. Built both eras from source and rendered EVERY composable
GP_TITLE bundle through each.

7 of 16 differ. Entries 0-6, 8 and 9 are byte-identical -- which includes title
(4), main_menu (5) and extras (6), so the port's result reproduces for the
screens they picked. Entry 7 (title_jp) differs by 74 507 px, RMSE 12.409; the
two loading bundles by 49 771 px, RMSE 10.078; the four splashes by 23-33k px at
RMSE 0.94-1.78.

So "the eras explain nothing" is true for three screens and false for the
archive. It is specifically false for title_jp, which is one of the two rows
their check-all now allows BY NAME with the reason "rest-pose sparkles". Their
measurement of that screen was 0 and mine is 74 507; recorded with exact flags as
a disagreement for them to check, not adjudicated. Noted that their branch's
ui_layout.rs is the stale one (20 ins / 488 del against the pin), so a binary
built from their workspace HEAD is the stale era.

Two controls, both run first. The binaries genuinely embody the eras: build 5's
pteff00.prm reads `rest t=70 [12 70 80 -]` stale against `rest t=12 [0 12 70 80]`
fixed. And the renderer is deterministic: same binary, same flags, twice, 0
differing pixels on entries 7 and 12 -- without which every number is noise.

Mechanism on entry 7 is a single element, ptlogo_eff3.t32, rest (108,72) ->
(98,42). That is the element MISSION.md and ui-resting-pose.md already name as
THE plateau-less rest() discriminator, so the era difference on the JP title is
our existing open question surfacing rather than a new one.

And a trap: entries 10-15 differ by up to 49 771 px with NO rest position change.
The rest selection moves to a keyframe at the same (x,y) with a different scale
and alpha. My first extraction compared only the rest (x,y) column and would have
reported a difference with no cause. A pose is position and scale and alpha.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
2026-08-30 14:42:29 +00:00

47 lines
2.6 KiB
Plaintext

# The two decoder eras, rendered: all 16 composable bundles of GP_TITLE.
# 2026-08-30.
#
# STALE era = origin/main (ui_layout.rs: "Keyframe time, or None for the
# group's last frame" -- a pose's time read from the NEXT record)
# FIXED era = formats-pin-2026-08-30 == this branch (a pose's time PRECEDES it)
#
# Both built from source; renders are `screen render --all --build N --primitives`.
#
# CONTROL 1 -- the two binaries really do embody the two eras:
# stale rest (0,0) t=70 [12:0,0 70:0,0 80:0,0 -:0,0]
# fixed rest (0,0) t=12 [0:0,0 12:0,0 70:0,0 80:0,0] (build 5, pteff00.prm)
# CONTROL 2 -- the renderer is deterministic: same binary, same flags, twice,
# entry 7 -> 0 differing px, entry 12 -> 0 differing px.
entry what differing px RMSE max|d|
0 loading 0 0.000 0
1 loading 0 0.000 0
2 plate 0 0.000 0
3 plate 0 0.000 0
4 title 0 0.000 0
5 main_menu 0 0.000 0
6 extras 0 0.000 0
7 title_jp 74507 12.409 233 <-- DIFFERS
8 main_menu_jp 0 0.000 0
9 extras_jp 0 0.000 0
10 splash publisher 32842 1.767 35 <-- DIFFERS
11 splash developer 23201 0.942 31 <-- DIFFERS
12 loading (dressed) 49771 10.078 229 <-- DIFFERS
13 splash publisher twin 31708 1.782 35 <-- DIFFERS
14 splash developer twin 23201 0.942 31 <-- DIFFERS
15 loading twin 49771 10.078 229 <-- DIFFERS
7 of 16 bundles differ between the eras; 16-7 are byte-identical.
# MECHANISM, entry 7 (title_jp): exactly ONE element's rest POSITION moves.
# stale 8 ptlogo_eff3.t32 ... rest (108,72)
# fixed 8 ptlogo_eff3.t32 ... rest (98,42)
# ptlogo_eff3.t32 is the element MISSION.md and ui-resting-pose.md already
# name as THE plateau-less rest() discriminator. 74 507 px, RMSE 12.4.
# MECHANISM, entries 10-15: NO rest position changes at all. The rest
# SELECTION moves to a different keyframe which happens to sit at the same
# (x,y) with a different SCALE and ALPHA -- e.g. pgloading_delta.t32 holds
# (120,560) at 0%,0% a=0 / 75%,75% a=128 / 96%,96% a=192. Comparing the
# 'rest (x,y)' column alone says nothing changed; the pixels say otherwise.