Glossary
Every term the documentation uses, in one place.
Action - one instruction a block stands for: move-forward,
turn-left, turn-right, for, while, if, switch. start is the
synthetic head.
Block - the visual, draggable unit of the program; a rendering of a sequence item.
Block kind - what a map cell is made of: ground, wall, ice,
lava, hole.
Boundary - any place data enters the program from outside (a JSON file,
localStorage, a URL segment, an input), and therefore must be validated.
Builder - the paint-like editor at /build where players make and share
their own levels.
Condition - a question about the path relative to facing:
path-ahead, path-left, path-right.
Container - a block that holds other blocks: for, while, if,
switch.
Cycle - the game's unit of program cost; the weighted model prices containers and loops, the executed model counts real work (bigint).
Default (block) - a starter block seeded by the level's
defaultActions, flagged default: true, undeletable, possibly locked.
Draft - the work in progress in the builder, saved in this browser under
algorithy:builder-draft and restored on the next visit.
Saved level (builder) - the one builder level committed with Save, stored
under algorithy:builder-level. Saving always overwrites it; there is no
gallery.
Drop zone - a place a block can be dropped, addressed as root,
<itemId>, <itemId>:else, <itemId>:branch-<n>.
Ghost - the floating copy of a block that follows the pointer during a drag.
Level - one puzzle: a grid, a player, a target, a palette and an
authored optimum, in LevelN.json.
Locked - movable: false; the item cannot be moved, and inserts clamp
past it.
Look / terrain - the presentation of a block kind, one identifier
(forest, ice, ...) that CSS turns into colour and texture.
Outcome - how a run ends: won, blocked, not-reached, trapped,
infinite-loop.
Palette - the tray of available blocks; doubles as the delete zone.
Passable - walkable by the player. Lava and holes are passable but lethal, which is what makes them traps.
Payload - the encoded byte string that carries a whole shared level in its link: salt, board, metadata and solution, with a checksum.
Playground - the game board: the labelled grid table, the player, the target and the traps.
Sequence - the program, a tree of sequence items starting with start.
Salt - random bytes inside a share payload, fresh for every draft, so saving the same level twice yields different links.
Shared level - a player-made level that travels entirely in its link and
plays at /shared/<payload>, with the creator's name in the header.
Slidable - ice: a move onto it slides to the last consecutive ice cell, stopping on the goal.
Slug - the numeric level identifier used in URLs (/levels/3) and
storage keys.
SPA shell - the static index.html the server returns for non-asset
routes; the client router decides the screen.
Trap - lava or a hole: passable, so path conditions read it as open, but lethal to stand on.
Valibot - the schema library; every boundary is validated with it.
Zone - a container's body (children, elseChildren, a switch branch) or the root, i.e. anywhere blocks can live.
Next: Level builder.