feat: build a bounded browser Web Audio engine and sound controls
This commit is contained in:
@@ -1848,7 +1848,7 @@ When all criteria pass, set Milestone 023 to `DONE` and append its execution rec
|
||||
|
||||
## Milestone 024 — Build a bounded browser Web Audio engine and sound controls
|
||||
|
||||
**Status:** `BLOCKED`
|
||||
**Status:** `DONE`
|
||||
**Depends on:** Milestone 023
|
||||
|
||||
### Objective
|
||||
@@ -1946,11 +1946,19 @@ Add browser/unit tests with a fake or instrumented audio context covering at lea
|
||||
|
||||
When all criteria pass, set Milestone 024 to `DONE`, append its execution record, and change Milestone 025 from `BLOCKED` to `READY`. Do not start Milestone 025 in the same task unless explicitly requested.
|
||||
|
||||
### Execution record
|
||||
|
||||
- Date: 2026-08-31
|
||||
- Result: PASS.
|
||||
- Evidence: Added a framework-free `web_audio.js` module with deferred user-gesture activation, one reusable noise buffer, an eight-voice limit with priority replacement, capped master gain and compressor, duplicate-version suppression, page-visibility handling, cancellation/reset cleanup, and a silent unsupported-browser fallback. Added Russian sound on/off, volume, reduced-intensity, and recovery-screen mute controls without changing game transport or role behavior. The ESP32 static-file allowlist now serves `/web_audio.js`; the user confirmed HTTP 200 delivery after the firmware and LittleFS update.
|
||||
- Verification: All ten host suites passed. All six browser suites, including fake/instrumented AudioContext coverage, passed; `node --check data/app.js` and `node --check data/web_audio.js` passed; `git diff --check` passed. Firmware and LittleFS builds passed. Firmware uses 39,604 / 327,680 B RAM (12.1%) and 1,020,956 / 2,097,152 B flash (48.7%). `web_audio.js` is 7,863 B raw and 2,072 B gzip; all compressed browser assets total 24,947 B, within the 250,000 B LittleFS budget.
|
||||
- Next action: Milestone 025 is ready. Do not start Milestone 026 as part of this task.
|
||||
|
||||
---
|
||||
|
||||
## Milestone 025 — Create a large randomized library of playful game sounds and audio combos
|
||||
|
||||
**Status:** `BLOCKED`
|
||||
**Status:** `READY`
|
||||
**Depends on:** Milestone 024
|
||||
|
||||
### Objective
|
||||
|
||||
Reference in New Issue
Block a user