# GKheart VST Base

> Read-only reference docs for AI coding models (Claude Code, Cursor, ChatGPT and similar) that build JUCE audio plugins, VST3 and standalone. Built from shipping GKheart Engine and GKheart Dynamic NAM. Written against JUCE 8.0.12, with every JUCE API it mentions checked against the JUCE source.

Page: https://dsp.gkheart.ca/vstbase
Author: George Kobty, GKheart
Contact: george@gkheart.ca

## What it is

VST Base is a folder of read-only documents you load into your AI coding tool, then point at your own JUCE project. The model follows the rules, reasoning and test methods experienced plugin developers learn the hard way, so the plugin holds up in real hosts, real sessions and many instances.

## How it works

- 00-START-HERE: how to load it into your AI tool, point it at your project, and what it does and doesn't do.
- CORE: a short rule file the model always loads. Ground rules, audio-thread rules, thread map, workflow, quick checks, an "ask the owner first" list and a final self-check before every answer.
- Modules load only when a task needs them, so the model stays focused. Each module has rules, why, fresh generic examples, how to verify and a checklist.

## Modules

- Real-time safety and threading: parameter-to-audio, peak-safe meters, coalescing mailboxes, consistent multi-parameter snapshots, safe swaps of large objects, background threads, lifetime-safe async UI.
- Parameters and automation: stable parameter IDs, versioning, smoothing, read-only meter parameters.
- Saved state and migration: tolerant loading of empty, corrupt, old and newer states, migration steps, the "changing a default" trap, permanent tests.
- Presets and factory content: preset files, versioning, loading, A/B and modified indicators.
- Host compatibility: bus layouts and sidechains, oversized blocks, repeated prepareToPlay, offline renders, playhead, double precision.
- Many instances in one session: statics, idle cost, memory per instance and how to measure it.
- DSP numerics: denormals, NaN/Inf guards, block-size-independent envelopes, high-gain signal paths.
- Oversampling and aliasing for saturating DSP: choosing a method, dry/wet alignment, antiderivative anti-aliasing, measuring aliasing.
- Click-free transitions, bypass, latency and tails: fade state machines, crossfades, host bypass with latency compensation, lookahead, transport jumps.
- Editor and UI safety: polling, crash-safe async dialogs, safe control rebuilds, cheap painting, resizable editors, HiDPI, accessibility.
- MIDI, voices and streaming: sample-accurate rendering, voice pools and stealing, disk streaming, resampling, validating loaded audio.
- Verification ladder: compile, offline tests, null renders, allocation checks, real-host loading, pluginval, a DAW checklist, honest reporting of what wasn't verified.
- Debugging by measurement: hypothesis tables, probes per stage, one variable at a time, stop rules, symptom-to-cause lists.
- Release hygiene: finding what release files give away (embedded data, debug paths, readable state, leftover developer tools) and fixing it without breaking user sessions.
- Review checklist and plan template.

## What it does

- Stops common expensive mistakes: allocating on the audio thread, renamed parameter IDs, state that can't load old sessions, async UI that crashes after the editor closes.
- Teaches the model to measure, probe, compare, verify and say plainly what wasn't verified.

## What it doesn't do

- It doesn't design your sound.
- It doesn't replace testing in the DAWs your customers use.
- It contains no JUCE source and no plugin source. You need your own JUCE license.
- It isn't legal advice.

## Platform

Windows with MSVC and Projucer is the primary tested path. CMake and macOS guidance is included and marked where it hasn't been run.

## Pricing

- Commercial: $399 CAD, perpetual, per product. Updates to the V3 docs and email support.
- Studio: $1,999 CAD per product line. Adds priority help.
- OEM and larger companies: email george@gkheart.ca.

To buy, email george@gkheart.ca with what you're building.
