06 — Tags and data contracts
Intent
Section titled “Intent”Gameplay Tag roots and Primary Data Assets before content fill.
Anchors
Section titled “Anchors”- FS §2.3 Tag taxonomy
- FS §20 Data assets
- inventory/data-assets.md
Tag roots (locked in FS — implement in TFACore)
Section titled “Tag roots (locked in FS — implement in TFACore)”Stance, damage channels, vision modes, quality, difficulty, ability trees, ammo bricks, realm/ruleset — use FS taxonomy; do not invent parallel roots.
- FS §20 type list authored (contract)
Historical only (old test project — not on 5.8_terra_demo / pack)
Section titled “Historical only (old test project — not on 5.8_terra_demo / pack)”- TFAWeapons:
UDA_TFA_GunFrames/UDA_TFA_GunPartsC++ contracts + cadence validator - GunFrames CSV as source of truth (~16 Receivers / ~78 Frames) — not in this pack; re-author on remake
- — (no TFAWeapons types on live host yet)
- Remake TFAWeapons + GunFrames CSV on live host (gfp-status · DONE)
- TFACore GameplayTags.ini: done for the FS 2.3 taxonomy (stance, channel, ammo, vision, quality, ruleset;
Config/Tags/TFACoreTags.ini, 2026-11-14). Native tag registration in C++ is not used; code looks tags up by name. Tags for hit / kill messages (for exampleTFA.Combat.KillConfirmed, name still TBD) are not added yet - Cooked DAs for every §20 type (empty rows OK)
- Import re-authored CSV → cooked
UDA_TFA_GunFramesuasset - Fail-closed cook rules (Legendary SetID none, etc.)
Cadence (RPM / charge / draw) is Frame-owned — parts never write cadence (FS-GUN-006/007).