2D flow & field engines
Advection fields with curl noise, metaball surfaces, oscilloscope traces and Gray-Scott reaction grids — all painted per frame at device resolution.
FREEDOM is a browser playground for generative animation — particles, fields, raymarched solids and a voxel globe you can plant things on. Load a preset, push the sliders, break it on purpose: everything you make stays on your machine.
A 2D pipeline built for particles, fields and signal graphics, a WebGL2 pipeline for meshes, raymarched solids and instanced geometry — plus a few toys that exist purely because they're fun.
Advection fields with curl noise, metaball surfaces, oscilloscope traces and Gray-Scott reaction grids — all painted per frame at device resolution.
Spiral point clouds, raymarched SDF sculptures, parametric torus knots and instanced voxel waves. Drag to orbit, wheel to dolly.
Every module exposes typed parameters — ranges, enums, palettes, text. Changes stream to the renderer instantly and can be saved as presets.
Load any image off your device and let Photo rot slice, shred and colour-shift it. It's read straight into memory in this tab — no upload, no server, gone when you close it.
Slice glitch, chroma shift, scanlines and terminal character fields — type your own copy and watch the signal fall apart beautifully.
Capture a PNG still exactly as you see it, stack favourites into the filmstrip under the stage, then pull any frame — and the exact settings behind it — back out.
Fourteen engines ship in the library — 2D fields, signal graphics, 3D solids and one that eats your own pictures. Each loads with a tuned default and a set of named presets.
Drag sliders, switch palettes, paint into the simulation, orbit the camera. The API readout mirrors your exact call, so tuning becomes code.
Hit S to save a PNG straight to your disk, or snap frames into the filmstrip and bring your favourite module + seed + sliders back later.
studio.play()
call printed in the panel — copy it into your project and the defaults follow.studio.play() call with
your seed. Copy it into a sketch and you get the same render. That is the whole API.Open the Studio in your browser — no install, no account. Poke it until something breaks, then keep the frame.