From e64965b3f928f53529664c04ca8c931cbe9bf16c Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Fri, 28 Aug 2026 18:24:48 +0000 Subject: [PATCH] re: S1 -- the Ready Room probe is a no-go, and not for the reason the question expected One iteration, as the mission gates it, and no Ready Room work started. The two criteria it named both pass. It is NOT 3D: the corpus already holds a capture of the running screen and it is a flat six-item menu in the same visual language as the title. And unrecoverable paths do not mean unrenderable screens -- content enumeration finds 60 builds in the 1106 entries. What kills it is something the question did not ask. GP_READY_ROOM.pak does not appear to hold the Ready Room's own menu at all. Two signals agree: the four largest builds composite to briefing panels -- a planet readout, unit markers, direction arrows -- and, much harder, the 902 bundles declare 317 distinct element names of which NONE matches any of the six labels on the screen (takeoff, brief, hangar, pilot, option, mission, ready all return nothing). The pak is the briefing / tactical-map content behind the BRIEFINGS item. If this is ever picked up, the first job is finding where the menu lives -- GP_BUNK.pak is the obvious place -- not naming this pak's keys. The probe also reaches back into something already delivered: kind == 0x3002 finds ZERO buttons across all 902 bundles here, while GP_TITLE has 16. 0x3002 is one member of a 0x3000 family with sub-bits, and this pak uses 0x3000/0x3004/0x300c/0x3008. Nothing in the milestone changes -- every screen in scope is GP_TITLE -- but the handoff now says not to ship that equality as a general button test. --- docs/port/HANDOFF.md | 10 +- docs/port/MISSION.md | 2 +- docs/re/INDEX.md | 1 + docs/re/REFUTED.md | 9 ++ .../ready-room-pak-builds.png | Bin 0 -> 31849 bytes docs/re/ready-room-probe.md | 90 ++++++++++++++++++ 6 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 docs/re/captures/ready-room-probe/ready-room-pak-builds.png create mode 100644 docs/re/ready-room-probe.md diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index 0dccc7ab..077218c4 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -37,7 +37,7 @@ authored version can be deleted. | Q8 | menu audio bindings | โ” open | cue table complete, event binding is not | | Q9 | video binding + playback rules | ๐ŸŸก partial | `ADV.wmv` is the boot intro; new-game intro unidentified | | Q10 | music-bank sub-wave roles (intro+loop?) | โœ… answered | **two stems of one performance, played together** โ€” sample-synchronous, equal duration, 32/32 banks. **Concatenating is wrong.** Not a seamless loop either โ€” [`structures/bgm-two-stems.md`](../re/structures/bgm-two-stems.md) | -| S1 | Ready Room go/no-go | โ” open | probe not run | +| S1 | Ready Room go/no-go | โœ… **no-go** | it is 2D and enumerates fine (60 builds), but `GP_READY_ROOM.pak` holds **briefing/tactical-map** content, not the six-button Ready Room menu โ€” [`ready-room-probe.md`](../re/ready-room-probe.md) | ## Already settled โ€” the port can rely on these today @@ -55,7 +55,13 @@ authored version can be deleted. `GP_TUTORIAL`, `GP_OPTIONS`, `GP_MISSION_SELECT` are the likely destinations by name โ€” an inference, not a measurement). * **Buttons are identifiable as data.** Element kind `0x3002` = button, `0x0` = - decoration, `0x10` = primitive. โœ… decoded. + decoration, `0x10` = primitive. โœ… decoded **for the title-side screens**. + โš ๏ธ `0x3002` is one member of a `0x3000` family with sub-bits, and it is not the + only button kind on the disc: `GP_READY_ROOM`'s 902 bundles contain **zero** + `0x3002` and use `0x3000` / `0x3004` / `0x300c` / `0x3008` instead. Nothing in + this milestone changes โ€” every screen in scope is `GP_TITLE` โ€” but do not ship + `kind == 0x3002` as a general button test. + (The kind is the 4th `u32` of the 60-byte declaration entry, at `+40`.) * **Menu order is geometric.** Buttons sorted top-to-bottom by resting Y. This is โœ… correct for a vertical menu and is **not** a decoded neighbour graph โ€” the disc's real navigation structure is unknown, and `opt ` is *not* a focus link diff --git a/docs/port/MISSION.md b/docs/port/MISSION.md index 073a2b9a..5b56e693 100644 --- a/docs/port/MISSION.md +++ b/docs/port/MISSION.md @@ -75,7 +75,7 @@ alongside it. | **Q8** | **Menu audio.** Which BGM per screen; which cue on move / confirm / back / error. The cue table is complete; the event binding is not | Cue names bound to events, with how you established each | | **Q9** | **Video binding.** Which movie is the boot intro vs the new-game intro; whether playback is skippable and what ends it | Named movies plus the playback rules | | **Q10** | **What are a music bank's sub-waves?** `BGM_001.slb` is three sub-waves โ€” 10 KB, 4.47 MB, 4.67 MB โ€” and we currently **concatenate them blindly** into one 347 s track. Two near-equal halves could be intro + loop, or two variations, or two halves of one piece. A menu that loops its music needs to know which | The role of each sub-wave, established for at least the menu BGM. "Concatenate" is a decision, not a default โ€” right now it is a default nobody chose | -| **S1** | **Ready Room probe.** *Gated* โ€” one iteration, then stop | A written go/no-go (see below) | +| **S1** | ~~**Ready Room probe.**~~ **DONE 2026-08-28 โ€” [no-go](../re/ready-room-probe.md).** It is 2D and enumerates fine, but the pak is briefing/tactical-map content, not the Ready Room menu | โœ… go/no-go written | ## Known unknowns โ€” say so, do not fill them in diff --git a/docs/re/INDEX.md b/docs/re/INDEX.md index 7148af91..cd058b7d 100644 --- a/docs/re/INDEX.md +++ b/docs/re/INDEX.md @@ -152,6 +152,7 @@ files, which is how the same ground got covered twice. | [`ui-quad-class-foothold.md`](ui-quad-class-foothold.md) | The guest's UI quad class โ€” a foothold found from the capture's vertex layout | ๐ŸŸก PROBABLE for the identification below (it is a static read, but | | [`menu-navigation-semantics.md`](menu-navigation-semantics.md) | The title menu โ€” how it moves, and where each button goes | โœ… measured: wraps both ends, โ’ท restores focus, โฌ…โžก inert; 4 of 5 destinations driven. ๐ŸŸก GamePart id is a name match, โ” `NEW GAME` untested | | [`screen-transitions.md`](screen-transitions.md) | Between two screens โ€” a fade through black, and where its timing lives | โœ… the fade quad's keyframe group is decoded (disc-wide: per-pak all-or-nothing; `GP_TITLE` = the 6 screens, not the 6 overlays); the ~0.4 s fade-OUT is measured, not on the disc | +| [`ready-room-probe.md`](ready-room-probe.md) | S1 โ€” the Ready Room probe: no-go, and not for the reason expected | โœ… it is 2D and enumerates (60 builds), but the pak is briefing/tactical-map content; and `kind == 0x3002` finds 0 buttons there | | [`ui-title-build-map.md`](ui-title-build-map.md) | Which `GP_TITLE` build is which screen state | โœ… CONFIRMED for title / `PRESS โ’ถ` / main menu / `EXTRAS` against live captures; the archive is 8 screens ร— EN/JP, and "6/8/9 are submenus" is withdrawn | | [`ui-title-paint-order-capture.md`](ui-title-paint-order-capture.md) | The title screen's paint order, measured from the guest's draw submissions | โœ… CONFIRMED โ€” the order in which the running game paints the title | | [`upstream-baseline.md`](upstream-baseline.md) | A stock-upstream baseline runs Stage 02 crash-free | โœ… CONFIRMED โ€” upstream canary_experimental + only the pad | diff --git a/docs/re/REFUTED.md b/docs/re/REFUTED.md index f29e7201..9c707118 100644 --- a/docs/re/REFUTED.md +++ b/docs/re/REFUTED.md @@ -35,6 +35,15 @@ neighbourhood, not just the line. ## Screens, classes and RTTI +* "`GP_READY_ROOM.pak` holds the Ready Room screen" โ†’ its 317 distinct element + names contain **none** of the six visible labels; it is the briefing / + tactical-map content behind the `BRIEFINGS` item. + [`ready-room-probe.md`](ready-room-probe.md) +* "the Ready Room might be 3D with a UI overlay" โ†’ it is **2D**; the pak carries + zero 3D containers. +* "element kind `0x3002` is *the* button kind" โ†’ title-side only. All 902 + `GP_READY_ROOM` bundles have **zero** `0x3002`; that pak uses `0x3000`, + `0x3004`, `0x300c`, `0x3008`. `0x3002` is one member of a `0x3000` family. * "the transition between menu screens is a cut" โ†’ it is a **fade through black**; a 0.5 Hz screenshot burst simply samples too slowly to see it. [`screen-transitions.md`](screen-transitions.md) diff --git a/docs/re/captures/ready-room-probe/ready-room-pak-builds.png b/docs/re/captures/ready-room-probe/ready-room-pak-builds.png new file mode 100644 index 0000000000000000000000000000000000000000..368514e2c79da3af47bb8a2cf0cdb0315cd75c1a GIT binary patch literal 31849 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 p^xeZZfVRuLkpOh~|FTu>L#An