re: the Phase_1/2/3 block of the settings family -- mostly per stage, not per phase

72 records, 94 distinct field names, 31 in every one (post-processing core, five
Fog*, three ScreenColor*, SpaceSize, five Supply*, UnderCommandSquadron, the
first BGOperate slot).  Optional families sit in clean tiers: Nebura_* and
ColorLayer* in 69/72, DOF_*/UnsharpMask_*/ExposureKey_* in 15/72, FinalPass* in
3/72.

REFUTED: BGOperateFrameCount is NOT the number of BGOperateFrameName_i slots --
36 of 72.  What holds is Count <= slots, 72/72: a fixed slot array with a live
count, the same shape as MessageCount under the 32-slot clamp.

68 of the fields common to all three phases NEVER differ in any of the 24
objects.  The phase block is a per-stage environment block copied three times;
what a phase change is actually for is the backdrop animation (BGOperate*) and
the supply/command squadron assignment.

MapPath is not in this family -- its 87 records per pack are 29 x 3, the
resource manifest's Phase_N.

Also fixed a non-determinism the verify loop caught: most_common() over a set
iteration ordered ties differently per run; now sorted by (-count, name).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
Claude (auto)
2026-08-27 18:50:27 +00:00
parent 26b7728ceb
commit 5f764458cd
5 changed files with 177 additions and 7 deletions

View File

@@ -4623,3 +4623,50 @@ in one object: once for scoring, once for damage.
`UnderCommandSquadron`, `MapPath`) is the largest remaining piece and was not
read. Which object is which stage, beyond `IsBoss16Enable`. `SplinterCell Count
5` is a name and a value only.
---
## ✅🔴 2026-08-27 — the `Phase_1/2/3` block of the settings family
The largest remaining piece of the stage-settings table, now read.
`stage-settings-table.md` extended; `mission_scoring.py` extended; artefact
`data/mission-scoring.txt` grows. Still twelve artefacts.
**Docs checked first.** `stage-definition-table.md` owns `MapPath`/`MapMesh` — in
the **`Stage_SNN`** records, naming `.rgn`/`.col` MiscBin objects; `regn-map-grid.md`
and `stage-mission-tables.md` also carry `MapPath`. `UnderCommandSquadron`,
`BGOperateFrameName`, `SupplyMovie*`, `FinalPassVinetting`, `Nebura_*` and
`ScreenColor*` are owned by **nothing**.
✅ **72 records, 94 distinct field names, 31 in every one** — the post-processing
core, five `Fog*`, three `ScreenColor*`, `SpaceSize`, five `Supply*`,
`UnderCommandSquadron`, and the first `BGOperate` slot. Optional families sit in
clean tiers: `Nebura_*` (12) + `ColorLayer*` + `BGRotateScale` in **69/72**;
`DOF_*` (7), `UnsharpMask_*` (7), `ExposureKey_*` (4) in **15/72**;
`FinalPass*` (11) in **3/72**.
🔴 **Refuted: `BGOperateFrameCount` is NOT the number of `BGOperateFrameName_i`
slots — 36 of 72.** I expected the `Count·k` pattern that pinned the chatter pairs
and the cutscene pages, and it does not hold. What holds is
**`Count ≤ slots` in 72/72**: the slot array is fixed (1, 4 or 5 present) and
`Count` says how many are live — the same shape as `MessageCount` under the
32-slot clamp. Recorded as a refutation because the strong form is the one a port
would naively implement.
✅ **68 of the fields common to all three phases NEVER differ, in any of the 24
objects.** The whole `Nebura_*`, `DOF_*`, `UnsharpMask_*`, `FinalPass*` families,
most fog/colour settings, `SupplySquadron2` and `SupplyRange` are **per stage,
duplicated into all three phase records**. What moves — never in more than 6 of 24
— is `BGOperateFrameName_0` (6), `SupplySquadron1` (5), then `Brightness`,
`BrightPass*`, `ColorLayerA`, `BGOperateFrameCount`, `UnderCommandSquadron`,
`FirstAdaptedLuminance`, `BGOperateFrameName_2` (3 each). **The phase block is a
per-stage environment block copied three times**, and what a phase change is
actually for is the backdrop animation and the supply/command squadron.
⚠️ **`MapPath` is not in this family.** Its 87 records per pack are 29 × 3 — the
**resource** manifest's `Phase_N`, not the settings'. Arithmetic, not assumption:
the settings family is 24 objects, the resource family 29.
🟡 Still open: which settings object is which stage beyond `IsBoss16Enable`;
`SplinterCell Count 5`; what `SpaceSize`, `GlareType` and `Nebura_*` mean
numerically.