summaryrefslogtreecommitdiff
path: root/TODO.md
diff options
context:
space:
mode:
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
index 3a27d01..83f6d35 100644
--- a/TODO.md
+++ b/TODO.md
@@ -2,6 +2,25 @@
This file tracks prioritized tasks with detailed attack plans.
+## Recently Completed (February 7, 2026)
+
+- [x] **Audio Peak Measurement & Test Coverage Improvements** (February 7, 2026)
+ - [x] **Real-Time Peak Fix**: Fixed critical audio-visual sync bug where visual effects triggered ~400ms before audio was heard
+ - Root cause: Peak measured at ring buffer write time (synth_render) instead of playback time (audio callback)
+ - Solution: Added `get_realtime_peak()` to AudioBackend interface, implemented in MiniaudioBackend audio_callback
+ - Used exponential averaging: instant attack, 0.7 decay rate (1-second fade time)
+ - [x] **Peak Decay Optimization**: Fixed "test_demo just flashing" issue
+ - Old: 0.95 decay = 5.76 second fade (screen stayed white)
+ - New: 0.7 decay = 1.15 second fade (proper flash with smooth decay)
+ - [x] **SilentBackend Creation**: Test-only backend for audio.cc testing without hardware
+ - Created src/audio/backend/silent_backend.{h,cc}
+ - 7 comprehensive tests: lifecycle, peak control, tracking, playback time, buffer management
+ - Significantly improved audio.cc test coverage
+ - [x] **Backend Reorganization**: Moved all backends to src/audio/backend/ subdirectory
+ - Cleaner code organization, updated all includes and CMake paths
+ - [x] **Dead Code Removal**: Removed unused `register_spec_asset()` function
+ - **Result**: All 28 tests passing, perfect audio-visual sync, improved test coverage
+
## Recently Completed (February 6, 2026)
- [x] **Critical Shader Bug Fixes & Test Infrastructure** (February 6, 2026)