Save bed writes into beds/ through the dev server, so it
lands where ?bed= reads it back from. Edit bed opens the
contour editor over the live water — the same toggle as E.
Keys 1–8.
Drag to pan, wheel to zoom, 0 to reset the view. Click the water to drop the rider there. On a touchscreen the camera follows the rider and the lower part of the frame is the pad, so panning is the strip above it.
Tuning is config.json, overridden by the query string.
The seabed format, the boards and the full parameter list are in
README.md.
Angle is degrees off shore‑normal. Moving any of these clears the water.
0° is offshore, up the frame, turning clockwise. Sheen brightens the side of a face the sun lands on, shade darkens the side it does not. Moving any of these does not clear the water.
Amount is how much foam a breaking crest lays down; the fades are how long the falling roller and the settled foam last. Spray scales what the board throws. None of these clear the water.
Deep is what a bottomless cell settles to, sky what a Fresnel
face borrows. The eats are the extinction ratio — what hue depth is,
where turbidity says how much; 1/1/1 darkens without ever going green.
Sheen and shade are under Sun, the wind's ripple under Wind.
None of these clear the water.
Apply writes the block into the running scene of
config.json through the dev server.
Wind is the small-scale ripple the breeze rubs onto the surface
— the texture the glitter sparkles off; 0 is glassy, 0.05 a light
breeze, 0.2 a rough chop. Direction is where it blows toward, degrees
off shore-normal like the swell's angle. Only the shading feels it; nothing
clears the water. Apply writes the scene's own
wind/windDeg into config.json
through the dev server.