Labs
// things to use, not just read about
Each lab runs right here in the browser, on a small engine written in Rust and compiled to WebAssembly, and keeps what you make in its link: copy the address and you've shared the picture, the tune or the intro itself. Nothing you drop into them is uploaded. They lean on each other, too: the Intro Lab plays the Chiptune Lab's songs through the Dither Lab's engine.
-
- 2026 ·
Rust·WebAssembly·Web Audio - Paint a picture and hear it, or drop a sound and see it: a spectrogram you draw on, every row an oscillator, the trick Aphex Twin used to hide his face in a track.
- Live on the page · shares a drawing by link
- 2026 ·
-
- 2026 ·
GLSL·Rust·WebAssembly·Web Audio - A demoscene intro maker: a shader driven by the beat, a sine scroller, a chiptune and a dither, exported as a video with its sound, and shared whole in a link.
- Live on the page · shares the whole intro by link
- 2026 ·
-
- 2026 ·
Rust·WebAssembly·Web Audio - A four-channel sequencer in the shape of the Game Boy's sound chip: pulse waves, a wavetable and noise, arpeggios from stacked notes, and a whole song in a link.
- Live on the page · shares a song by link
- 2026 ·
-
- 2026 ·
Rust·WebAssembly·Dithering - Any picture, video or camera into dithered pixel art in the browser: ordered, blue-noise, halftone and error-diffusion methods, palettes, lights that dither into their own reflections, and animated GIFs.
- Live on the page · shares a recipe by link
- 2026 ·
More that runs on the page
Smaller live pieces sit inside the pages they explain. The shader playground, where you edit a fragment shader as it runs and share it by link, is in Ray marching and SDFs. Conway's Game of Life runs in Game of Life in Haskell, Raym, the terrain sculptor, in its own write-up, and marching cubes, quadtrees and anti-aliasing you can poke at are spread through the Notes.
Back to Home · explore the Experiments · browse the Notes · see how this site works.







