Skip to main content

Crate wavecraft_dev_server

Crate wavecraft_dev_server 

Source
Expand description

Wavecraft unified development server

This crate provides the complete development server infrastructure for wavecraft start, including:

  • WebSocket server (ws) — IPC bridge between browser UI and Rust engine
  • Audio processing (audio) — Optional real-time audio via OS devices
  • Hot-reload (reload) — File watching, rebuild pipeline, and parameter reload
  • Parameter hosting (host) — In-memory parameter storage with atomic audio bridge

§Architecture

┌────────────────────────┐
│   CLI (wavecraft start) │
│   thin wrapper          │
└───────────┬────────────┘
            │
            ▼
┌────────────────────────────────────────────┐
│          dev-server crate                   │
│                                             │
│  ┌──────────┐  ┌──────────┐  ┌───────────┐ │
│  │ WsServer │  │ Audio    │  │ Reload    │ │
│  │ (ws/)    │  │ (audio/) │  │ (reload/) │ │
│  └────┬─────┘  └────┬─────┘  └─────┬─────┘ │
│       │              │              │       │
│       └──────┬───────┴──────────────┘       │
│              ▼                               │
│     ┌─────────────────┐                      │
│     │ DevServerHost   │                      │
│     │ (host.rs)       │                      │
│     └─────────────────┘                      │
└────────────────────────────────────────────┘

Re-exports§

pub use host::DevServerHost;
pub use reload::guard::BuildGuard;
pub use reload::rebuild::RebuildCallbacks;
pub use reload::rebuild::RebuildPipeline;
pub use reload::watcher::FileWatcher;
pub use reload::watcher::WatchEvent;
pub use session::DevSession;
pub use ws::WsHandle;
pub use ws::WsServer;
pub use audio::atomic_params::AtomicParameterBridge;
pub use audio::ffi_processor::DevAudioProcessor;
pub use audio::ffi_processor::FfiProcessor;
pub use audio::server::AudioConfig;
pub use audio::server::AudioHandle;
pub use audio::server::AudioServer;

Modules§

audio
Audio processing modules for the development server.
host
Development server host implementing ParameterHost trait
reload
Hot-reload infrastructure for wavecraft start
session
Development session lifecycle management
ws
WebSocket server for browser-based UI development