re: the disc ships the unit datasheet's own SCHEMA (and 文字列 was not a placeholder)
This corrects the previous commit. 文字列 is not a developer's leftover: it is one member of a six-word Shift-JIS TYPE vocabulary, and the records carrying it are a machine-readable schema for the unit datasheet. The whole non-ASCII population on the disc is 6 distinct values out of 99328 - 0 of 3496 record names and 0 of 12173 field names - and all six are type words: 文字列 string 366 uses NS_"文字列" NS_ string 12 整数 / 整数値 integer 66 / 6 浮動小数値 floating-point value 504 浮動小数値[0〜1] float in [0,1] 36 990 type-valued fields. So the reader defect noted last time is real but bounded to these six strings, and name_hash re-encodes Latin-1 byte-for-byte, so hashing was never affected. They sit in 15 records x 6 GP_MAIN_GAME_* paks = 90 instances, i.e. 15 records with ONE user. The names are exactly the unit substructure family, and six carry a literal wildcard: Turret_???, Hatch_???, Bridge_???, Thruster_???, ShieldGenerator_???, Versatile_???, and NS_*. ??? is the numeric-suffix wildcard at record AND field level - Turret_??? is the schema for Turret_000..00N, and inside it CannonFrame_??? / MuzzleFrame_??? stand for the numbered slots. Where a field's type is an enumeration the schema holds an EXAMPLE value instead of a type name: Yes for the five booleans, Vessel for Generic.Type (the 43 Craft + 71 Vessel split), Ship_ for the ID prefix convention. Maneuver is the one fully-typed record, 34 of 34. Every ResistanceTo* and every Color_* channel is declared FLOAT[0..1] - normalised by declaration, matching the sampled values in unit-datasheet-static. Generic.NozzleSpec_??? has its own type NS_"文字列" and NS_* is a record, so the nozzle spec is a nested sub-schema. Control separates schema from data cleanly: the _??? records and NS_* exist ONLY as schema, 6 of 6 instances typed, while the eight real substructure names are typed in 6 instances and untyped in the rest - Generic 6 of 3651, the others 6 of 684 each. Turret_??? carries the game's own typo NomalModel beside DamagedModel. This gives the port an authoritative field-type table: types the disc declares, rather than types inferred from sampled values. New artefact with its regenerator: tools/re-capture/datasheet_schema.py -> docs/re/data/datasheet-schema.txt. All fifteen existing artefacts byte-identical.
This commit is contained in:
@@ -6618,3 +6618,34 @@ conventions here are worth testing precisely because they are not all real.
|
||||
⚠️ Controls reproduced: `eff_n0071` declared + used 6× (= one user);
|
||||
`eff_e0033` declared + used 0×. The 318-cell is expected — the LOD family is
|
||||
overwhelmingly *equipment*, which no unit datasheet binds.
|
||||
|
||||
---
|
||||
|
||||
## ✅ 2026-08-28 — the disc ships the unit datasheet's own SCHEMA
|
||||
|
||||
Item (a), and it **corrects the previous entry**: `文字列` is not a developer's
|
||||
placeholder. It is one member of a six-word Shift-JIS *type* vocabulary, and the
|
||||
records holding it are a machine-readable schema. Written up in
|
||||
[unit-datasheet-schema](structures/unit-datasheet-schema.md).
|
||||
|
||||
The whole non-ASCII population is **6 distinct values of 99 328** — 0 of 3 496
|
||||
record names and 0 of 12 173 field names — all Shift-JIS type words: `文字列`
|
||||
(string), `NS_"文字列"`, `整数`/`整数値` (integer), `浮動小数値` (float),
|
||||
`浮動小数値[0〜1]` (float in [0,1]). **990 type-valued fields.** The reader
|
||||
defect is real but bounded to these six strings; `name_hash` re-encodes Latin-1
|
||||
byte-for-byte, so hashing was never affected.
|
||||
|
||||
They sit in **15 records × 6 `GP_MAIN_GAME_*` paks = one user**, named for the
|
||||
substructure family, six of them carrying a literal wildcard: `Turret_???`,
|
||||
`Hatch_???`, `Bridge_???`, `Thruster_???`, `ShieldGenerator_???`,
|
||||
`Versatile_???`, `NS_*`. 🔑 **`???` is the numeric-suffix wildcard** at record
|
||||
*and* field level. Where a field's type is an enum the schema holds an **example
|
||||
value** instead: `Yes` for the five booleans, `Vessel` for `Generic.Type`,
|
||||
`Ship_` for the `ID` prefix. Every `ResistanceTo*` and `Color_*` is declared
|
||||
`FLOAT[0..1]`.
|
||||
|
||||
⚠️ Control: the `_???` records exist ONLY as schema (6 of 6 typed); the eight
|
||||
real names are typed in 6 instances and untyped in the rest (`Generic` 6 of
|
||||
3 651, the others 6 of 684).
|
||||
|
||||
New artefact: `tools/re-capture/datasheet_schema.py` → `docs/re/data/datasheet-schema.txt`.
|
||||
|
||||
Reference in New Issue
Block a user