Monorepo for Aesthetic.Computer aesthetic.computer

Whistlegraph turns, slice 3: pixels, the picture review and the phone's own rules, off the phone master

lith/whistlegraph-render.mjs is a pool of warm headless Chrome tabs holding the runtime the phone paints with. A render hands a tab the candidate, waits for the runtime's painted or invalidated event for that exact source hash, reads its console (a throw after the first paint arrives as a warn line with a stack and is read as a runtime error), and takes four frames over 2.2 s scaled to the reviewer's 384-pixel limit. The same tab rasterizes chalk with the app's own drawingImage. The worker now paint-checks each candidate with validateCandidate, runs the picture review with the chalk image, repairs once if nothing has been repaired, keeps the last painted candidate when a repair breaks the picture, treats an unavailable reviewer as unreviewed rather than a verdict, and records remaining findings as notes. Versions carry acceptance (reviewed, reviewed-with-notes, unreviewed) and their checks. First live run: wgLodaf v2 → v3, painted clean, 34 s.