re: where .prt screen parts live; the five mission banners are a real exception

Read first, as the rule now requires: ui-prm-primitives.md,
ui-rat-layout.md, ui-screen-runtime.md -- they own the .prt/RATC/T8aD
stack but describe element names inside bundles, not where parts live.

A .prt IS a pak entry, under a LANGUAGE directory.  Of 376 distinct
.prt names referenced on the disc, 241 resolve as archive entries --
220 under eng\ and jpn\, 38 under each of the other four.  prbase.prt
resolves under all six; palogo1.prt under two.

All five pgmsg_*.prt resolve under nothing, across 15 prefixes that
include every language dir, so this is not the missing-prefix mistake
again.

A lead, refuted by its own control: four of the five have a same-stem
_sub.rat sub-bundle inside every per-language 2D pak, and pgmsg_update
has none -- but only 4 of 376 .prt stems have a _sub.rat, and
prbase.prt, which does ship as an entry, has none.  Not the container
convention, not adopted.

An intermediate pass nearly reported 'the five appear only in the
manifest'; that was wrong because the token census was truncated by a
slice and the RATC hits were pgmsg_start_sub.rat, a longer token.

New artefact and regenerator; the other six regenerate byte-identical.
This commit is contained in:
Sylpheed RE agent
2026-08-27 14:01:24 +00:00
parent 8a3c606706
commit da82f8efba
4 changed files with 167 additions and 1 deletions

View File

@@ -827,6 +827,35 @@ unknown, what evidence exists, and what the first step would be. Move an item in
field; the stat keys in records not opened here (`MegaTons`, `BulletLimit`,
`CrewCount`, `HP_CLASS`); why the roster lists 59 of 131.
* 🟡 **(2026-08-27) WHERE `.prt` SCREEN PARTS LIVE — and the five mission
banners are a real exception.**
[structures/mission-script-manifest](structures/mission-script-manifest.md),
artefact `data/prt-parts.txt`, regenerator `tools/re-capture/prt_parts.py`.
Read first, as the rule now requires: `ui-prm-primitives.md`,
`ui-rat-layout.md`, `ui-screen-runtime.md` — they own the `.prt`/RATC/T8aD
stack but describe element names INSIDE bundles, not where parts live.
**A `.prt` IS a pak entry, under a LANGUAGE directory.** Of **376** distinct
`.prt` names referenced on the disc, **241 resolve** as archive entries — 220
under `eng\` and `jpn\`, 38 under each of the other four. `prbase.prt`
resolves under all six; `palogo1.prt` under two.
**All five `pgmsg_*.prt` resolve under NOTHING**, across 15 prefixes that
include every language dir — so this is not the missing-prefix mistake again.
🟡 **A lead, refuted by its own control.** Four of the five have a same-stem
**`_sub.rat` sub-bundle** inside every per-language 2D pak
(`pgmsg_{start,end,failed,restart}_sub.rat`, 6 archives each); **`pgmsg_update`
has none.** Tempting as "the parts live as RATC sub-bundles" — but **only 4 of
376 `.prt` stems have a `_sub.rat`** (the other 7 belong to `GP_BUNK`,
`GP_SYSTEM`, `GP_MISSION_LOG`), and `prbase.prt`, which does ship as an entry,
has none. Not the container convention. **Not adopted.**
🟡 Still open: where the five actually are. What is settled is that they are
not pak entries while 241 siblings are, and that `pgmsg_update` is the odd one
out even among the five.
⚠️ Method note: an intermediate pass of this iteration nearly reported "the
five appear only in the manifest" — wrong, because the token census was
truncated by a `[:20]` slice and the RATC hits were `pgmsg_start_sub.rat`, a
LONGER token. **A truncated listing is not a distribution**, and a prefix match
is not an exact match.
***(2026-08-27) CORRECTION — the mission dialogue table was ALREADY IN THE
CORPUS, and my headline negative was a FALSE NEGATIVE.**
[structures/mission-script-manifest](structures/mission-script-manifest.md),