Parent: atrinik/classic#332
Outcome
Add an authored, validated content representation for opt-in deterministic visual-variant groups so render-equivalent walls can vary without encoding that choice as a different gameplay archetype.
The first fixture is the existing fwall_sand1a/fwall_sand1b pair. The schema must remain useful to later generated forms/materials and coordinate with #61's stable semantic visual-family catalog rather than deriving identity from paths or face-table order.
Scope
- Define stable visual-family/group IDs, canonical member IDs/order, optional integer weights and authored seed, fixed/automatic mode, and a required complete fallback face.
- Declare the shared wall form/compatibility identity needed to prove members are interchangeable for presentation.
- Extend the canonical content schema, parser/generator, documentation, and validation. Do not hide the contract in unknown free-form object properties even if Classic currently preserves them.
- Validate referenced face existence and compatibility across dimensions, alpha silhouette/anchor,
draw_double, animation/turning, glow, visibility blocking, and gameplay-significant archetype fields.
- Emit deterministic runtime metadata for Classic without changing existing face IDs or deleting the legacy
a/b archetypes.
- Coordinate names/ownership with the reusable recipe generator so one family can later name generated members without a parallel ID system.
Validation cases
- Valid two-member full-wall group using the sand faces.
- Stable order independent of source discovery or packaging order.
- Explicit fixed
a and fixed b representations plus automatic selection.
- Missing face, duplicate member, zero/negative/overflowing weight, unknown version, and missing fallback.
- Same-size but different silhouette/anchor, different dimensions, animation, glow,
draw_double, or gameplay semantics.
Acceptance criteria
Non-goals
- Editing production maps; that is the sand-pilot child.
- Generating new pixel art or extracting templates from flattened PNGs.
- Applying generic variation to arbitrary same-sized faces.
- Replacing the stable identity/catalog work already owned by #61.
Parent: atrinik/classic#332
Outcome
Add an authored, validated content representation for opt-in deterministic visual-variant groups so render-equivalent walls can vary without encoding that choice as a different gameplay archetype.
The first fixture is the existing
fwall_sand1a/fwall_sand1bpair. The schema must remain useful to later generated forms/materials and coordinate with #61's stable semantic visual-family catalog rather than deriving identity from paths or face-table order.Scope
draw_double, animation/turning, glow, visibility blocking, and gameplay-significant archetype fields.a/barchetypes.Validation cases
aand fixedbrepresentations plus automatic selection.draw_double, or gameplay semantics.Acceptance criteria
Non-goals