diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index 1116ac72..28b7c449 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -221 sections. Search this before re-deriving anything. +222 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) @@ -232,6 +232,7 @@ dies, which is what this file is for. * [The half-guard they named, tested — and it found a real gap on first use](#the-half-guard-they-named-tested--and-it-found-a-real-gap-on-first-use) * [The ordered pair determines the gap — and nothing declared predicts it](#the-ordered-pair-determines-the-gap--and-nothing-declared-predicts-it) * [The overlay leaf-pin fix, verified live with a negative control](#the-overlay-leaf-pin-fix-verified-live-with-a-negative-control) +* [Their incoming-primitive observation, checked — and a sharpening they can use](#their-incoming-primitive-observation-checked--and-a-sharpening-they-can-use) ## P0 — the exporter, 2026-08-28 @@ -11641,3 +11642,46 @@ tree clean, fix present, and the verification re-run gives the same 105.86. when the robust one is one command away.** Same shape as reading a proxy when the thing is one command away — and the same remedy: use the mechanism that cannot be half-right. + +## Their incoming-primitive observation, checked — and a sharpening they can use + +They offered, *with its counter-example attached rather than fitted*, that the +incoming screen's full-screen primitive is `[255]` where the gap is 0 and `[127]` +where it is 1 — a screen beginning from opaque black needing no blank frame. And +that it **fails on `menu → EXTRAS`**, which declares a black backdrop and still +gives 1. + +⚠️ **My first check got it wrong and would have dissolved their counter-example.** +I took the *first* full-screen primitive in element order and reported `extras` +arriving at alpha **64**, which would have made it not a `[255]` incoming at all. +`extras` has **two** such primitives; I read one and called it the screen's. + +✅ Corrected — and all three `GP_TITLE` screens are identical in this respect: + +| screen | primitives at t=0 | +|---|---| +| `title` | `pteff00`=**255** (paints 24th, last), `pteff02`=64 (paints 5th) | +| `main_menu` | `pteff00`=**255** (paints 16th, last), `pteff02`=64 | +| `extras` | `pteff00`=**255** (paints 18th, last), `pteff02`=64 | + +**Every one opens with an opaque black quad painted on top**, clearing over 12–16 +units. So `extras` does arrive at 255 and their counter-example stands. + +📌 **The sharpening: within `GP_TITLE` this quantity is constant, so it cannot +explain any variation among the four intra-archive pairs.** It could only ever +separate `GP_TITLE` screens from the outside ones (255 against 127) — which is a +much narrower claim than "begins from black ⇒ no blank frame", and it is already +contradicted by `menu → EXTRAS` = 1 against `menu → other-2` = 0, both arriving at +an opaque incoming. + +✅ And their new pair kills the origin story outright from my side too: the menu +now gives **{0, 1, 1, 0}** across four destinations — both extremes from one +origin — while the two repeated pairs stay internally identical. `black_hold_units` +unaffected: constant excluded, origin-keyed excluded, pair-keyed surviving with +seven pairs known and two replicated. + +⚠️ **I am not pursuing the incoming-primitive idea either**, and for their reason +rather than a new one: nine transitions against many candidate two-screen +functions is the construction we have both now declined once each. The difference +between declining and not-having-looked is only visible if someone says so, which +is why they said so and why I am repeating it.