Commit Graph

2 Commits

Author SHA1 Message Date
Sylpheed port agent
8994ca7c59 port: the 11.5 px was the fit's resolution -- and the lesson inverts
The Decoder closed it by ADDING OBSERVABLES, not by tuning. The vertex buffer
carries positions and colours at the same instant, so all four quantities must
agree on one t: quad A x solves to 357.88 and quad B x to 357.58, both +/-0.12
units, against 355.75 +/-1.54 and 354.09 +/-1.89 from the alphas. Alpha moves
only 0.27-0.33 levels per unit, so one byte of quantisation is worth 1.5-1.9
units -- 6-8 px of sweep at 4 px/unit. That is the whole of the 11.5 px. At
t=357.7 the centres land within 0.70 px and both alphas inside one level.

THE LESSON IS THE EARLIER ONE INVERTED AND IT IS THE HALF WORTH KEEPING.
Checking a wrong rule against alpha made it look confirmed; here the same
insensitivity MANUFACTURED a residual that did not exist. An insensitive quantity
does not merely fail to falsify -- it invents error. Solve on the fastest-moving
field, check the slow one, never the reverse. I was already looking for a pivot
rule to explain 11.5 px when they wrote; there was nothing to find.

REFUTATION ATTEMPT, survived with a nuance: they state the leaf pivot is (200,90)
on a 399x180 sprite, "the pivot is the centre, so rotation displaces it by
nothing". Checked against my export -- pivot [200,90], sprite 399x180, true
centre 199.5,90. It survives, but the sprite is ODD-WIDTH so the pivot is the
centre to within half a pixel rather than exactly. No consequence against their
0.70 px agreement; worth stating because "displaces it by nothing" is the kind of
sentence that later gets leaned on for a sub-pixel claim.

verify-capture now poses the title at t=357.7 rather than 355: RMSE 21.07 ->
20.92, differing 1.82% -> 1.81%. Marginal, and it is the right pose for a stated
reason rather than a better number.

AND ptlogo_eff2 IS WITHHELD FOR A BETTER REASON THAN MINE. I had it on caution
about untested generalisation; the Decoder points out it is on title_jp and
MISSION section 7 scopes out "localisation beyond English", so it is not a
question this port has to answer and the parked Japanese capture does not need
reviving for it. authored/rendering.json now gives scope first and undecidability
second. Widening scope to close a residual would have been the wrong trade.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
2026-08-29 18:25:04 +00:00
Sylpheed port agent
9f6959c7ca port: implement the decoded leaf composition -- and it does not close the 1.82%
The Decoder decoded the rule I refused to guess: draw the leaf on its own
timeline, do NOT multiply the parent's alpha in. Multiplying is refuted rather
than unsupported -- at the fitted time the parent has expired, so leaf x parent
predicts zero for both quads and the sweeps would be invisible. They are drawn.

Implemented: `_draw_leaf` runs the leaf unclamped, like the spinning ring and for
the same reason -- held at its own rest.t the leaf sits at x=1521, entirely off
the right edge, so `holding` would delete the sweeps rather than settle them.

AND IT CHANGES NOTHING MEASURABLE. The title is still 1.82% against the oracle:
1.82 at t=261, 1.81 at t=355, 1.79 at t=420. At t=355 my interpolation puts the
leaf's top-left at x ~ -324, off-screen left, where the Decoder's model puts the
quad's CENTRE at 981. Those cannot both be right, and it is not something to tune
away -- it is a disagreement about how the leaf's keyframes become a placed quad,
most likely in the pivot and the rotation about it. Handed back with both
numbers.

So: the exporter no longer drops the data, the composition rule is implemented as
decoded, and the port's largest oracle gap is exactly where it was. Fixing the
export was necessary and not sufficient.

TWO FLAGGED ELEMENTS DELIBERATELY NOT DRAWN, in authored/rendering.json with
reasons. title_jp/ptlogo_eff2 (parent 125%, leaf 100%) is the same shape and is
the element DECISIONS has recorded since P1 as the largest render disagreement --
but the Decoder said plainly "I have not tested it", and drawing it would extend
a decode past the case it was fitted on. pgloading_loop5's leaf is scale (0,0),
and scale-0 is one of the three historical failures this corpus names.

Neither can be adjudicated here: title_jp has no oracle capture, and
verify-screen compares against a renderer that draws no leaves at all, so ANY
leaf drawing increases that divergence whether right or wrong. Its max went
155 -> 232 when they were drawn, and that number is not evidence in either
direction.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
2026-08-29 18:09:43 +00:00