LED Sculpture generative pixel studio · 1:1, no scaling, ever ← haus-design

Viewport — nearest-neighbour only

Panel build

panel / artwork
effective pitch
physical size
LED fill (linear / area)
gap between LEDs
modules / HUB75 chain
peak draw (all white)
PSU to buy
DMA buffer @11-bit, 2×
MatrixPortal S3 verdict

Export — paste into Registry.h


    
Ramps are sampled NEAREST, never interpolated — the hard 16-step banding is the aesthetic, not a limitation. Click a swatch to edit it.

      
Nothing curated yet. Find a seed you like in Explore, name it, and hit Add to collection.


        
Getting this onto the sculpture
There is no upload button here on purpose — this page is static, with no backend and no credentials, so it cannot write to your site. The handoff is a file:

1. Download playlist.json above.
2. Drop it into alphaflow-web/public/sculpture/, replacing the one there.
3. Commit and push. Netlify redeploys in about a minute.
4. The sculpture re-fetches on its own schedule (every 6 h by default), or immediately at power-on.

A piece is 16 bytes, so the whole collection is about a kilobyte — the panel goes dark for roughly two seconds while its radio is up, then comes back on the new collection.

Fidelity

The RNG is a bit-exact port of the firmware's xoshiro128**, verified against reference vectors from the C++ build. A seed found here reproduces on the panel.

Exact parity (integer-only): CyclicCA, Truchet, Bayer, Life.
Slow drift (float): Plasma, FlowField, Rain, Isometric, Rings, Tunnel — JS uses doubles, the ESP32 uses float. They start identical and diverge over thousands of frames. Recognisably the same piece; not bit-identical.