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>
24 lines
695 B
JSON
24 lines
695 B
JSON
{
|
|
"width": 5,
|
|
"height": 5,
|
|
"objects": [
|
|
{"kind": "text:BABA", "x": 0, "y": 0},
|
|
{"kind": "text:IS", "x": 1, "y": 0},
|
|
{"kind": "text:YOU", "x": 2, "y": 0},
|
|
{"kind": "text:WALL", "x": 0, "y": 1},
|
|
{"kind": "text:IS", "x": 1, "y": 1},
|
|
{"kind": "text:STOP", "x": 2, "y": 1},
|
|
{"kind": "wall", "x": 0, "y": 2},
|
|
{"kind": "wall", "x": 1, "y": 2},
|
|
{"kind": "wall", "x": 2, "y": 2},
|
|
{"kind": "wall", "x": 3, "y": 2},
|
|
{"kind": "wall", "x": 4, "y": 2},
|
|
{"kind": "text:SHARD", "x": 0, "y": 3},
|
|
{"kind": "text:IS", "x": 1, "y": 3},
|
|
{"kind": "text:WIN", "x": 3, "y": 3},
|
|
{"kind": "baba", "x": 4, "y": 3}
|
|
],
|
|
"cards": [],
|
|
"hand": ["Graft"]
|
|
}
|