4b1d3afe7b59a6afc0ab73ba0780cd503032e6e8
Operator: audio turned off sometimes after landing on a new altitude. Root cause: fadeVolume started a setInterval ramp that was never cancelled. When restAudio faded the idle element to 0 and — within FADE_MS — that same element became the newly-landed ACTIVE scale (assignElements reuses an element per soundtrack url), the stale fade-to-0 kept running and dragged the now-active element back to silence. Fix: cancelFade() supersedes any in-flight fade when a new fade starts (fadeVolume) or a direct volume is set (ensurePlaying). E2E proves a new fade supersedes a stale one (fails without the fix). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
Python
54.9%
JavaScript
22%
HTML
10%
TypeScript
8.3%
CSS
2.6%
Other
2.1%