Two-way coupled air ⇄ droplet ⇄ temperature solver (WebGPU). A fine spray cools the air it rises through; the cooled column sinks and spreads along the floor as an outflow gust.
Art playground — the legacy 2D canvas toy for quick composition: drag water/wind emitters, watch grass and trees sway instantly. No WebGPU, no build step. Sketch layouts there, then reproduce here with real physics.
Wide yard (32 m): click for water spray, Shift+click for air stream.
On touch: double-tap empty canvas for air stream.
Drag emitters to move; drag the ring or handle to aim.
Load the 100 ft tree shake preset and watch flow tracers ride the floor outflow.
Help — controls & physics
Quick start
Load a preset, watch the temperature overlay (blue = cooled sinking air), then try toggling latent heat OFF to see momentum-only updraft.
Click canvas — place water spray
Shift+click — air stream (momentum only)
Double-tap (touch) — air stream on empty canvas
Drag emitter — move; drag ring/handle — aim
Space / Burst — short high-rate spray on selected emitter (or all)
Share → Copy link — bookmark exact setup
Two apps, one yard
1 · Art playground
Drag emitters, tune power/angle, watch grass & trees react instantly. No GPU. Same tree/house layout as this sim.
2 · Physics sim
Toggle Stylized view for the painterly look driven by real velocity fields. Use temperature/humidity overlays to see why things move.
3 · Share & refine
Copy emitter X/Y from Share panel or load a preset. Both apps use the same 32 m yard fractions from sceneData.ts.
Open art playground → for quick experiments, then return here for reproducible downdraft physics.
Overlays
None — scene only (grass, trees, houses)
Velocity — speed magnitude + optional arrows
Temperature — warm spray / cold downdraft (default)
Humidity — moisture field; ground band shows accumulated deposition when enabled
Flow tracers — passive markers riding the wind; enable streaks for paths
Latent heat
When ON, evaporating droplets cool the air (latent heat). Cooled air sinks via virtual-temperature buoyancy → downdraft and floor outflow. When OFF, spray momentum still pushes air up but no cooling → updraft.
Emitters
Water — droplets, humidity, evaporative cooling. Air stream — pure momentum, no mass or latent heat. Use numeric X/Y fields for exact positions (meters). Press Space or Burst for a short high-rate pulse — great with latent heat ON/OFF comparisons.
Try these presets
Presets
Share / reproducibility
Latent heat (evaporative cooling)
ON — evaporative cooling → downdraft
Overlay
Ground moisture layer
Tracer density
Tracer lifetime
Emitters (max 8)
Spray burst
Burst duration
Burst multiplier
World position
—
Type exact meters · ↑↓←→ nudge 0.01 m · Shift+arrows 0.1 m