summaryrefslogtreecommitdiff
path: root/TODO.md
blob: c55c4c3f4eb0e7738f35458b6b3dadbaa6a62e78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# To-Do List

**High-level task tracker.** See design docs for details. Completed: `doc/COMPLETED.md`

---

## Priority 1: Spectral Brush Editor (Task #5) [IN PROGRESS]

Procedural spectrogram tool: 50-100× compression (5 KB .spec → ~100 bytes C++).

**Design:** `doc/SPECTRAL_BRUSH_EDITOR.md`

---

## Priority 2: CNN v2 8-bit Quantization

Reduce weights from f16 (~3.2 KB) to i8 (~1.6 KB).

**Requirements:** Quantization-aware training (QAT)
**Design:** `cnn_v2/docs/CNN_V2.md`

---

## Priority 3: Test Infrastructure Maintenance [ONGOING]

**Status:** 35/35 tests passing

**Outstanding TODOs:**

1. **test_effect_base.cc:250** - Fix SIGTRAP in `test_sequence_render()` (commented out)
   - All other tests validate the same functionality
   - Issue: Hangs/crashes during render with external sink view

2. **test_sequence.cc** - Port legacy sequence tests (currently disabled)
   - Uses legacy Effect/MainSequence system
   - Lines 168, 173, 182: Re-enable lifecycle and simulation tests after port

3. **test_audio_engine.cc:152** - Re-enable commented test after debugging

4. **test_fft.cc:87** - Investigate FFT-DCT algorithm discrepancy
   - May need different algorithm or fix existing one


## Priority 4: Audio System Enhancements [LOW PRIORITY]

Extended audio capabilities for sample assets and procedural synthesis.

**Sub-tasks:**

1. **MP3 Sample Assets:**
   - Integrate miniaudio for MP3 decoding
   - Add ASSET_*.mp3 support to asset_packer
   - Convert to PCM in AssetManager or synth on load
   - Use case: Compressed sample libraries

2. **GPU-Accelerated PCM Synthesis:**
   - Compute shader for direct PCM generation (bypass spectrogram)
   - Write to compute buffer, readback to synth
   - Use case: Real-time modulation, complex waveforms
   - Lower latency than spectrogram path

---

## Priority 4: 3D System Enhancements (Task #18)

Pipeline for importing complex 3D scenes to replace hardcoded geometry.

**Status:** C++ object data loading complete. Shader SDF integration pending.

---

## Priority 4: WGSL Modularization (Task #50) [RECURRENT]

Ongoing shader code hygiene for granular, reusable snippets.

---

## Future: Size Optimization (64k Target)

- Task #22: Windows Native Platform (Win32)
- Task #28: Spectrogram Quantization
- Task #34: Full STL Removal
- Task #35: CRT Replacement

**Measure:** `./scripts/measure_size.sh`

---

**Backlog:** `doc/BACKLOG.md` for untriaged ideas