blob: 132be5dffa4a8b0b197406527c01f189428ae45a (
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
90
91
92
93
94
|
# 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_2.md` (MQ-based v2)
---
## Priority 2: CNN v3 Training [IN PROGRESS]
**Design:** `cnn_v3/docs/CNN_V3.md` | Phases 1–9 complete. Runtime pipeline operational.
**Pipelines:**
- `cnn_v3_test`: `GBufferEffect` → `GBufDeferredEffect`
- `cnn_v3_debug`: `GBufferEffect` → `CNNv3Effect` → `GBufViewEffect`
**Active:**
- [ ] Restore full scene in `GBufferEffect::set_scene()` (20 cubes + 4 spheres, 2 lights)
- [ ] Collect ≥50 training samples (currently 11) — see `cnn_v3/docs/HOWTO.md` §2
- [ ] Retrain from scratch — see `cnn_v3/docs/HOWTO.md` §3
**Pending (lower priority):**
- [ ] GBufferEffect: Pass 3 transparency (transp=0 placeholder)
- [ ] GBufferEffect: `resize()` support
- [ ] Web tool (`cnn_v3/tools/shaders.js`): `prev_cnn` hardcoded to 0 in both JS pack shaders
(lines ~313 / ~39). Fix: add `prev` texture binding and wire in `tester.js`.
---
## Priority 3: Test Infrastructure [ONGOING]
**Status:** 38/38 tests passing
---
## Priority 4: GPU-Accelerated PCM Synthesis
Compute shader for direct PCM generation (bypasses spectrogram decode).
Write to compute buffer, readback to synth. No design doc yet.
---
## Priority 5: 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 5: WGSL Modularization (Task #50) [RECURRENT]
Ongoing shader code hygiene for granular, reusable snippets.
---
## Priority 5: Wine/Windows Black Screen
`demo64k.exe` opens under Wine but shows a black window. Audio runs correctly.
**Likely causes:**
- Swapchain format mismatch (Wine Vulkan may prefer BGRA8 over RGBA8)
- Surface present failing silently (`WGPUSurfaceGetCurrentTexture` status)
- Render pass output not reaching the surface
**To reproduce:** `./scripts/run_win.sh`
---
## Future
### CNN v3 "2D Mode" (G-buffer-free)
Run `CNNv3Effect` on a plain screen buffer / photo — fake normals via Sobel, constant depth, neutral material defaults. New `gbuf_pack_2d.wgsl` + `CNNv3Effect2D` subclass or mode flag.
### CNN v2 8-bit Quantization
Reduce weights f16 (~3.2 KB) → i8 (~1.6 KB). Requires QAT. See `cnn_v2/docs/CNN_V2.md`.
### 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
|