VSTDOCSv0.0.17

DOCS / PROJECT

FAQ

The questions every plugin developer asks first.

Is this a webview?

No. There is no browser, no HTML, no CSS engine in the binary. Your React runs in QuickJS (~1MB, in-process) and every pixel is painted by juce::Graphics. That is the whole point.

Which plugin formats and platforms?

Anything JUCE targets — VST3, AU, AAX, LV2, standalone — on Windows, macOS, and Linux. VSReacT is a JUCE module; it goes wherever your JUCE plugin goes.

What about performance?

Layout and painting are C++. JS runs only when your components render, and the bridge batches mutations per commit. Hover and active styles repaint natively with no JS round-trip. The gain example idles at zero JS activity.

Can I use npm packages?

Pure-JS packages that target ES2023 work — Bun bundles them in. Anything that expects the DOM, Node APIs, or the network will not, by design: a plugin UI should be deterministic and offline.

How do I debug?

console.log routes to the native logger and shows in your debugger’s output. Runtime errors render the red overlay with a stack trace in the plugin window. And hot reload keeps the iteration loop around 100ms.

What licenses am I agreeing to?

VSReacT itself is MIT. Vendored engines keep their permissive licenses (QuickJS-ng: MIT, Yoga: MIT). JUCE has its own commercial/GPL terms you must satisfy for plugin distribution.