EXP. 002 — FLAT EDITION
This tray needs a GPU that can hold water.
Float-texture rendering isn't available here. What the water would have done is in the notes.
EXP. 002 · Suminagashi, Surveyed
Next tap: deposit · drag: carve
The Lab — EXP. 002 · the ink family, surveyed
A fluid solver, read like a survey instead of an ink tray: contour lines where the flow banks, iron-filing hachures down the slopes, ember pressure lines only while the water moves. Tap to deposit ground, tap again to push it outward, drag to carve.
EXP. 002 — Notes
Underneath is a real fluid solver — the same “stable fluids” method film and games use: a grid of velocities advected each frame, a pressure solve to keep the water incompressible, ink carried along for the ride. The trick is the rendering: the ink field is read as elevation and drawn as a survey — contour lines, hillshade, hachures downhill, and pressure isobars that appear only where the solver's own pressure is actually doing work.
You never see demand move — between channels, between cohorts, between you and a competitor. You see levels: this week's number, last week's number. The flow is invisible until you build the view that shows it, which is the entire job of instrumentation. Same water, two legibilities.
The applied version: prefer views that render the current, not the level — cohort flows, switching diagrams, week-over-week deltas. And steal the isobar rule: mark pressure only where something is moving. Alert on change, not on state.
A tray of water holds a mountain range for a second at a time. Touch it and the cartographer redraws the country under your finger — every ridge a memory of a current, every contour an argument that the invisible was there.
PHYSICS — raw WebGL2 + EXT_color_buffer_float, no libraries, single file · seeded opening (mulberry32) · fixed-dt steps · sim sleeps at stillness (zero idle frames; visibility-gated) · reduced motion = the settled survey as a still, tray untouched · no-float-GL = designed fallback · zero console errors.