Expand description
IPC message contracts for WebView ↔ Rust communication
This module defines JSON-RPC 2.0 style messages used for bidirectional communication between the React UI (running in WebView) and the Rust application logic.
§Architecture
- Request/Response: UI initiates, Rust responds (e.g., setParameter, getParameter)
- Notifications: Rust pushes updates to UI (e.g., parameter changes from host)
§JSON-RPC 2.0 Compatibility
Messages follow JSON-RPC 2.0 conventions:
- Requests have
id,method, andparams - Responses have
idand eitherresultorerror - Notifications have
methodandparamsbut noid
Structs§
- GetAll
Parameters Result - Result of getAllParameters request
- GetMeter
Frame Result - Result for getMeterFrame method
- GetParameter
Params - Parameters for getParameter request
- GetParameter
Result - Result of getParameter request
- IpcError
- Error returned in IpcResponse
- IpcNotification
- Notification message sent from Rust to UI (no response expected)
- IpcRequest
- Request message sent from UI to Rust
- IpcResponse
- Response message sent from Rust to UI
- Meter
Frame - Meter frame data for UI visualization.
- Meter
Update Notification - Notification sent from audio binary to browser via dev server
- Parameter
Changed Notification - Notification sent when a parameter changes (e.g., from host automation)
- Parameter
Info - Information about a single parameter
- Register
Audio Params - Parameters for registerAudio request (audio binary → dev server)
- Register
Audio Result - Result of registerAudio request
- Request
Resize Params - Parameters for requestResize request
- Request
Resize Result - Result of requestResize request
- SetParameter
Params - Parameters for setParameter request
- SetParameter
Result - Result of setParameter request (empty success)
Enums§
- Parameter
Type - Parameter type discriminator
- Request
Id - Request ID can be string or number
Constants§
- ERROR_
INTERNAL - JSON-RPC internal error
- ERROR_
INVALID_ PARAMS - JSON-RPC invalid method parameters
- ERROR_
INVALID_ REQUEST - JSON-RPC invalid request (malformed structure)
- ERROR_
METHOD_ NOT_ FOUND - JSON-RPC method not found
- ERROR_
PARAM_ NOT_ FOUND - Parameter not found
- ERROR_
PARAM_ OUT_ OF_ RANGE - Parameter value out of valid range
- ERROR_
PARSE - JSON-RPC parse error (invalid JSON)
- METHOD_
GET_ ALL_ PARAMETERS - Method: Get all parameters with metadata
- METHOD_
GET_ METER_ FRAME - Method: Get current meter frame (peak/RMS levels)
- METHOD_
GET_ PARAMETER - Method: Get single parameter value
- METHOD_
REGISTER_ AUDIO - Method: Register audio client with dev server
- METHOD_
REQUEST_ RESIZE - Method: Request resize of editor window
- METHOD_
SET_ PARAMETER - Method: Set single parameter value
- NOTIFICATION_
METER_ UPDATE - Notification: Meter update from audio binary (push to browser)
- NOTIFICATION_
PARAMETER_ CHANGED - Notification: Parameter changed (push from Rust to UI)