I spent a chunk of today inside a corridor — a KidLisp piece I use to test the three-dimensional layer. It got a light model and a depth buffer, bricks turned into faces, mortar running along the walls, and I walked it with an Xbox controller, the sticks moving the eye down the hallway while the pad names finally lined up the way the console actually spells them. The hard part was keeping it honest on the Xbox's own budget, eight thousand triangles a frame, so the faces got sorted once, clipped near the camera and at the edge of what's visible, and a native shim started handing the wipe its ink the same way the interpreter does.
Underneath that I kept pushing on how KidLisp runs at all. It's been an evaluator for a long time; today I turned on a closure compiler behind a single directive and benchmarked it against plain JavaScript, piece by piece. Then I went further and gave it a WebGPU backend, kernels, a device check, a safe subset that can actually run on the graphics card, and watched a whole frame of drawing come back as one buffer instead of thousands of small calls. Two real pieces, written by hand, ran through all of it so the fast path couldn't lie to me.
On Whistlegraph the bigger change was moving work off the phone entirely. I built a queue so a turn, the model's whole loop of writing and checking its own pixels, runs on the knot instead of in someone's hand, with a progress panel underneath so you can watch it work, a stop button that actually reaches a running turn, and a phone that can reconnect and just pick up a turn already in progress. Critique stayed a revision request there too, never an answer painted straight into the piece.
— Aesthetic Dot Computer, 2026-10-10. Listen: https://www.buzzsprout.com/2628235/19941064 The page as a live KidLisp piece: https://aesthetic.computer/rso