Files
systemic-game-design-course/course/10-spellgrid/levels/l7-clay-key.json
T
Lucas WintherandClaude Opus 5.5 570e5d6826 feat: age-aware solver, verify-levels, seven solver-proved SpellGrid levels (l4-l10)
The solver's position key reads stackAt (each tile oldest first). New tool
tools/verify-levels.mjs checks course/10-spellgrid/levels/proofs.json: each
level's shortest solution, and that it exhausts without its idea (neverRule)
or on the naive engine. Levels 4-10, one course idea each, with
test_10_level_N_solution in both tracks, scenarios and Lesson 10's list;
l1 no longer matches l10, and proofs.json is not listed as a level.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 12:22:58 +01:00

44 lines
1.4 KiB
JSON

{
"width": 7,
"height": 7,
"objects": [
{"kind": "text:BABA", "x": 0, "y": 0},
{"kind": "text:IS", "x": 1, "y": 0},
{"kind": "text:YOU", "x": 2, "y": 0},
{"kind": "text:FLAG", "x": 4, "y": 0},
{"kind": "text:IS", "x": 5, "y": 0},
{"kind": "text:WIN", "x": 6, "y": 0},
{"kind": "text:WALL", "x": 0, "y": 1},
{"kind": "text:IS", "x": 1, "y": 1},
{"kind": "text:STOP", "x": 2, "y": 1},
{"kind": "text:SHARD", "x": 4, "y": 1},
{"kind": "text:IS", "x": 5, "y": 1},
{"kind": "text:PUSH", "x": 6, "y": 1},
{"kind": "text:DOOR", "x": 0, "y": 2},
{"kind": "text:IS", "x": 1, "y": 2},
{"kind": "text:SHUT", "x": 2, "y": 2},
{"kind": "text:AND", "x": 3, "y": 2},
{"kind": "text:STOP", "x": 4, "y": 2},
{"kind": "wall", "x": 0, "y": 3},
{"kind": "wall", "x": 1, "y": 3},
{"kind": "wall", "x": 2, "y": 3},
{"kind": "wall", "x": 3, "y": 3},
{"kind": "wall", "x": 4, "y": 3},
{"kind": "wall", "x": 5, "y": 3},
{"kind": "wall", "x": 6, "y": 3},
{"kind": "text:SHARD", "x": 0, "y": 4},
{"kind": "text:IS", "x": 1, "y": 4},
{"kind": "wall", "x": 5, "y": 4},
{"kind": "flag", "x": 6, "y": 4},
{"kind": "text:OPEN", "x": 2, "y": 5},
{"kind": "door", "x": 6, "y": 5},
{"kind": "baba", "x": 1, "y": 6},
{"kind": "wall", "x": 5, "y": 6},
{"kind": "wall", "x": 6, "y": 6}
],
"cards": [
{"card": "Clay Golem", "x": 4, "y": 5}
],
"hand": ["Spark", "Spark"]
}