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:
@@ -204,6 +204,40 @@ HP 42 000 with levels at 25 000 / 10 000 and a lock-on release cycle
|
||||
One record, `Generic`, one field — the **name** `eff_n0071` with an empty value.
|
||||
An effect id and nothing else. Not identified.
|
||||
|
||||
## ✅ Classifying all 277 rows objectively — 53 are data-table schemas (2026-08-27)
|
||||
|
||||
The earlier pass classified by eye and by function. This one is **by row** and
|
||||
uses an objective test: **are the row's names IDXD record/field names on the
|
||||
disc?** (13 450 of those disc-wide.) `name_block_bases.py` now prints it.
|
||||
|
||||
| | rows |
|
||||
|---|---:|
|
||||
| **≥50 % disc names, ≥8 names — a data-table schema** | **53** |
|
||||
| everything else (engine/XDK vocabulary, key lists, noise) | 224 |
|
||||
|
||||
Split against the base-confidence axis: `solved` bases (non-zero low half) split
|
||||
34 / 136, `round` bases 16 / 91 — so **a round base is not the same question as a
|
||||
non-table row**, and both axes are needed.
|
||||
|
||||
✅ The 53 include every loader the corpus already knows, which is the control.
|
||||
❔ **What they also include, still unopened** (each grepped: the noun appears in
|
||||
no `docs/re/` file):
|
||||
|
||||
| row | names | what it looks like |
|
||||
|---|---:|---|
|
||||
| `sub_823BDAA8` r11 | 33 | `rou_e901` + `GN_MainGun_01_MuzC`, `GN_MainGun_02_Muz01…` — the **S16 boss's muzzle/attach frames**, next to the collision table above |
|
||||
| `sub_823BDAA8` r10 | 25 | `Motion_stand`, `Motion_stand_b1`, `Motion_attackA_start`… — **motion names**, the `EnumMotions` family `DefTables` declares |
|
||||
| `sub_82315AE8` r11 | 20 | `InitRotation`, `MaxRotationSpeed`, `RotationAccel`, `MaxVerticalSpeed` — the **`Guardian` record's own fields**, i.e. the S16 boss loader |
|
||||
| `sub_8219E560` r11 | 18 | `Detail_Rank`, `MISSIONS`, `DETAIL_TITLE`, `Detail_Board_Permanent` — the **leaderboard screen** keys |
|
||||
| `sub_825F2CF0` / `sub_825F2F88` r0 | 30 each | `FinalPassBG`, `FinalPassToneRatio`, `FogMin/MaxDistance` — **post-processing**, two functions with the same base |
|
||||
|
||||
⚠️ Four rows that *look* new are not: `sub_82297550`, `sub_822A2F00`,
|
||||
`sub_822A9C18`, `sub_82288028` mix arsenal fields the corpus owns
|
||||
(`ConditionToDevelop`, `WeaponDesc` → [[arsenal-develop-economy]];
|
||||
`SilhouetteModel` → [[arsenal-item-weapon-chain]]) with **literal screen
|
||||
coordinates as strings** — `757,228`, `903,343`, `1092,457` — which is why their
|
||||
disc-overlap sits at 53–70 % rather than ~100 %.
|
||||
|
||||
## ✅ Mining the 277: what the base-solver's index actually contains (2026-08-27)
|
||||
|
||||
277 rows over **190 distinct functions** (a function can read more than one
|
||||
|
||||
Reference in New Issue
Block a user