diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-06 11:12:34 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-06 11:12:34 +0100 |
| commit | 5a1adde097e489c259bd052971546e95683c3596 (patch) | |
| tree | bf03cf8b803604638ad84ddd9cc26de64baea64f /PROJECT_CONTEXT.md | |
| parent | 83f34fb955524c09b7f3e124b97c3d4feef02a0c (diff) | |
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 <noreply@anthropic.com>
Diffstat (limited to 'PROJECT_CONTEXT.md')
| -rw-r--r-- | PROJECT_CONTEXT.md | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md index b59fdbc..4d1fa35 100644 --- a/PROJECT_CONTEXT.md +++ b/PROJECT_CONTEXT.md @@ -85,10 +85,14 @@ Style: --- ## Next Up -- **Task #49: Physics & Collision** - - [ ] **Task #49.1: CPU-Side SDF Library**: Implement `sdSphere`, `sdBox` etc. in C++ (`src/3d/sdf_cpu.h`). - - [ ] **Task #49.2: BVH Construction**: Implement BVH builder and traversal for broad-phase collision. - - [ ] **Task #49.3: Physics Loop**: Implement integration, narrow-phase SDF probing, and collision resolution. + +- **Task #5: Spectral Brush Editor** [IN PROGRESS - February 6, 2026] + - Create web-based tool for procedurally tracing audio spectrograms + - Replace large .spec assets with tiny C++ code (50-100× compression) + - Phase 1: C++ runtime (`spectral_brush.h/cc` - Bezier curves + Gaussian profiles) + - Phase 2: Editor UI (HTML/JS canvas, dual-layer visualization, keyboard shortcuts) + - Phase 3: File I/O (load .wav/.spec, export procedural_params.txt + C++ code) + - See `doc/SPECTRAL_BRUSH_EDITOR.md` for complete design - **Task #18: 3D System Enhancements** - [ ] **Task #18.0: Basic OBJ Asset Pipeline**: Implement `ASSET_MESH` type, `asset_packer` OBJ support, and `Renderer3D` mesh rendering. |
