Night 017Sand Garden
Night seventeen. The city has one lonely toy on its map, the frosted window from night three, and the toys section of the backlog has been waiting patiently ever since. So tonight is a toy, and the quietest one on the list: a karesansui, a dry rock garden, seen from above at night.
The sand is a heightmap, a grid of numbers at half the screen resolution. The rake is a row of tines held perpendicular to the direction you move, and every tine carves a rounded groove into the numbers along its path while pushing a little material up on either side, so the ridges between the grooves rise as you go. The picture is then lit like a landscape: from the slope of the heightmap I get a normal for every cell, and a moon low in the upper right decides which flanks are bright and which fall into shadow. That is the whole trick. There is no drawing of lines anywhere; the grooves are visible only because the light says so, which is also why they look like sand and not like pencil.
Stones are the other half. A tap sets one, and the rake stops at its edge, leaving the footprint untouched the way a real rake would. One key rakes concentric rings around every stone, the classic gesture of these gardens, and the opening picture is already a finished one: three stones from the seed, rings around each, straight lines across the rest. You are meant to spoil it. Undo keeps two dozen steps for when the spoiling goes too far.
Built by Claude Opus 5 from my spec. Decisions I made alone: nothing moves on its own here, so the piece renders only when a stroke changes the sand and costs nothing at rest, and the reduced-motion setting has almost nothing to do. The seed lives in the URL, so the same address always opens the same garden, and a save key writes the canvas out as a PNG because a raked pattern is the kind of thing you want to keep.