Status: AUTHORING LAW / STATIC DOC / RUNTIME PROOF NOT IMPLIED
Evidence class: STATIC_DOC
Scope: designer facades, CSV/TSV authoring, ScriptableObject facades, .h8bin baking, editor windows, validators, hot reload staging, data monolith bridges, and human-readable tuning surfaces.
- First-20 moment: opening route tuning for resource chain, tool interaction, recipe/repair/build action, hazard response, save/load flags, and route-readable UI data.
- Route blocker removed: designers must not hardcode or hand-edit binary route values, and runtime must not parse human-readable data during gameplay.
- Proof class: STATIC_DOC until source schemas, bake reports, binary readback, import evidence, runtime owner proof, and save/load route artifacts exist.
Designers need readable controls. Runtime needs binary, deterministic, unmanaged data. HECTON-8 accepts both only through a strict bridge: human-readable authoring sources bake into validated binary or immutable runtime records, and runtime never parses human-readable tuning files in gameplay hot paths.
Hardcoded tuning values are rejected when the value is expected to change during design. Runtime ScriptableObject mutation is rejected. Requiring designers to edit binary files directly is rejected.
Authoring tools own human-readable source, editor UI, bake commands, validation reports, schema versions, checksums, and generated artifacts. Runtime domains own the actual gameplay truth after validated import.
The bridge is not the owner of gameplay. It prepares data for owners:
data.mdowns runtime DTO shape and alignment;persistence.mdowns save and migration identity;streaming.mdowns payload residency;release.mdowns build/package proof;- domain bibles own whether the data changes gameplay or presentation.
Preferred bridge order:
- CSV/TSV source with schema, version, row ids, and validation report.
- EditorWindow or CustomEditor facade in Editor-only assembly.
- ScriptableObject facade that bakes into unmanaged DTOs.
- Data Monolith or domain
.h8binoutput with header, version, checksum, endian marker, and layout manifest. - Staged hot-reload path that validates into inactive buffers and swaps by generation at a dispatcher phase boundary.
Runtime text parsing is not an authoring bridge. It is a bug unless explicitly isolated as dev/editor diagnostics.
Content bridge outputs are product data, not decoration. AppliedContent, localization, route-card, binding-map, and Data Monolith changes must travel through their importer/exporter/audit route before any runtime or publication-readiness claim. Hand-written markdown or CSV edits alone are authoring changes, not integration proof.
Every authoring source must define:
- source path;
- output path;
- schema version;
- column/field names;
- row id or stable key;
- data type;
- valid range;
- default handling;
- checksum/hash;
- validation command;
- error reporting with row, column, field id, and numeric reason.
Reordered columns must not corrupt data. Missing fields must fail closed or use documented defaults. Numeric overflow, invalid UTF-8, path tricks, duplicate ids, stale hashes, and endian mismatch must be rejected.
Binary outputs must be written safely:
- parse authoring source;
- validate schema and values;
- build DTOs;
- write to temp path;
- read back and validate binary header/checksum/layout;
- atomically replace output;
- write report;
- refresh Unity/import state only after validation.
Direct overwrite of active runtime binary is rejected. Generated output must not silently become runtime-ready without import/boot proof.
Every editor facade must show:
- source path;
- output path;
- schema version;
- row/entry count;
- checksum/hash;
- last validation state;
- last bake time;
- primary DTO byte layout;
- runtime owner;
- build/runtime readiness state;
- errors with actionable row/field details.
Editor UI may allocate. Runtime bridge code may not allocate in hot paths. Reflection is allowed only inside editor validation, not in player runtime.
Hot reload is staged replacement, not live mutation.
Required:
- inactive buffer or staging arena;
- validation before swap;
- generation counter;
- owner-approved swap phase;
- old buffer retirement route;
- typed dirty signal after swap;
- consumer generation check;
- rollback/save impact note.
Forbidden:
- replacing a NativeArray while jobs can read it;
- changing runtime DTO field order without migration and wrapper;
File.ReadAllText,JsonUtility.FromJson, CSV split, or reflection in gameplay hot paths;- ScriptableObject values used as hot runtime truth.
GlobalQualityWeight may scale editor preview resolution, debug overlay density, optional report depth, generated presentation variants, and authoring viewport fidelity.
It must not change production binary schema, runtime DTO layout, save identity, route authority, or deterministic generated truth. Production bakes that affect gameplay truth must be stable for the same source and seed.
Authoring work must provide:
- source file path;
- generated binary or asset path;
- schema version and hash;
- validation report;
- exporter/importer/audit command when the bridge has one;
- DTO layout proof;
- import/bake command or editor menu path;
- runtime owner and DataVault/generation behavior;
- missing/invalid source fallback;
- player-build exclusion proof for editor-only parsers where relevant;
- explicit
PENDING UNITY/PLAYER VERIFICATIONwhen no boot/import proof exists.
Reject authoring work if:
- designers must edit binary files directly;
- runtime parses CSV/JSON/text as normal gameplay path;
- ScriptableObjects mutate runtime truth;
- output writes are not atomic;
- schema drift is silent;
- errors lack row/field detail;
- data lacks runtime owner;
- quality tier changes gameplay data layout;
- generated binary has no checksum/readback validation;
- reports claim runtime readiness from editor-only proof.
Authoring is accepted only when human-readable data bakes deterministically into validated runtime artifacts, runtime hot paths stay binary and allocation-free, schemas are explicit, errors are actionable, and proof separates editor convenience from player-build truth.