malevich

Gallery

In the browser

The same engine, as wasm: cells beside pixels, and ten million points you can zoom.

The same plots, drawn twice by the engine compiled to WebAssembly. On the left, a cell grid in the ASCII charset, the bottom rung of the ladder, at truecolor. On the right, the device-pixel panel a capable terminal would place, decoded from the iTerm2 protocol bytes the pixel path emits. Below each plate, the Rust and the TypeScript that build it.

The last plate is live: a long line through M4. Wheel to zoom, drag to pan, and watch the clock. A zoom is a domain window, so the reduction re-aggregates to the visible columns on every frame.

Composing figures…

Drawn in the browser by engine 1.24.1. The pixel plate is a PNG from the iTerm2 path. The cell plate is the Ascii charset at truecolor.