Target structure: a `trap:` dict plus a `rooms:` map where 2-3 rooms all share the same trap. serde_yaml expands aliases on parse, so the emitted target is the inlined form; players using `&anchor` / `*alias` produce the same parsed Value and pass via the semantic short-circuit. Trap properties (type / depth / spikes) and reused rooms are randomised per seed (ChaCha8Rng XOR'd with 0x..06). Not wired into levels::registry() yet — integration belongs to a follow-up. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Languages
Rust
100%
