re: a .tbm DRAWS -- the TUTORIAL screen captured, and the 'inert' reading refuted
Closes the open second reading in ui-forced-backdrop.md: that a .tbm contributes no pixels, leaving 24 of its 62 deciding verdicts harmless rather than correct. The TUTORIAL screen was reached and captured. It carries a full-screen blue circuit/hex background. GP_TUTORIAL build 0's element 0 is pubase.tbm with pivot (640,360) -- 1280x720, the only full-screen TEXTURED element in the bundle; the one other full-screen element is pueff00.prm, an untextured primitive the colour census puts at pure black. Our render of the same build is the identical layout on pure black, 6.0-6.4 % inked against the game's 99.7 %. The only difference is the background and the only thing it can be is the .tbm. So the 24 .tbm verdicts are correct rather than harmless, and they are load-bearing in the full sense. Reach: one .tbm observed; the class question is settled, the ten other families are not individually seen. Also: screen render is wrong on every screen carrying a .tbm -- it drops the background silently, with no diagnostic. And the identification is worth its own METHOD entry. Two statistical identifiers were built. Masked correlation FAILED its control, picking EXTRAS over the known main menu by 0.004 because the shared background dominates. A high-passed variant PASSED by 1.28x, which is not a margin that licenses identifying an unknown, so it was not used. The screen says TUTORIAL across the top. Ask whether the artefact already states the answer before building a matcher. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
@@ -1510,3 +1510,25 @@ conversation feels like making it and is not.
|
||||
corrections as hits. Every hit needs reading, not just counting — a grep verdict
|
||||
alone sends you to re-fix what is already fixed. That is the price of not deleting
|
||||
the old sentence, and it is worth paying.
|
||||
|
||||
## Look at the picture
|
||||
|
||||
Three iterations went into reaching a submenu, and then two statistical identifiers
|
||||
into deciding *which* submenu it was. The first failed its control (masked
|
||||
correlation picked `EXTRAS` over the known main menu by 0.004 — the shared
|
||||
background dominates). The second passed by **1.28×**, which is not a margin that
|
||||
licenses identifying an unknown.
|
||||
|
||||
**The screen says `TUTORIAL` across the top.** Reading it took one look, and it is
|
||||
the same method the corpus already used for Q4 — *"pressing each one and reading the
|
||||
screen's own title off the framebuffer"*.
|
||||
|
||||
⚠️ **The lesson is not "statistics are bad".** It is that a capture of a *user
|
||||
interface* carries an explicit self-identification, and a correlation coefficient is
|
||||
a worse instrument for reading a word than reading the word. Reaching for a
|
||||
numerical identifier felt more rigorous and was strictly less reliable — and the
|
||||
control is what said so, which is the only reason the weaker number never got used.
|
||||
|
||||
📌 Ask, before building a matcher: **does the artefact already state the answer?**
|
||||
Screens have titles, files have magic, logs have names. A derived statistic is for
|
||||
when nothing states it.
|
||||
|
||||
|
Before Width: | Height: | Size: 820 KiB After Width: | Height: | Size: 820 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 97 KiB |
@@ -1,4 +1,4 @@
|
||||
# 🟡 Does a `.tbm` draw pixels? Still open — but a submenu is now REACHED
|
||||
# ✅ A `.tbm` DRAWS PIXELS — the `TUTORIAL` screen, captured and identified
|
||||
|
||||
**Classification: not an answer.** Recorded per *"do not improvise around a
|
||||
blocker"*, and because the *reason* both runs failed is the same mistake three
|
||||
@@ -79,7 +79,29 @@ a confident wrong answer.
|
||||
|
||||
So two of the three render essentially nothing where the game draws a full screen.
|
||||
|
||||
## 🔴 But which screen this is, is NOT established — and the reason is a method point
|
||||
## ✅ It is `TUTORIAL`, and the screen names itself
|
||||
|
||||
**Read off the framebuffer** — the same method Q4 used to measure all five menu
|
||||
buttons. The capture says `TUTORIAL`, lists `BASIC CONTROLS … BACK`, and carries a
|
||||
**full-screen blue circuit/hex background**.
|
||||
|
||||
`GP_TUTORIAL` build 0's element 0 is **`pubase.tbm`, pivot (640, 360)** — 1280×720,
|
||||
the only full-screen *textured* element in the bundle; the one other full-screen
|
||||
element is `pueff00.prm`, an untextured primitive that the colour census puts at
|
||||
**pure black**. Our render of the same build is the **identical layout on pure
|
||||
black** — 6.0–6.4 % inked against the game's 99.7 %.
|
||||
|
||||
**So a `.tbm` draws, and the "inert" reading in
|
||||
[`ui-forced-backdrop.md`](ui-forced-backdrop.md) is refuted.** Its 24 `.tbm`
|
||||
deciders are correct rather than harmless. ⚠️ One `.tbm` observed; the class question
|
||||
is settled, the ten other families are not individually seen.
|
||||
|
||||
🔴 **And `screen render` is wrong on every screen carrying a `.tbm`** — it drops the
|
||||
background silently.
|
||||
|
||||
## 🔴 The instrument I built for this failed, and reading the screen was better
|
||||
|
||||
**Correlation cannot discriminate when the candidate renders are near-blank.**
|
||||
|
||||
**Correlation cannot discriminate when the candidate renders are near-blank.** An
|
||||
almost-empty image has no structure to correlate against, so all 19 `GP_SAVE_LOAD`
|
||||
@@ -88,6 +110,15 @@ matching statistic is useless against a hypothesis that predicts an empty image*
|
||||
and that is precisely the hypothesis under test. The instrument is disabled by the
|
||||
thing it was brought in to detect.
|
||||
|
||||
🔴 **Two repair attempts, and the honest outcome.** Masking the correlation to the
|
||||
pixels the render *does* ink **failed its control**: asked to identify the known main
|
||||
menu, it picked `EXTRAS` over the menu by **+0.0040** — the shared background
|
||||
dominates. High-passing first **passed** the control but by **1.28×**
|
||||
(+0.0276 against +0.0215), where the port's method on the same class of problem
|
||||
separated by 4.7×. **A control that passes by 1.28× is not a licence to identify an
|
||||
unknown**, so it was not used. Looking at the picture settled in one step what two
|
||||
statistics could not.
|
||||
|
||||
🔴 **And the focus could not be read either.** Against the two labelled menu
|
||||
captures the whole-frame mean absolute difference is **2.52** (NEW GAME) and
|
||||
**2.48** (OPTIONS) — 1.6 % apart, far too weak to call.
|
||||
|
||||
@@ -183,12 +183,39 @@ directly. It cannot be located:
|
||||
capture covers a screen that has one (`GP_SAVE_LOAD`, `GP_BUNK`,
|
||||
`GP_DEBRIEFING_PILOTLOG`), so nothing says whether the game draws any either.
|
||||
|
||||
⚠️ **So a second reading survives and is not excluded**: that a `.tbm` element
|
||||
contributes no pixels, in which case its paint position is *inert* rather than
|
||||
wrong. That would leave the 38 verdicts harmless instead of correct — a different
|
||||
claim with the same consequence. Distinguishing them needs a capture of a screen
|
||||
that carries one, which is behind the Ⓐ fault
|
||||
([`ui-clock-freezes-at-settle.md`](ui-clock-freezes-at-settle.md)).
|
||||
🔴 **REFUTED 2026-08-30 — a `.tbm` DRAWS, and the capture is now in hand.**
|
||||
|
||||
This paragraph used to say a second reading survived: that a `.tbm` contributes no
|
||||
pixels, so its paint position is *inert* rather than wrong, leaving the verdicts
|
||||
harmless instead of correct. **That reading is dead.**
|
||||
|
||||
The `TUTORIAL` screen was reached in the running game and captured
|
||||
([`live-tutorial-screen.png`](../captures/title-builds/live-tutorial-screen.png)).
|
||||
It carries a **full-screen blue circuit/hex background**. `GP_TUTORIAL` build 0 has
|
||||
18 elements, and **element 0 is `pubase.tbm` with pivot (640, 360)** — 1280×720,
|
||||
the only full-screen *textured* element in the bundle. The one other full-screen
|
||||
element is `pueff00.prm`, an untextured primitive, and this page's own colour census
|
||||
says every full-screen `*eff00*` primitive is **pure black**.
|
||||
|
||||
Our render of the same build
|
||||
([committed beside it](../captures/title-builds/render-tutorial-build0-for-comparison.png))
|
||||
is the **identical layout** — same title, same seven items, same footer — on **pure
|
||||
black**: 6.0–6.4 % of the frame inked against the game's 99.7 %. The only difference
|
||||
is the background, and the only thing that can be is the `.tbm`.
|
||||
|
||||
✅ **So the `.tbm` verdicts are CORRECT, not merely harmless.** They are load-bearing
|
||||
in the full sense, and if the alpha-over assumption under this rule ever fails, those
|
||||
24 deciders go with it for real.
|
||||
|
||||
⚠️ **Reach: one `.tbm`, `pubase.tbm`.** The other families —
|
||||
`px_deb_base`, `px_bunk_base`, `pvbase`, `pqbase`, `pnbase`, `pjbgbase2`, `pcbase`,
|
||||
`px_replay_base`, `px_movie_base`, `px_mission_base` — are not individually
|
||||
observed. What is settled is the *class* question this paragraph posed: a `.tbm` is
|
||||
not an element that draws nothing.
|
||||
|
||||
🔴 **And it means `screen render` is WRONG on every screen carrying a `.tbm`** — it
|
||||
omits the background silently, with no diagnostic. That is a limitation of the
|
||||
reference renderer, not of the game.
|
||||
|
||||
## 🔴 Stability is not necessity — 62 of the 80 are DECIDED by this rule (2026-08-30)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user