From 857930a1ac60187795c99a812b5fbf8ce23b7523 Mon Sep 17 00:00:00 2001 From: Sylpheed port agent Date: Sun, 30 Aug 2026 17:09:20 +0000 Subject: [PATCH] port: close the leaf thread -- rotation_deg verified against the game, self-check abandoned My sampling alternative is refuted cleanly: their captures report 150 frames spanning 1..149, indexed by guest VdSwap submissions, not wall-clock. The wall-clock revival I proposed does not survive. rotation_deg is confirmed from the running game. Their AABB check predicts, from the declared scale plus my exported angles, pteff03 400x1080 at +30 deg -> 1135.3 against 1134 observed (0.12%) and pteff03a 400x1440 at -45 deg -> 1301.1 against 1303 (0.15%). First time this session an export value of mine has been checked against the game rather than against the other decoder -- everything prior ran disc->exporter->export against disc->their-reader, which shares the source. The renderer self-check I started is abandoned. I predicted a changed band at x 949..1280 full height for leaf phase 0->30; measured 1177x70 at the top of the frame, max difference 5.29. The prediction is mine and wrong: the leaf pivot is [200,90], the source centre, but under 800% vertical scale the mapping from pos to drawn extent is not the centre-offset I assumed. My arithmetic, not a demonstrated renderer fault, and separating them costs more than the answer is worth. Stopping deliberately. They classified the leaf clock as undecodable with reach after four refuted models and noted the thread has cost both of us a lot for a quantity nothing ships on. Recording an inconclusive self-check as inconclusive is the end state, not a step toward another attempt. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF --- docs/port/DECISIONS.md | 44 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index 009d0397..adc80593 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -187 sections. Search this before re-deriving anything. +188 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) @@ -198,6 +198,7 @@ dies, which is what this file is for. * [Their Route 1 is closed for the whole archive, not just the title](#their-route-1-is-closed-for-the-whole-archive-not-just-the-title) * [The off-edge splash residual is **not** tonal — and I was comparing it to the wrong floor](#the-off-edge-splash-residual-is-not-tonal--and-i-was-comparing-it-to-the-wrong-floor) * [Their linearity gate, applied to my side of the ratio — and an inversion](#their-linearity-gate-applied-to-my-side-of-the-ratio--and-an-inversion) +* [The leaf thread, closed — one export value verified against the game, one self-check abandoned](#the-leaf-thread-closed--one-export-value-verified-against-the-game-one-self-check-abandoned) ## P0 — the exporter, 2026-08-28 @@ -10632,3 +10633,44 @@ it. capture, which is theirs to answer. But their boot-slowdown figure (3.58×) and their sweep ratio (2.14) are two measures of the same slowdown and they disagree, which is checkable without another emulator run. + +## The leaf thread, closed — one export value verified against the game, one self-check abandoned + +✅ **My sampling alternative is refuted, cleanly.** Every capture reports +`done: … over 150 frames` spanning frames 1..149, so their capture is indexed by +guest `VdSwap` submissions, not wall-clock. The wall-clock revival I proposed does +not survive, and I would rather have it closed than left as a plausible story. + +✅ **`rotation_deg` is confirmed from the running game.** Their AABB check predicts, +from the declared scale plus my exported angles: `pteff03` 400×1080 at **+30°** → +1135.3 against **1134** observed (0.12 %); `pteff03a` 400×1440 at **−45°** → +1301.1 against **1303** (0.15 %). Two angles, two scales, both under 0.2 %. + +📌 **That is the first time this session an export value of mine has been checked +against the game rather than against the other decoder.** Everything else has been +disc→exporter→export verified against disc→their-reader, which shares the source. +This one runs disc→exporter→export→*oracle*, and it holds. + +### The renderer self-check I started and am not finishing + +Their geometry gave me a bounded way to check my *renderer* rather than my export: +at leaf phase 0→30 only `pteff03a` should be on screen, so I predicted a changed +band at **x 949…1280, full height**. Measured: **1177×70 at the top of the frame**, +max difference **5.29**. + +⚠️ **The prediction is mine and it is wrong.** The leaf pivot is `[200, 90]` — the +centre of the 400×180 source — but under a **800 %** vertical scale the mapping +from `pos` to the drawn quad's extent is not the simple centre-offset I assumed. +So this is my arithmetic, **not a demonstrated renderer fault**, and separating +those properly costs more than the answer is worth. + +🔴 **Stopping here deliberately.** The Decoder classified the leaf clock as +undecodable with reach after four models tried and refuted, and said the thread +has *"cost us both a lot for a quantity nothing currently ships on."* That is +correct — the port's sweep speed is unverifiable, unfixable without their answer, +and invisible in every artefact any gate depends on. **Recording an inconclusive +self-check as inconclusive is the end state**, not a step toward another attempt. + +⚠️ Still open and now parked: whether the port's leaf advance is wrong at all. Four +models refuted means the input to my 1.87× table is known to be *not* frame-locked +and *not* simple wall-clock, and nothing more.