Skip to content
ALPHA / VST3 FIRST RUST / VST3 / WEBVIEW APACHE-2.0 ↗

Vesty · The Rust plugin framework

Native sound.
Your interface.

Author VST3 effects and instruments in Rust, keep DSP inside an explicit realtime boundary, and build the editor with a directly embedded system WebView.

~/my-pluginPREVIEW

# Install from source first → Get started

vesty new my-plugin --template gain \ --vesty-path "$VESTY_SOURCE/crates/vesty"

my-plugin/

├── src/lib.rs// Rust DSP

├── Cargo.toml

├── vesty.toml

├── vesty-parameters.json

└── params.specs.json

From the first sample to your own plugin.

process() → realtime boundary
Audio effectsMIDI instrumentsSample-accurate eventsReact / Vue / Svelte

01 / Concepts

Native DSP and Web UI on opposite sides of the realtime boundary.

The VST3 adapter borrows host audio and events into Rust process contexts. The editor talks to the controller through typed JSBridge, never to the audio kernel.

AUDIO THREAD / BORROWED BUFFERS

  1. 01HostAutomation, events, transport
  2. 02VST3 adapterABI, buses, state, ordering
  3. 03Audio kernelBorrowed buffers, bounded DSP

CONTROL & EDITOR / OUTSIDE PROCESS()

Web editor↔ JSBridge ↔Controller

Host-mediated parameter edits; bounded queues carry meters and diagnostics out of the audio thread.
Read the architecture

02 / Guides

Complete the VST3 workflow

Follow Vesty’s workflow from stable parameters and sample-accurate processing to a packaged plugin, validator reports, and DAW evidence.

03 / THE CONTRACT

No allocation. No locks. No WebView in process().

Vesty resolves parameter handles before processing, borrows host buffers for one block, and moves UI communication outside the audio callback.

Review realtime rules