Fluid Ink
How it works
Suminagashi is the centuries-old art of floating ink on water and lifting the pattern onto paper. This is that idea, simulated in real time: drag across the canvas to set the water moving and watch the ink marble along the currents.
A fluid solver on the GPU
Every frame runs a stable-fluids simulation across the whole canvas — advection, vorticity confinement, and 28 pressure-projection passes — entirely in shaders. The water moves like water because it is solving the same equations water does.
Ink as absorption, not colour
The dye isn’t stored as red-green-blue. It’s stored as how much light each pixel absorbs, then rendered as paper × e^(−absorption). That’s why overlapping drops deepen and blend the way real ink soaks into paper.
Written in raw WebGL2
No game engine, no 3D library — a few hundred lines of TypeScript and GLSL, lazy to this page only. The same instinct for the right tool at the right weight is how we keep the products we ship fast.