diff --git a/docs/port/BLOCKED.md b/docs/port/BLOCKED.md index 46ff767f..64fbf14b 100644 --- a/docs/port/BLOCKED.md +++ b/docs/port/BLOCKED.md @@ -811,7 +811,7 @@ detector could see? If the latter, what is the first-paint time? I am not authoring a delay to close this - a `2.13 s` authored delay in this same block was already refuted once by arithmetic. -### A capture of the Japanese title (`GP_TITLE` build 7) +### ~~A capture of the Japanese title (`GP_TITLE` build 7)~~ — DELIVERED 2026-08-30, and it went against the port **Derived from Decoder `daf8f47`.** diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index e0736608..decfde5a 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -8568,3 +8568,60 @@ Japanese title in the corpus, and this script's own header is explicit that agreement with the reference is not correctness and a `DIFFERS` is not automatically the port's fault. Guessing a direction here is precisely the move the mission forbids. Asked, not resolved. + +## The JP title capture adjudicates `title_jp` — and it goes against the port + +The Decoder captured the Japanese title at rest (`310bf86`) and deliberately did +**not** compare it to either renderer, so that my diff and theirs stay +independent. This is the oracle for the block I could not adjudicate. + +### Aligning it, because the last capture's geometry did not transfer + +Their submenu capture had the game surface at y=45 in a 1280×720 frame. I did not +assume that here — I recovered the alignment by row/column profile correlation, +with the English pair as a control: + +| | dy | dx | +|---|---|---| +| **control** — English capture (1279×675) vs port | **0** (r 0.994) | **0** (r 0.977) | +| JP capture (1280×720) vs port | **−45** (r 0.927) | −1 | + +✅ The control lands on (0,0) as it must, and the JP offset comes out at their +stated 45 **as a measurement rather than an inheritance**. My first look at the +frame said "no letterbox, content spans all 720 rows" — true, and irrelevant: the +surface is offset inside content that extends past it. + +### The instrument is fair, and then the verdict + +Comparing the capture against **both** renderers in the disputed 350×396 block at +(405,74), and against a control strip where the two renderers agree: + +| region | vs port | vs reference | closer | +|---|---|---|---| +| **control strip** | r +0.9751 | r +0.9756 | tie — ✅ instrument is fair | +| **disputed block** | r +0.7462 | **r +0.8727** | **REFERENCE** | + +🔴 **The port moved, and it moved away from the game.** The verdict is stable +under gamma compensation at both measured title gammas (raw / 1.34 / 1.49 → +reference every time), so it is not an artefact of the known capture gamma floor. +The port puts light on **25.6 %** of the block that the capture does not have, +against the reference's 15.9 % — it is drawing too much, not too little. + +⚠️ **This is the opposite of what I expected.** The Decoder's description — a +crystalline burst behind the wordmark, the `ptlogo3a/b/c` + `ptlogo_back2eff*` +stack that English holds transparent at rest — reads as confirmation that the +port's extra layers are right. They are not: the burst is there, and the port +draws *more* of it than the game does. **A qualitative match on "is the effect +present" was about to stand in for a measurement of how much.** + +### What is not settled: which change did it + +Both renderers draw this screen at `rest`, t=10 units, so the settle-window logic +is not in play — the two decoders disagree about the **rest pose of the JP effect +stack itself**. Four commits this session touched that path (the forced-backdrop +rule, per-instant coverage, the looping record, the sweep/hold work) and I have +not bisected them. Naming one now would be a guess dressed as a cause. + +📌 What this does settle: `title_jp`'s `DIFFERS` is **the port's**, not the +reference's. That reverses this script's usual presumption, and it is the first +row in the baseline whose direction has ever been established against a capture.