re: additive blending refuted, the swoosh is not displaced, and the

residual is smaller than I said

Testing the candidate I raised last iteration rather than carrying it.
Blending bit-0x02 sprites additively moves every measure the wrong way --
whole-frame mean diff +0.55 to +1.04, swoosh-band mean +1.83 to +3.98,
band edge-correlation 0.6971 down to 0.5578. So the bit is real and
independent but does not select an additive blend. I reverted the
experiment and kept the word as T8adImage::flags, documented and not
acted on; the render is byte-identical to before.

Second refutation: the swoosh is not displaced. Shifting the band over
plus or minus 80 by 8 pixels peaks sharply at zero, 0.7342, falling to
0.22 at 24 px. So the pivot story is dead twice over -- inert at scale
100, and no displacement to explain anyway.

And I have restated the residual, because earlier sections overstated it.
The +16 to +34 band tiles I quoted were measured WITHOUT --primitives.
With the dim drawn the band's average is nearly right at +1.83; what is
wrong is its structure, tiles running -38.6 then +33.8 and cancelling.
Six candidates eliminated now and none confirmed.

One caveat I owe the port agent about the capture I gave them: it is at
t=4.0s, roughly 174 keyframe units into a screen whose elements have
keyframes out to t=600. I judged "settled" from mean luminance, which
cannot see a thin sprite still moving. It is settled for the bulk of the
screen and not proven settled for every element -- which is a live
alternative explanation for a structural difference in exactly the band
the sweeps cross.

METHOD: cargo build passing does not mean cargo test compiles. Adding the
field built the library in 1.48s and broke two test-only struct literals;
cargo test failed with exit 101.
This commit is contained in:
Sylpheed RE agent
2026-08-28 22:00:55 +00:00
parent e0d02dce71
commit 5d02d5cd60
5 changed files with 82 additions and 5 deletions

View File

@@ -477,10 +477,22 @@ and the texture itself is blue-leaning
mode** is what is left, and this is the only per-sprite field found that
distinguishes the elements involved.
⚠️ **This is a correlation, not a decode.** Nothing here shows the bit *means*
additive. The test: blend bit-`0x02` sprites additively and re-correlate the title
render against
### 🔴 Tested — it does NOT select an additive blend
Blending bit-`0x02` sprites additively and re-correlating against the title
capture moved **every** measure the wrong way:
| | alpha-over | additive |
|---|---|---|
| whole-frame mean diff | **+0.55** | +1.04 |
| swoosh-band mean diff | **+1.83** | +3.98 |
| swoosh-band edge-corr | **0.6971** | 0.5578 |
So the bit is real and independent, but **additive is refuted**. `T8adImage` now
carries the word as `flags`, documented and *not* acted on.
⚠️ **What remains is a correlation, not a decode.** The original test was against
[`../captures/title-builds/live-title-build4-no-plate.png`](../captures/title-builds/live-title-build4-no-plate.png).
Worth noting `ptlogo_back2eff` carries `0x8830` **despite** having `eff` in its
name — so the split is the field's, not a naming pattern's, which is the one thing
that makes it more than a guess.
name — so the split is the field's, not a naming pattern's. What the bit *does*
mean is still unknown.