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

The Rust plugin framework

Your sound.Built in Rust.

Native at the core. Yours at the surface.

Build VST3 effects and instruments with native Rust DSP. Shape the interface with the web tools you already know.

~/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