Field record · room 168 / 175

Field guideLight below

A build notebook for a cave where illumination is interface, time is material, and darkness is given room to mean something.

Concept · 168 / 175

Mineral patience

Grotte de Veille is a fictional French show cave built from real speleological ideas: calcite deposition, water-driven cave pearls, hibernation energy budgets and the long lag between rainfall and a subterranean drip. The page avoids panoramic-tour brightness. It asks the visitor to carry a small, warm field of attention through an almost-black world.

The narrative descends from ground level to a terminal ledger at −90 metres. Fixed gallery lamps accumulate as sections enter view, so the cave remains softly awake behind the visitor. Every formation is code—CSS strata, inline SVG mineral columns, gradients, filters and a small canvas of suspended cave dust.

Visual systems

How the cave works

01 · warm cone02 · clear core03 · falloff
  • The headlampaimLamp() in main.js tracks pointer, touch and arrow keys. frame() eases --lamp-x and --lamp-y; three CSS layers form the cone, crosshair and falloff.
  • Remembered gallery lightlightObserver adds .is-lit as each chamber crosses the viewport. Its fixture and warm pool then stay illuminated behind the visitor.
  • The held blackoutbeginBlackout() removes interface and beam. Read fragments return as afterimages; at eight seconds .adapted reveals the science of neural noise.
  • Geologic timeThe press-and-hold control advances one real second per fictional century. frame() expands #calciteGrowth and reports deposition without spawning another loop.
  • Cave-pearl currentsetPearlTarget() maps pointer or touch position to an eddy. Spring-like inertia makes the pearl trail the current while rotation reveals iridescent gradients.
  • Light-core transectsetDraperyScan() maps pointer, touch or arrow keys across #draperyStage. A moving CSS mask exposes laminae and calls out a fictional 13,620 BP drought seam.

All animation shares one requestAnimationFrame loop, pauses when document.hidden, and simplifies under prefers-reduced-motion. Coarse pointers receive a broad beam and tap controls. Every cave image is code—Wing VII supplied no generated assets, so that constraint became the material language.

Palette & type

A narrow spectrum

Absolute black
#050504
Headlamp
#FFDCA0
Limestone
#F1E5CB
Cave pearl
iridescent

Marcellus gives titles the ceremonial calm of carved lettering. Space Mono handles survey depths, chemistry and tour telemetry. Body copy remains Marcellus at generous line height; the contrast stays limestone-on-black, while secondary labels recede without becoming the principal reading colour.

Reproduce this

Prompt for attention

Ask an AI agent for a single dominant interaction that carries the subject’s meaning, not merely its look. Specify the input modes, the fallback and the emotional beat. Then request a real content spine before decoration.

Build a responsive, code-only subterranean museum experience in HTML, CSS and JavaScript. Make the pointer a warm headlamp that reveals an almost-black environment, with keyboard and touch support. Structure a descent through scientifically grounded chambers. Include one brave, timed moment of true darkness, one deliberately slow interaction about geological time, and one inertial object simulation. Use self-hosted characterful type, inline SVG/CSS formations, a single paused-on-hidden animation loop, reduced-motion support, and a styled making-of guide. Keep every interaction functional and every label specific.