The first procedure runs automatically. Or, like classic Logo, put a call below the last END (e.g. FOO 5 1 .5) and that runs instead — handy for procedures that take inputs. A recursive procedure needs a base case (an IF … THEN STOP) or it runs until the vector cap.
Everything drawn after you open a plate rides that plate, and plates nest — a plate on a plate gives epicyclic motion. Static FD/RT lay down rigid geometry; the program runs once to build a display list, then it is re-drawn every frame at the current time. ⌘/Ctrl + Enter runs.
+ New starts a blank program (examples stay in the menu). Trails stops clearing the screen so moving parts paint their paths. Plates overlays a disc on every moving frame, coloured by kind: spin · move/bob · grow/pulse · wag · hueshift — the tick marks each plate's current heading.
Arithmetic is plain infix. A minus with spaces on both sides is subtraction (:N - 1); a minus tucked against a number is negative (HUESHIFT 0 -40 0 passes −40). No parentheses needed for negative arguments.
⏺ Record grabs a .webm in real time, so under heavy load (e.g. FOO) it drops frames. ⬇ .zip renders every frame at exactly t = frame ÷ fps regardless of how long that takes — a perfectly even frame rate — then ffmpeg assembles them.