Cues
The sound of the staged moments. Four short clips, computed sample by sample in Luau and baked into `.soundClip` assets under `game/stage/clips/` the first time the scene loads.
Cues
The sound of the staged moments. Four short clips, computed sample by sample in Luau and baked into .soundClip assets under game/stage/clips/ the first time the scene loads.
| cue | what it is |
|---|---|
stage_open | 3.2 s. The valley breathing under the opening — a low swell of 55 Hz and its fifth with air over it, and a bronze partial answering as the camera tops out above the shrine. |
stage_beat | 1.9 s. The plate turned to the sun: a struck-metal transient on inharmonic partials, bright and short. |
stage_won | 4.0 s. A warm chord that swells, lifts a fraction in pitch and lets go. |
stage_lost | 4.0 s. A drone that sinks from 98 Hz to two thirds of it and thins out. |
Pure CPU, deterministic, and no network: the moments have a sound whatever else is or is not reachable. All four are mono at 24 kHz, encoded pcm — they are short, and an Opus round trip takes the head off a struck transient — and mixed to sit under the score and the Almanac rather than over them.
local Cues = require("game.stage.Cues")
Cues.ensure() -- bake anything missing; returns kind → identity
Cues.identity("beat") -- "game.stage.clips.stage_beat"
Cues.ensure() skips a clip that already resolves, so it is safe on every load and costs nothing after the first.
Scoped to this part · feeds back into the world's score.