diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index aea1a7d..82eb3fa 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -254,8 +254,15 @@ authored version can be deleted. * **The GamePart id table** — 29 entries at `.rdata 0x820A1630`, confirmed by the executable's own registration strings. ✅ This is the screen vocabulary; which button reaches which entry is Q4 and is *not* part of it. -* **The logo splash is a screen, not a video.** `logo1`–`logo4` are - manifest-bound with no `.wmv` on the disc. ✅ +* **The logo splash is a screen, not a video, and it renders.** `logo1`–`logo4` + are manifest-bound with no `.wmv` on the disc. ✅ The screen is **two** bundles + in `GP_TITLE.pak`, each shipped twice: entries **10/13** the white + `SQUARE ENIX` publisher logo, entries **11/14** `GAME ARTS`/`SETA`/`studio + anima`. ⚠️ They are **invisible to the default `screen list`/`render`** — + `is_build` rejects them for having no `.rat` child. Pass **`--all`**, which + renumbers `--build`. So the first of the five screens does have a reference + composite. 🟡 No framebuffer capture of the splash exists in this repo, so it + is matched to the running game by description only. * **Sprites carry their own labels.** No font rendering or localisation is needed for this milestone. ✅ — and the localisation is *already baked in*: the Japanese screens are separate builds in the same pak, not a text swap. diff --git a/docs/re/METHOD.md b/docs/re/METHOD.md index 3ef44ed..bc1d39d 100644 --- a/docs/re/METHOD.md +++ b/docs/re/METHOD.md @@ -238,3 +238,9 @@ agent's loop prompt, i.e. nowhere durable. See [`README.md`](README.md) for the wrong state and produced a confident refutation of a live hypothesis. When a transition sets more than one field, read the whole block, not the one store you were looking for. +* **A default filter can hide a whole screen, and the corpus will record it as + absent.** `screen list`/`render` filter on `is_build`, which needs a `.rat` + child; the developer splash has none, so it never appeared — and a page ended up + stating it "cannot be rendered at all". It renders fine under `--all`. When two + pages disagree about whether something exists, run the tool both ways before + believing either. diff --git a/docs/re/REFUTED.md b/docs/re/REFUTED.md index 416841a..62bc6f1 100644 --- a/docs/re/REFUTED.md +++ b/docs/re/REFUTED.md @@ -35,6 +35,11 @@ neighbourhood, not just the line. ## Screens, classes and RTTI +* "the developer splash cannot be rendered by `screen render` at all" → it can, + with **`--all`**. It is only invisible to the *default* listing, which filters on + `is_build`. [`ui-title-build-map.md`](ui-title-build-map.md) +* "the four `GP_TITLE` entries that are not screen builds are unidentified" → they + are the **splash**: 10/13 the `SQUARE ENIX` logo, 11/14 the developer logos. * ~~"the boot title is phase 2 and the attract title is phase 4 state 0, and only phase 2 handles Ⓐ" → refuted~~ — **the REFUTATION is withdrawn.** The test assumed Ⓑ lands in phase 4 state 0; the event-0 block actually sets diff --git a/docs/re/captures/title-builds/splash-entries-rendered.png b/docs/re/captures/title-builds/splash-entries-rendered.png new file mode 100644 index 0000000..6101634 Binary files /dev/null and b/docs/re/captures/title-builds/splash-entries-rendered.png differ diff --git a/docs/re/structures/ui-paint-order-key.md b/docs/re/structures/ui-paint-order-key.md index dc95602..d3107a3 100644 --- a/docs/re/structures/ui-paint-order-key.md +++ b/docs/re/structures/ui-paint-order-key.md @@ -84,10 +84,16 @@ Verified three ways rather than by a green build: ([capture](../captures/mission-select-derived-order.png)). **Found on the way, and worth its own line:** the developer-logo splash bundle -has no `.rat` child, so `ui_layout::is_build` rejects it and the compositor never -sees it. Its measured order is therefore inert in practice, and the splash cannot -be rendered by `screen render` at all. That is a separate gap in what counts as a -"build", not a paint-order question. +has no `.rat` child, so `ui_layout::is_build` rejects it and the **default** +`screen render` never sees it. + +⚠️ **Corrected 2026-08-28:** the sentence that used to end this paragraph — "the +splash cannot be rendered by `screen render` at all" — is **wrong**. It can: +`screen render --all` widens the enumeration past `is_build` and the splash +composites fine, both halves. +[`../ui-title-build-map.md`](../ui-title-build-map.md) has the renders. What is +true is narrower: it is invisible to the *default* listing, so anyone who does not +pass `--all` will conclude it is missing. ## What the change did to the screens that were already verified (2026-08-19) diff --git a/docs/re/ui-title-build-map.md b/docs/re/ui-title-build-map.md index 9a6cf1d..991f5d5 100644 --- a/docs/re/ui-title-build-map.md +++ b/docs/re/ui-title-build-map.md @@ -43,8 +43,8 @@ English versus Japanese**: build 7 is the title art with the katakana subtitle H the two members render **byte-identical PNGs** — the archive still carries two copies, but the artwork does not change with the language. -Pairs F and G are the four entries `screen list` does *not* classify as builds. -They are not identified here. +Pairs F and G are the four entries `screen list` does *not* classify as builds by +default. **They are the developer splash**, and they render — see below. ## The map @@ -63,6 +63,32 @@ Contact sheet of every render: | 9 | the same, Japanese | 🟡 as above | | 10, 11 | the same `DELTASABER` plate as build 0, over a dark circuit-line background | ❔ **not observed running** | +## ✅ The splash — the four "non-build" entries, rendered + +`screen list --all` widens the enumeration to every composable bundle and shows +all **16** entries. The four that the default listing drops are the two halves of +the developer splash, each shipped twice: + +| entry | elements / sprites | what it is | +|---|---|---| +| **10, 13** | 3 / 2 | the white **`SQUARE ENIX`** publisher logo | +| **11, 14** | 7 / 6 | **`GAME ARTS` / `SETA` / `studio anima`** — the developer logos | + +[`splash-entries-rendered.png`](captures/title-builds/splash-entries-rendered.png). +Rendered with `screen render --all --primitives --black`. Entry 11's seven +elements are the three logos, their three `_eff` glows and the +`palogo_eff0.prm` black backdrop — exactly the composition +[`structures/ui-paint-order-key.md`](structures/ui-paint-order-key.md) measured +for the splash. + +The pair matches the milestone-1 description of the running splash from the +emulator work — white `SQUARE ENIX`, then `GAME ARTS`/`SETA`/`studio anima`. +🟡 There is **no framebuffer capture of the splash in this repo** to diff against, +so that correspondence is by description, not by pixels. + +**So the first of the five screens now has a reference composite**, which it did +not before. + **Reach of the two negatives.** Builds 0/1 and 10/11 were looked for in: the whole boot sequence (a 5 s-cadence filmstrip from launch to the title, ~190 s), the title, the main menu, the `EXTRAS` submenu, the `LOAD GAME` slot list, the