Midwater
A film about the ocean between the light and the floor.
Fig. 01
Film / WebGL
The site for a feature documentary about the ocean’s water column, built as the survey record of one descent.
Research-vessel instrument grammar — an echo-sounder strip chart, depth, pressure, light and temperature readouts, station numbering — frames full-bleed 4K cinema footage. The page is the water, deepening from the surface to 640 metres.
-
Depth is the governing variable.
Background colour, the audio filter, particle density and every readout derive from one scroll-mapped depth in metres, computed from real physics: pressure is 1 + d/10 atmospheres, light falls as e−0.046d, temperature follows a thermocline curve.
CheckAny new readout derives from the depth model. Invented numbers break the instrument’s authority.
-
Two voices only.
Spectral extralight carries the film — the title, station names, narration in italic. Martian Mono carries the instruments — every number, label, date, button and error. A word set in mono is a measurement or a control; a word set in Spectral is the film speaking.
-
One authored signature: the descent itself.
Letterbox bars open as each of six stations takes the viewport, while depth, water colour, marine snow, the strip-chart marker and the audio lowpass all move on the same scroll-derived value in a single animation loop. Each station is 172 viewport-heights tall with a full-height sticky frame.
-
Colour has a job.
Phosphor cyan belongs to the sea and its instruments. Amber belongs to the human layer only: the vessel marker, station ids, the active nav state, every call to action, every error. The two are never swapped.
CheckText on video always sits over a scrim or carries a soft dark shadow.
-
Sound is opt-in, and it remembers.
Web Audio: a surface-waves loop and a deep loop crossfade by depth through one lowpass, 9 kHz at the surface down to 240 Hz at the bottom; station crossings and confirmations fire a synthesized sonar ping. No sound before a user gesture, ever, and the choice persists.
-
Reduced motion removes the whole apparatus.
Autoplay, WebGL, particles, letterboxing and reveal transitions all go. Confirmations settle inline as italic lines with a manifest code — never a toast, never a modal.
- Stations
- 6each 172 viewport-heights, with a full-height sticky frame
- Depth
- 640 mthe floor of the descent, where the water reaches its darkest
- Lowpass
- 9 kHz → 240 Hzthe audio filter, driven by the same depth as everything else
- Light
- e−0.046dthe attenuation curve every readout is computed from