A simulated tank of viscous fluid, modeled on a museum exhibit, with a magnetic puck you can grab. Drag the puck gently and the whole tank comes along. Sweep it fast and you cut a thin line that closes behind you. Teams, cities, and products have the same property — the medium sets the pace of the change it can carry. Grab the puck and find the speed limit.
This page started as a phone video of a museum exhibit: a shallow tank of rheoscopic fluid, with a magnetic handle outside the glass dragging a magnetic puck inside it. The fluid is seeded with flat mica flakes that rotate to align with local shear, so wherever the fluid is being worked, it catches the light. The tank is a picture of its own strain field, drawn continuously, for free.
collide — relax toward local equilibrium — then stream — hand the result to the neighbors. Nothing global is ever computed. The eddies are not drawn; they emerge.| From | Input | To |
|---|---|---|
| SETTLED / COASTING | handle touches puck (attract) | CAPTURED |
| CAPTURED | click, finger lifted, or handle leaves | COASTING, or FLUNG if fast |
| any | repel handle comes close | FLUNG |
| FLUNG | impulse decays | COASTING |
| COASTING | drag wins, speed ≈ 0 | SETTLED |
Momentum enters this fluid only through drag, and it spreads only by viscous diffusion — both at rates the fluid sets, not the puck. Below that pace, each stroke entrains the fluid around it, recirculation builds, and after a while the whole tank is turning with you. Above it, extra speed buys nothing but shear in the thin layer against the puck: the wake narrows, the turbulence stays local, and the tank closes behind you as if you had never passed. The coupling readout under the tank makes this visible — watch it fall as you speed up. (Thinner fluid raises the limit: try "nearly water.")
The trade is not special to fluids. A reorg pushed faster than the organization can absorb it, a product pivot ahead of its users, a transit line dropped into a city with no habits for it — the signature is the same: intense local churn, no net flow. The analogy is loose, and this page does not pretend otherwise. But it is the reason the page exists. Viscosity is the physics of a system that will move with you at its pace, or not at all.
Plain JavaScript, no libraries. The lattice is about a quarter of the canvas resolution, stepped three times per frame. Two scalar fields ride on it — the orientation phase, spun by local vorticity, and the shear-energy accumulator — advected semi-Lagrangian style and rendered through an olive-to-white ramp. The puck imposes its velocity on the cells it covers and feels drag from the fluid it stirred, so momentum goes both ways. A ghost handle stirs the tank until you take over, and wanders back if you leave it alone.
Elsewhere in this section, the mutual-information essays and the 3D graph automaton watch structure emerge from simple local rules. This page is their counterpart: what it costs a single agent to move that structure at all.