Planes draws

A canvas runtime that adds nothing to the language: a program draws by emitting show lines carrying the versioned drawing protocol — every line prefixed draw, thirty-four verbs, OKLCH colour (see the footer) — usually through use draw's helpers rather than assembled by hand, and the page paints them. Input crosses in as a value, not an effect; state crosses the tick boundary through write state to "state.json", one direction. The effect surface beside the canvas is computed, not declared — the same analyser try.html uses, now following use across the module graph too — and it is never hidden.

There are two renderers now, and the program cannot tell which is listening. The canvas below and the SVG the Save button writes walk the same stream through the same module; only what they do with a circle differs. That is what the protocol is for.

arrow keys steer snake while it is playing · click the canvas to give it keyboard focus
SVG and PNG save the frame on screen now. Video records ten seconds.
effect surface — computed, not run:
(loading…)

source (editable — Run/Play use whatever is here):

base: · modules: (none loaded)

output — lines the program showed that were not draw commands, or an error:

(no output yet)