authored/rendering.json justified not drawing build_12,15/pgloading_loop5 with 'leaf scale (0,0)'. That describes t=0 and t=30 and nothing after. The leaf holds pgloading_ring, scale ramping 0 -> 250 -> 800 -> 1000 with alpha full at t=55 -- an expanding fading ring, visible at scale 140 alpha 143 at the port's own pose instant near t=44. Withholding it declines to draw SOMETHING. Still withheld, on the reason already in the file: no oracle capture for a loading screen and verify-screen's reference draws no leaves, so the content is unadjudicable. Behaviour unchanged at 59530 px. The two entries in that list were written to different standards -- ptlogo_eff2 gets four paragraphs working through both readings, pgloading_loop5 got one false line. The difference is that one was interesting and one was a loading screen. Also verifies the measurement in the same paragraph: 'max went 155 -> 232 when drawn' reproduces at 231, differing pixels 20498 -> 58313. The file's numbers were sound and its reasoning was not, in adjacent sentences. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
105 lines
5.7 KiB
JSON
105 lines
5.7 KiB
JSON
{
|
|
"format": "sylpheed.rendering/1",
|
|
"_": [
|
|
"WHICH decoded rules the runtime applies where. AUTHORED because it is a",
|
|
"choice about the REACH of somebody else's decode, not about the disc.",
|
|
"Delete an entry the day the decode covers the case outright.",
|
|
"",
|
|
"The exporter flags `leaf_carries_geometry` on 15 elements -- those whose",
|
|
"nested `.rat` leaf declares a scale or rotation the parent does not. That",
|
|
"flag is a CENSUS FACT and it is emitted for all 15. What is DECODED is",
|
|
"narrower: the Decoder fitted the game's own composed alpha (per-draw vertex",
|
|
"colours C3FFFFFF / B6FFFFFF = 195 and 182) against the ptloop leaves and got",
|
|
"one consistent time, then PREDICTED the quad centres to ~11 px. That covers",
|
|
"`ptloop01` and `ptloop02` and nothing else."
|
|
],
|
|
"draw_leaf_for": [
|
|
"ptloop01",
|
|
"ptloop02"
|
|
],
|
|
"draw_leaf_why": [
|
|
"The two the decode covers. `docs/re/structures/ui-leaf-vs-parent-alpha.md`.",
|
|
"",
|
|
"NOT DRAWN, though the exporter flags them and ships their data:",
|
|
"",
|
|
" `title_jp/ptlogo_eff2` -- OUT OF SCOPE, which is a better reason than",
|
|
" the caution this entry first gave. MISSION section 7 scopes out",
|
|
" 'localisation beyond English', and this element exists only on the",
|
|
" Japanese title. So it is not a thing the menu port has to answer, and the",
|
|
" parked Japanese-locale capture does not need reviving on its account --",
|
|
" that is the human's call and not something either agent widens quietly.",
|
|
"",
|
|
" It is ALSO undecidable here even if it were in scope. Its 125% is a POP,",
|
|
" not a steady scale: scale-0 -> 125% -> scale-0 between t=50 and t=107,",
|
|
" about 0.95 s. The leaf draws at 100%, as two superimposed copies at alpha",
|
|
" 160 and 80, each rotating 360 degrees over 960 units -- 16 s a turn. If",
|
|
" parent scale gates the leaf it is a 0.95 s flash; if the leaf runs free it",
|
|
" spins for 16 s. Nothing on the disc chooses and title_jp has no oracle",
|
|
" capture.",
|
|
" `build_12,15/pgloading_loop5` -- STILL NOT DRAWN, but the reason given here",
|
|
" was WRONG and is replaced. It read \"leaf scale (0,0). A zero scale is one of",
|
|
" the three historical failures this corpus names\" -- which describes t=0 and",
|
|
" t=30 and nothing after them.",
|
|
"",
|
|
" What the leaf actually holds, read out of the export: ONE element,",
|
|
" `pgloading_ring`, with a sprite, whose scale ramps 0 -> 250 -> 800 -> 1000",
|
|
" while its alpha rises to full at t=55 and falls to nothing by t=130. An",
|
|
" expanding, fading ring -- a loading pulse, not a degenerate record.",
|
|
"",
|
|
" 🔴 And it is VISIBLE at the instant this port poses. `build_12`'s settle",
|
|
" window is [40, 48], so the pose lands near t=44, where the ring interpolates",
|
|
" to scale 140 at alpha 143. So withholding it is not declining to draw",
|
|
" nothing; it is declining to draw something, and the old reason hid that.",
|
|
"",
|
|
" It stays withheld on the reason below, which is the one that always applied:",
|
|
" there is no way to adjudicate it here. The loading screens have no oracle",
|
|
" capture -- the RE agent records them as not reachable from the title path --",
|
|
" and `verify-screen` compares against a renderer that draws no leaves at all.",
|
|
" Drawing it would put unadjudicable content on a screen, which is the same",
|
|
" test `ptlogo_eff2` fails.",
|
|
"",
|
|
"AND THERE IS NO WAY TO ADJUDICATE EITHER HERE. `title_jp` has no oracle",
|
|
"capture, and `verify-screen` compares against `sylpheed-cli`, which does not",
|
|
"draw leaves at all -- so ANY leaf drawing increases that divergence whether",
|
|
"it is right or wrong. Its max went 155 -> 232 when they were drawn, and that",
|
|
"number is not evidence in either direction.",
|
|
"",
|
|
"What deletes this list: a decode covering those cases, or an oracle capture",
|
|
"of title_jp."
|
|
],
|
|
"loop_leaf_on_screens": [
|
|
"title"
|
|
],
|
|
"loop_leaf_why": [
|
|
"WHICH screens replay a leaf's group instead of letting it run once and park.",
|
|
"MEASURED on the title, UNRESOLVED on the menus, so it is scoped to the title.",
|
|
"",
|
|
"The disc gives one pass: ptloop01's leaf runs t=0..600 and ptloop02's t=0..720,",
|
|
"each ending parked off-screen at x=1521 / -839. The port ran them once.",
|
|
"",
|
|
"THE ORACLE SAYS THEY LOOP ON THE TITLE. Across two title dwells the sweep quad",
|
|
"oscillates over its whole x range and resets hard to the same start value --",
|
|
"one reset inside the first dwell, two inside the second. A run-once-and-park",
|
|
"shows one traverse and then a constant x.",
|
|
"",
|
|
"🔴 THE LOOP-LENGTH FIELD CANNOT SETTLE THIS, and I had hoped it would.",
|
|
"`ptloop01` declares 600 with keyframes to exactly 600; `ptloop02` declares 720",
|
|
"to 720. SLACK ZERO -- and 'loops at 600' and 'runs once for 600 and stops'",
|
|
"write the identical header. 92.3% of records on the disc are in that state, so",
|
|
"the field discriminates loop length only where there IS slack, as the plate's",
|
|
"105-in-120 had.",
|
|
"",
|
|
"⚠️ THE MENUS ARE NOT COVERED, on purpose. Both declare the same 600/720, so",
|
|
"nothing on the disc distinguishes them -- but the oracle measurement is of the",
|
|
"title, and my own weak evidence points the other way for the menu: sweeping the",
|
|
"phase against live-main-menu.png, the port matches best with the sweeps",
|
|
"OFF-SCREEN (0.061%) and three times worse mid-screen (0.183%). If they looped",
|
|
"with a 600-unit period the sweep is on screen for roughly 73% of the cycle, so",
|
|
"a capture showing none is not nothing -- but it is one capture, and 'best",
|
|
"match' is a weak instrument for an absence. Two weak signals in opposite",
|
|
"directions is a reason to scope, not to pick.",
|
|
"",
|
|
"What settles the menu: a direct capture of it, which the Decoder has offered."
|
|
]
|
|
}
|