Skip to content

Commit 274bdc0

Browse files
botBehaviorFerra
andcommitted
plan: oscilla crackling root-caused and fixed (phase accumulation)
Co-Authored-By: Ferra <Ferra@Fable5>
1 parent 3f6bede commit 274bdc0

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

PLAN.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ FRAGMENT shader rendering directly to the WebGPU canvas (no readback, native-res
263263

264264
## Loop log (append one line per completed item: date, item, outcome)
265265

266+
- 2026-06-10 oscilla REIMAGINED (Phase N): Carter found v3 still "awful sound, no visuals". N1 (96464ba): retired GPU-readback audio entirely — oscilla-synth now a 13KB wasm engine running INSIDE the AudioWorklet, 0.14ms/block, zero transport. Then root-caused the crackling itself (b353a4b): fm() used absolute-sample-index phase → f32 sin argument grows unbounded → random output after seconds on FM/high notes. Fixed with per-voice accumulating wrapped phase (osc_at_phase); 10-min unit test proves it. Visuals reworked v3: polar nebula + circular scope ring + feedback trails (react 3.5x). N2/N3 (fragment-shader visuals, full reassembly) still pending. Awaiting Carter retest #3.
266267
- 2026-06-10 L6 SHIPPED (91ca0b7): MIDI + patch URLs + WAV + spectrum. PHASE L / OSCILLA COMPLETE. Every GREEN/YELLOW item in this entire plan is now done; remaining = RED gates (miscompile issue, #614 reply, E4, G4, oscilla announce, crates.io publish) + F-watches.
267268
- 2026-06-10 L1–L5 ALL SHIPPED in oscilla: kernels (5 suites), GPU verify (1.46e-5), playable synth.html (worklet ring + honest margin), live-coding hot-swap (370ms swap, ~2.4s warm edit-to-sound), Pages live at botbehavior.github.io/oscilla. Only L6 bold tier + RED gates remain. Three more SPIR-V subset edges documented today: checked arithmetic, subslicing, array-unsizing.
268269
- 2026-06-10 PHASE K COMPLETE (9864019): 2 standalone minimized miscompiles (9 + 15 nodes, shared comparison-fold motif: 0<x*EVEN_C and y<(C|y) selects), upstream draft awaiting Carter. L0 DONE: botBehavior/oscilla public, scaffold pushed, 3 tests green. L1 next.

0 commit comments

Comments
 (0)