- React as the core of the UI, with direct DOM manipulation and canvas stuff whenever the React lifecycle is too slow.
- WebAssembly for any audio logic that happens at least once per sample
- Lookup tables for almost all math that happens at least once per sample and is more complicated than multiplication
- Use Web Audio as an interface layer, but do everything else manually. (Web Audio tries to help a lot of ways but often winds up making things worse)
If you're curious about anything specific I'd be happy to talk!
- React as the core of the UI, with direct DOM manipulation and canvas stuff whenever the React lifecycle is too slow. - WebAssembly for any audio logic that happens at least once per sample - Lookup tables for almost all math that happens at least once per sample and is more complicated than multiplication - Use Web Audio as an interface layer, but do everything else manually. (Web Audio tries to help a lot of ways but often winds up making things worse)
If you're curious about anything specific I'd be happy to talk!