052 · 24 October 2026 · agents · robotics · handheld

Lattice Arena DS

Lattice Arena on a dual-screen handheld: the same programmable arena for LLM robots, watched on a top screen and driven from a touch screen with a D-pad, face buttons, Select and Start.

Previewin your browser
Two Lattice DS handhelds side by side: a light one running the Prompt race with routes on the top screen and robot cards on the bottom, and a dark one running Courier dock

In early access for subscribers until 22 November 2026. Subscribe to run it now.

Subscribe →

The Lattice Arena on a dual-screen handheld. The same programmable arena for LLM robots, with the same script, presets and coach, but the floor is drawn on two small screens: the top one watches the robots, the bottom one is a touch screen with a D-pad and A/B/X/Y, L/R, Select and Start buttons around it.

  • Two screens: the top screen shows one bay, all bays side by side, or a board with the leaderboard, events and Claude calls; Select (or Backspace) switches between them.
  • Touch and buttons: the bottom screen has Robots, Events and Run tabs, switched with L and R, and every button is mapped to the keyboard (arrows, X, Z, S, A, Q, W, Enter).
  • Run settings on the device: speed, bubbles, trails, top-screen mode, how many Claude calls run at once and the call budget, all from the Run tab.
  • Same arena underneath: boards from a seed or by hand, agents built from prompt sections and tools, hooks, forks, rubric scoring, and the coach panel beside the device.
  • Drawn as SVG: both screens are rendered by a small layout engine that lays out every glyph itself from the loaded fonts, so they look the same in every browser.

It shares about half its code with Lattice Arena: the script language, robot runtime, storage, coach and the ten presets (Hello robot, Prompt race, Sim sandbox, Courier dock, Steering and hooks, Custom tools and slots, Coached robot, Fork a counterfactual, Judge panel, GEPA, from parts). What differs is the view: Lattice Arena draws a three.js 3D floor you can orbit, with a plan minimap; the DS version has no three.js and puts everything on the two handheld screens.

Fonts: the screens load IBM Plex Mono (@ibm/plex-mono 1.1.0), Liberation Sans (from pdfjs-dist 4.10.38), Archivo and Archivo SemiExpanded ExtraBold (Omnibus-Type/Archivo on GitHub), Inter (inter-ui 3.19.3) and DejaVu Sans and Sans Mono (dejavu-fonts-ttf 2.37.3) from cdn.jsdelivr.net when the app starts; IBM Plex, Liberation Sans, Archivo and Inter are under the SIL Open Font License, and DejaVu under the Bitstream Vera licence. Text on the screens is laid out with opentype.js.

Attachments