024 · 23 October 2026 · shaders · handheld

DS Shader Sketchbook

A notebook of twelve live GLSL sketches for a dual-screen handheld, each with its shader, its JS and the device API that would ship it.

Previewin your browser
Four dual-screen sketches side by side: neon type reading no_shade and on the DS, an ink pond, falling sand crossing the hinge, and glass widgets over a caustic background

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

Subscribe →

A lab notebook of twelve live shader sketches for a dual-screen handheld: two screens, a hinge between them, touch on the bottom only. It asks what Ramon's no_shade (a website drawn pixel by pixel in GLSL) could become on the Lattice DS, and every card runs in the browser with the same shader contract the device would use.

  • One canvas across the hinge: dsCanvas() puts both screens in one coordinate space, so a sunset, a tide or falling sand carries on behind the hinge and comes out on the other screen.
  • Shaders with memory: ping-pong simulations stepped at 60 Hz drive an ink pond you stir with your finger, Game of Life with a radar view, and a falling-sand grid that spans both screens.
  • Type, filters and materials: words become a glowing field texture, palette dithers and halftones run over a finished UI frame, glass cards bend what is behind them, and an old LCD ghosts as the list scrolls.
  • Transitions between pages: ink bloom, tile flip, melt, TV switch-off and pixel dissolve, plus a page that drops through the hinge onto the screen below.
  • Every sketch is open: tabs show its GLSL, the JS frame() that drives it, and the Lattice API call that would ship it. Change the internal resolution (128×96 up to 1024×768) and palette, tweak its sliders, and read the GPU-cycles-per-pixel estimate for the RG DS Plus.

The twelve sketches go from a palette field and a hinge sunset to page transitions and LCD as a material, and a closing section lists ten ideas not built yet, such as hinge pinball and a clamshell fold. Mouse and keyboard stand in for touch, stick and the A, B, X, Y buttons. Unlike Lattice Phantasmagoria, which is a playable set of cartridges and scenes, this is a design notebook: small, separate experiments with their source on show. The sketches have not been run on the device yet.

Attachments