Add level 6: Anchors #3

Closed
simonas wants to merge 0 commits from level-6 into master
Owner

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

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>
simonas added 1 commit 2026-05-21 22:55:15 +03:00
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>
simonas closed this pull request 2026-05-21 23:10:13 +03:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: simonas/yamlabyrinth#3