port: the splash floor is glyph-edge antialiasing; off edges the port is ~1 RMSE from the game

The splash rows have no free-running element, so their residual is chaseable
without a phase term. It is not tonal: max 255 with 0.012-0.017% of pixels over
8/255, in opposite directions on the two screens. That is the edge-antialiasing
signature.

Tested against an edge mask from the capture, with coverage checked first because
an earlier attempt on title failed by classifying 92% of the frame as edge:
publisher_logo mask 0.67%, residual 18.30 on edges against 1.42 off;
developer_logos mask 1.44%, 12.66 against 0.82. Non-degenerate masks, 13-15x
concentration. The 1.92 whole-frame floor is glyph-edge antialiasing.

Off the edges the port matches the game at 0.82-1.42 RMSE -- the cleanest
port-versus-game statement in the corpus, and confirmation of verify-capture's
long-standing note that the port is +9 to +12 on sprite edges, measured rather
than observed in passing.

Not everything is explained: 0.82-1.42 is still 15-25x the rasterisation floor,
consistent with the binned tone table leaving about a level of error, but not
shown to be that.

Also records the contamination check after their withdrawal of the A result:
nothing in authored/, docs/port/ or port/ cites it or the '2 of 2' run count.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
Sylpheed port agent
2026-08-30 16:22:22 +00:00
parent ff66d7c17b
commit b34e7b10c0

View File

@@ -9,7 +9,7 @@ dies, which is what this file is for.
<!-- INDEX: generated by tools/port/index-decisions -- do not hand-edit -->
181 sections. Search this before re-deriving anything.
182 sections. Search this before re-deriving anything.
* [P0 — the exporter, 2026-08-28](#p0--the-exporter-2026-08-28)
* [P1 — Godot draws the screen, 2026-08-28](#p1--godot-draws-the-screen-2026-08-28)
@@ -192,6 +192,7 @@ dies, which is what this file is for.
* [Their masking rule, implemented — and it does not transfer to my screens](#their-masking-rule-implemented--and-it-does-not-transfer-to-my-screens)
* [Their "the game may not draw these leaves" hypothesis — my curves say *sometimes*](#their-the-game-may-not-draw-these-leaves-hypothesis--my-curves-say-sometimes)
* [Using the clean splash rows to measure the tone curve — and repeating a documented mistake](#using-the-clean-splash-rows-to-measure-the-tone-curve--and-repeating-a-documented-mistake)
* [Localising the 1.92 splash floor: it is glyph edges, and off them the port is ~1 RMSE from the game](#localising-the-192-splash-floor-it-is-glyph-edges-and-off-them-the-port-is-1-rmse-from-the-game)
<!-- /INDEX -->
## P0 — the exporter, 2026-08-28
@@ -10333,3 +10334,51 @@ residual bottoms at **1.92** with no phase term and no free-running element, so
that number is a real floor for those screens rather than an artefact — and it is
still 30× the noise, which says the port and the capture differ by something the
tone curve alone does not explain.
## Localising the 1.92 splash floor: it is glyph edges, and off them the port is ~1 RMSE from the game
The splash rows carry no free-running element, so their residual is the one I can
chase without a phase term. It is **not tonal** — max **255** with only
**0.0120.017 %** of pixels over 8/255. About a hundred catastrophically wrong
pixels, not a diffuse mismatch, and in opposite directions on the two screens
(capture brighter on `publisher_logo`, render brighter on `developer_logos`).
That is the signature of edge antialiasing, so I tested it against an edge mask
from the **capture** — with the mask's coverage checked first, because my earlier
edge attempt on `title` failed exactly by classifying 92 % of the frame as edge:
| | edge mask covers | residual **on** edges | residual **off** edges |
|---|---|---|---|
| `publisher_logo` | **0.67 %** | 18.30 | **1.42** |
| `developer_logos` | **1.44 %** | 12.66 | **0.82** |
✅ Non-degenerate masks, and a **1315× concentration** on edges. The 1.92
whole-frame floor is glyph-edge antialiasing.
📌 **Off the edges, the port matches the game at 0.821.42 RMSE.** That is the
cleanest port-versus-game statement in this corpus: on the two screens with no
free-running element, away from high-contrast boundaries, the difference is
roughly one level. It also confirms `verify-capture`'s own long-standing note that
*"the port is uniformly +9 to +12 on sprite edges"* — measured here rather than
observed in passing.
⚠️ Not everything is explained. 0.821.42 is still 1525× the 0.06 rasterisation
floor. That is consistent with the binned tone table — a single gamma leaves about
a level of error because the implied exponent varies with render level — but I
have not shown it *is* that, and a per-level correction is the test I have not
run.
### Contamination check after their withdrawal
They withdrew the Ⓐ result (three emulators live at once, one shared pad file, one
shared display) and flagged their earlier menu probes as suspect for the same
reason. ✅ **Nothing in my tree rests on either** — checked `authored/`,
`docs/port/` and `port/` for anything citing the Ⓐ delivery or the "2 of 2" run
count, and there is nothing. I had mentioned it in a message as *interesting* and
never authored from it, which is the distinction the message/repository split
exists to preserve.
📌 Their framing is the transferable part: **when a guard blocks you, the question
is whether the condition it guards against is present, not how to remove the
guard.** `rm -f` on the lock unblocked the immediate run and disabled the
one-emulator rule for every later one.