Add Faust WebAssembly compile lane
This commit is contained in:
parent
90649b3de2
commit
d7b49d7248
4 changed files with 130 additions and 1 deletions
13
README.md
13
README.md
|
|
@ -63,6 +63,9 @@ published packages.
|
|||
from `AquaSynth.Faust`.
|
||||
- `FaustCompiler.CompileAsync(source, options)` writes generated backend code
|
||||
through an installed or resolved Faust compiler from `AquaSynth.Faust`.
|
||||
- `FaustCompiler.CompileWebAssemblyScriptAsync(...)` and
|
||||
`CompileWebAssemblyAsync(...)` emit browser-ready `.dsp`, `.wasm`, and Faust
|
||||
JSON UI metadata artifacts.
|
||||
- `AquaSynthPatchCompiler` from `AquaSynth.Faust` is the live host-facing
|
||||
boundary for compiling `.aqua` scripts into hosted DSP factories.
|
||||
- `AquaSynthNativeCompiler` remains the lower native `libfaust` compiler
|
||||
|
|
@ -92,6 +95,16 @@ await FaustCompiler.CompileAsync(
|
|||
new FaustCompileOptions(FaustTargetLanguage.CSharp, "Generated/Bass.cs"));
|
||||
```
|
||||
|
||||
The browser lane uses Faust's WebAssembly backend and keeps the same ownership:
|
||||
AquaSynth emits the `.dsp`, `.wasm`, and JSON UI description; the host supplies
|
||||
WebAudio scheduling and parameter binding.
|
||||
|
||||
```csharp
|
||||
await FaustCompiler.CompileWebAssemblyScriptAsync(
|
||||
"v w=sin f=880 g=.12 sustain=.04 decay=.2",
|
||||
new FaustWebAssemblyCompileOptions("Generated/Web", "ui_select"));
|
||||
```
|
||||
|
||||
The runtime lane is different. AquaSynth should own Faust toolchain selection,
|
||||
compile cache identity, generated artifacts, parameter manifests, and dynamic
|
||||
patch compilation outside the realtime path. Aquarium Engine should load and
|
||||
|
|
|
|||
Loading…
Reference in a new issue