Operational mental model
The shortest accurate picture of the running application.
flowchart LR
U["Musician"] --> APP["EurorackApp
DOM & interaction"]
subgraph MAIN["Browser main thread"]
APP --> HOST["RackHost
authoritative runtime API"]
HOST <--> STATE["RackState
modules · rows · params · cables"]
HOST <--> REG["PluginRegistry
definitions & ownership"]
APP <--> UI["Renderer + toolkit
stable UI mirrors"]
HOST <--> ENG["AudioWorkletEngine
message controller"]
APP <--> MIDI["MIDI manager"]
MIDI --> ENG
end
subgraph WORKLET["AudioWorklet thread"]
PROC["EurorackProcessor"]
WREG["Worklet plugin registry"]
DSP["DSP instances"]
GRAPH["Compiled signal graph"]
WREG --> PROC
PROC --> DSP
GRAPH --> DSP
end
ENG <--> PROC
PROC --> OUT["Stereo Web Audio output"]
classDef ui fill:#352910,stroke:#f6b94a,color:#fff;
classDef host fill:#102b32,stroke:#57d5e8,color:#fff;
classDef dsp fill:#271f3b,stroke:#b59af3,color:#fff;
classDef data fill:#17301f,stroke:#79d991,color:#fff;
class U,APP,UI,MIDI ui;
class HOST,ENG host;
class PROC,WREG,DSP,GRAPH dsp;
class STATE,REG data;