Type a plain-language command. A model interprets it into a structured action, and the action manipulates the objects — in both an SVG layer (clickable shapes) and a canvas layer (animated points). Two engines: the live Claude API when this runs inside the Claude.ai artifact runtime, and a local interpreter everywhere else. Same actions, either way.
{op:"add",color:"#3a6a87",n:6}. Inside the Claude.ai artifact runtime, that's the live Claude API (claude-sonnet-4-6) actually reasoning about your words. Standalone (like opened from a file), it falls back to a local rule interpreter that returns the same shape — so it always works, and lights up the live path when the runtime provides it.