Monorepo for Aesthetic.Computer aesthetic.computer

oskiewar v170: the frame is a program master

The game paints as one program per frame: a Float32Array of scene-level ops (VIEW, FACE, DISC, CAPSULE, TEXT, BOX, LINE, WIPE) handed to the host once, through `frame(buffer, length, strings)`. The host's drawing functions are shadowed at boot into the emitter, so every draw site keeps calling the names it always called; buffered they write an op, immediate they are the old call. A host without `frame` — the console, the test harness — gets the ops executed in the game exactly as before, so the suite is unchanged (167/198) and the console keeps its per-call bindings until its native interpreter lands. Ops are scene-level on purpose: a disc is seven numbers here and a fan in the interpreter, because on the console every typed-array element written from JS costs about a quarter of a host call. `xbox/live/frame-vm.mjs` is the web's interpreter: it fans discs and capsules, scissors faces to a second view's rectangle, dispatches text by font and runs box/line/wipe on the CPU layer, all against the shell's own functions, so the three strata are unchanged. `?frame=off` keeps the per-call path. Five interpreter tests cover order, fans, view scissoring, the flat fallback and decode. A frame of the park is ~35k floats and runs in 1.3 ms of shell time. Allowlists learn frame-vm.mjs (burner, marketing shell, blackbox, preview deploy, iOS bundle). Social preview reburned.