Add level 9: Merge Keys (special operators) #6

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

door_defaults plus north_door and south_door, each containing a
<<: key whose value is the defaults dict. north overrides locked,
south overrides material. serde_yaml treats << as a literal mapping
key, so the target and a player's <<: *defaults form parse to the
same Value.

Default material/locked and which side overrides which are randomised
per seed (ChaCha8Rng XOR'd with 0x..09).

Not wired into levels::registry() yet — integration belongs to a follow-up.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

`door_defaults` plus `north_door` and `south_door`, each containing a `<<:` key whose value is the defaults dict. north overrides locked, south overrides material. serde_yaml treats `<<` as a literal mapping key, so the target and a player's `<<: *defaults` form parse to the same Value. Default material/locked and which side overrides which are randomised per seed (ChaCha8Rng XOR'd with 0x..09). 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:58:23 +03:00
`door_defaults` plus `north_door` and `south_door`, each containing a
`<<:` key whose value is the defaults dict. north overrides locked,
south overrides material. serde_yaml treats `<<` as a literal mapping
key, so the target and a player's `<<: *defaults` form parse to the
same Value.

Default material/locked and which side overrides which are randomised
per seed (ChaCha8Rng XOR'd with 0x..09).

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:59:51 +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#6