Architecture
Prest is a Rust workspace with a Dioxus WASM frontend and host-specific DAW integrations.
Workspace boundaries
Section titled “Workspace boundaries”| Area | Responsibility |
|---|---|
domain |
Songs, setlists, transport state, and core models |
application |
Host-agnostic operations, transport contracts, invalidation, and notifications |
protocol |
Protobuf envelopes and codecs |
frontend |
Static Dioxus browser application for Editor, Performance, and Setup |
server |
Axum/Tokio HTTP and WebSocket runtime plus embedded assets |
discovery |
Canonical local identity and mDNS claims |
daws/reaper |
Native plugin, REAPER API loader, and main-thread dispatch |
daws/ableton |
Rust bridge and Python Remote Script |
Runtime data flow
Section titled “Runtime data flow”- The browser loads static WASM application assets from the local runtime.
- It opens a binary WebSocket to
/ws. - Client and server exchange protobuf envelopes.
- The server dispatches host operations through the active DAW boundary.
- Invalidation and state messages keep browser views aligned with host state.
REAPER embeds the runtime directly in its plugin. Ableton’s Remote Script launches the separate bridge runtime.
Security boundary
Section titled “Security boundary”The runtime binds to local interfaces and has no authentication. Development changes must preserve prominent private-network guidance and must not imply that local-only operation is itself a security guarantee.