re: all 277 base-solver rows classified objectively; 53 are data-table schemas
name_block_bases.py extended with a per-row data-table test; artefact +57/-0, byte-identical across two runs (now ~2 min 12 s -- it adds a disc-wide pak scan). The test is objective, not by eye: a row is a data-table schema if its names are IDXD record/field names on the disc (13450 such names disc-wide). 53 of 277 rows are >=50 % disc names with >=8 names; the other 224 are engine/XDK vocabulary, compiled key lists, or noise. The two axes are independent: against base confidence, solved bases split 34 table / 136 not, round bases 16 / 91. "Round base" and "not a table" are different questions. The 53 contain every loader already known -- that is the control. Five rows in the 53 are unowned, each noun grepped and appearing in no docs/re/ file: sub_823BDAA8 r11 (33) = the S16 boss's muzzle/attach frames (GN_MainGun_*_Muz*); sub_823BDAA8 r10 (25) = motion names (Motion_stand, Motion_attackA_start), the EnumMotions family DefTables declares; sub_82315AE8 r11 (20) = the Guardian record's own fields, i.e. the S16 boss loader; sub_8219E560 r11 (18) = the leaderboard screen keys; sub_825F2CF0 + sub_825F2F88 r0 (30 each, same base) = post-processing (FinalPassBG, FogMin/MaxDistance). Four rows that look new are not, and their disc-overlap says so -- 53-70 % rather than ~100 %, because they mix arsenal fields the corpus owns (ConditionToDevelop, WeaponDesc, SilhouetteModel) with literal screen coordinates as strings. Not settled: none of the five was opened -- this iteration produced the shortlist, not the findings. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
@@ -5339,3 +5339,47 @@ with no mesh, and the one gear mesh carries three gear names.
|
||||
`CollisionSet` library (its 18 blobs are byte-identical, so a name join was not
|
||||
attempted); why `Body01` has no mesh; and none of the shader slots was traced to
|
||||
a shipped shader.
|
||||
|
||||
---
|
||||
|
||||
## ✅ 2026-08-27 — all 277 base-solver rows classified objectively; 53 are data-table schemas
|
||||
|
||||
Item (a). `name_block_bases.py` extended with a per-row data-table test; artefact
|
||||
**+57/−0**, byte-identical across two runs (~2 min 12 s now — it adds a disc-wide
|
||||
pak scan).
|
||||
|
||||
🔑 **The test is objective, not by eye:** a row is a *data-table schema* if its
|
||||
names are **IDXD record/field names on the disc** (13 450 such names disc-wide).
|
||||
**53 of 277 rows** are ≥50 % disc names with ≥8 names; the other 224 are engine
|
||||
/ XDK vocabulary, compiled key lists, or noise.
|
||||
|
||||
⚠️ **The two axes are independent.** Against base confidence: `solved` bases
|
||||
split 34 table / 136 not, `round` bases 16 / 91. So "round base" and "not a
|
||||
table" are different questions — the earlier round-base warning was about
|
||||
*where* the base is, this is about *what the names are*.
|
||||
|
||||
✅ The 53 contain every loader already known (the control): unit definitions,
|
||||
stage settings, `PlayerParams`, hangar, `AIParams`, the weapon datasheet, the
|
||||
`PG*` roster, the three screen key lists.
|
||||
|
||||
❔ **Five rows in the 53 are unowned — each noun grepped, appearing in no
|
||||
`docs/re/` file:**
|
||||
* `sub_823BDAA8` r11 (33) — `rou_e901` + `GN_MainGun_01_MuzC`, `GN_MainGun_02_Muz01…`:
|
||||
the **S16 boss's muzzle/attach frames**, sitting beside the collision table.
|
||||
* `sub_823BDAA8` r10 (25) — `Motion_stand`, `Motion_stand_b1`, `Motion_attackA_start`…:
|
||||
**motion names**, the `EnumMotions` family that `DefTables` declares.
|
||||
* `sub_82315AE8` r11 (20) — `InitRotation`, `MaxRotationSpeed`, `RotationAccel`,
|
||||
`MaxVerticalSpeed`: the **`Guardian` record's own fields** — the S16 boss loader.
|
||||
* `sub_8219E560` r11 (18) — `Detail_Rank`, `MISSIONS`, `Detail_Board_Permanent`:
|
||||
the **leaderboard screen** keys.
|
||||
* `sub_825F2CF0` + `sub_825F2F88` r0 (30 each, same base) — `FinalPassBG`,
|
||||
`FinalPassToneRatio`, `FogMin/MaxDistance`: **post-processing**.
|
||||
|
||||
⚠️ **Four rows that look new are not**, and their disc-overlap says so: 53–70 %
|
||||
rather than ~100 %, because they mix arsenal fields the corpus owns
|
||||
(`ConditionToDevelop`, `WeaponDesc`, `SilhouetteModel`) with **literal screen
|
||||
coordinates as strings** (`757,228`, `903,343`, `1092,457`).
|
||||
|
||||
🟡 Not settled: none of the five was opened — this iteration produced the
|
||||
shortlist, not the findings. The 224 non-table rows were not partitioned further
|
||||
(XDK vs game engine vs noise).
|
||||
|
||||
Reference in New Issue
Block a user