From a0dd0a27c4d6831fb2fb5ad81283f36512ef16ef Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 7 Feb 2026 15:07:01 +0100 Subject: update doc, optimize spectral_editor --- TODO.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'TODO.md') 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) -- cgit v1.2.3