feat(sim): two-element audio crossfade keyed by scrub fraction

Per plan Task 2. Adds <audio id=aud-b>; blendAudio(lo,frac) mixes the two
adjacent scale soundtracks by knob fraction (element reuse across crossings so
only the genuinely-new scale reloads); restAudio settles a single scale at rest.
Diagnostic readout now reports whichever element is audible.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
BenStullsBets
2026-06-27 15:40:04 -07:00
parent 3dc3e3491f
commit 0548e9a82b
4 changed files with 87 additions and 35 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
Pure-logic JS unit tests (no browser), run with Node's built-in test runner:
node --test simulator/unit/
node --test simulator/unit/*.test.js
`scrub.test.js` covers `simulator/static/scrub.js` — the pure altitude-scrub math
(position→segment, frac→currentTime, audio gains, integer-crossing detection).