From 5a1adde097e489c259bd052971546e95683c3596 Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 6 Feb 2026 11:12:34 +0100 Subject: feat(audio): Add Spectral Brush runtime (Phase 1 of Task #5) Implement C++ runtime foundation for procedural audio tracing tool. Changes: - Created spectral_brush.h/cc with core API - Linear Bezier interpolation - Vertical profile evaluation (Gaussian, Decaying Sinusoid, Noise) - draw_bezier_curve() for spectrogram rendering - Home-brew deterministic RNG for noise profile - Added comprehensive unit tests (test_spectral_brush.cc) - Tests Bezier interpolation, profiles, edge cases - Tests full spectrogram rendering pipeline - All 9 tests pass - Integrated into CMake build system - Fixed test_assets.cc include (asset_manager_utils.h) Design: - Spectral Brush = Central Curve (Bezier) + Vertical Profile - Enables 50-100x compression (5KB .spec to 100 bytes C++ code) - Future: Cubic Bezier, composite profiles, multi-dimensional curves Documentation: - Added doc/SPECTRAL_BRUSH_EDITOR.md (complete architecture) - Updated TODO.md with Phase 1-4 implementation plan - Updated PROJECT_CONTEXT.md to mark Task #5 in progress Test results: 21/21 tests pass (100%) Co-Authored-By: Claude Sonnet 4.5 --- src/tests/test_assets.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/tests/test_assets.cc') diff --git a/src/tests/test_assets.cc b/src/tests/test_assets.cc index 86b4ba4..2ee18d6 100644 --- a/src/tests/test_assets.cc +++ b/src/tests/test_assets.cc @@ -8,6 +8,8 @@ #include "generated/assets.h" #endif /* defined(USE_TEST_ASSETS) */ +#include "util/asset_manager_utils.h" + #include #include #include -- cgit v1.2.3