Parent: #56
Blocked by: #57 REG-0 — completed / GO via ADR-0004; #61 UI-0 — completed / GO IMGUI
Purpose
Introduce the protocol-neutral Single processing seam required by Safe VST3 Rack v2 while preserving the existing Single Host protocol and observable behavior.
Fixed-point base for this thread: 060197707a372adce55db63434e7ab709a3d8262.
Vertical proof
The existing Single Host processes the same deterministic audio through the same VST3 engine behavior, but vendor processing no longer fundamentally depends on Single AudioSlot transport.
Mandatory pre-mutation gate
Before changing production Vst3Engine::process(AudioSlot&), add a deterministic real-VST3 engine processing fixture/harness that characterizes the current Single seam, including:
- successful deterministic processing;
- invalid/failure block behavior;
- mono and stereo host blocks;
- mono/stereo plug-in adaptation behavior where feasible;
- block/frame semantics and process-context/sample-position continuity relevant to the seam.
The unchanged Single adapter must pass this characterization first.
Implementation
- introduce bounded non-owning
ProcessBlockView or equivalent;
- add protocol-neutral engine process entry;
- keep
process(AudioSlot&) as the Single adapter;
- no Single protocol layout/version change;
- no OBS-facing behavior change;
- no UI-0 smoke coupling into Single runtime.
Acceptance
- deterministic audio behavior unchanged across the adapter migration;
- Single protocol layout/version unchanged and tests green;
- lifecycle/state/latency/parameter/process-context regressions green;
- Windows helper/module CI green;
- Compatibility Test Build including supported OBS loader probe green;
- exact candidate receives required representative real-machine Single smoke before merge per ADR-0004.
Non-goals
- no HostedPlugin extraction/rename beyond what is necessary for R0-1;
- no Rack protocol/helper;
- no multi-plugin runtime;
- no Rack OBS filter;
- no production Rack editor/presets;
- no Single protocol redesign.
Thread rule
Stop after R0-1 acceptance/evidence. R0-2 starts in a fresh thread.
Parent: #56
Blocked by: #57 REG-0 — completed / GO via ADR-0004; #61 UI-0 — completed / GO IMGUI
Purpose
Introduce the protocol-neutral Single processing seam required by Safe VST3 Rack v2 while preserving the existing Single Host protocol and observable behavior.
Fixed-point base for this thread:
060197707a372adce55db63434e7ab709a3d8262.Vertical proof
The existing Single Host processes the same deterministic audio through the same VST3 engine behavior, but vendor processing no longer fundamentally depends on Single
AudioSlottransport.Mandatory pre-mutation gate
Before changing production
Vst3Engine::process(AudioSlot&), add a deterministic real-VST3 engine processing fixture/harness that characterizes the current Single seam, including:The unchanged Single adapter must pass this characterization first.
Implementation
ProcessBlockViewor equivalent;process(AudioSlot&)as the Single adapter;Acceptance
Non-goals
Thread rule
Stop after R0-1 acceptance/evidence. R0-2 starts in a fresh thread.