Monorepo for Aesthetic.Computer aesthetic.computer

cancelok: no buttons — swipe, and let attention be the vote master

Your session recorded NOTHING and I didn't notice, which is the worst bug in the thing so far. net.userRequest awaits authorize(), and authorize() never settles when you're logged out — so the POST hung forever, the .catch never fired, and a whole sitting of verdicts vanished. Silently, because I wrote .catch(() => {}). Now: always a plain fetch, token attached only if it arrives within 1.2s, and any verdict the server refuses is COUNTED AND PAINTED ON SCREEN. Never again. The buttons are gone. The pad is the whole screen. Swipe up from the bottom edge for the next one, down from the top edge to go back — thin edge bands, so the instrument keeps its whole face. The verdict is now a side effect of using it: linger or play and it's an ok, flick past in two seconds and it's a cancel. The two signals never left; you just cast them with attention instead of a thumb, and attention was the scarce thing all along. The name shows for a moment and fades, because a label that never leaves stops being read. Sessions are tracked (one id per sitting) and so is REAL fps on the REAL device. That last one matters: the headless gate can only prove a pad runs in a datacenter. A pad that stutters on the machine it's being judged on has already been cancelled by physics, and no amount of taste can save it — GET /api/cancelok/sessions to see where a run went slow. Coming back to a pad is now the strongest keep signal there is, and a revisit can't be undone by the flick that preceded it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>


+285 -296
3 changed files