The 10th FloorThe 10th Floor

Fluid Ink

SUMINAGASHI — INK ON WATER
Drag to let the ink flow
Demo · 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.