From e9498c42900a62aa673b0b15455e834563ac7f0a Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Sun, 26 Jul 2026 18:24:57 -0400 Subject: [PATCH] docs(plan): tick S6 checkboxes; mark IReaperUIEmbedInterface must-verify as verified-by-S6 --- PLAN.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/PLAN.md b/PLAN.md index 5702fc6..0d618d8 100644 --- a/PLAN.md +++ b/PLAN.md @@ -249,9 +249,9 @@ as the main editor is reused. build:** the `IReaperUIEmbedInterface` contract + embed message/lifecycle against `vendor/reaper-sdk/sdk/reaper_plugin_fx_embed.h`. -- [ ] Implement `IReaperUIEmbedInterface` on the VST3; draw a compact keymap/level +- [x] Implement `IReaperUIEmbedInterface` on the VST3; draw a compact keymap/level strip inline in the TCP/MCP using the same LICE surface as the editor. -- [ ] Embed lifecycle (open/close/resize/hit-test inline) handled cleanly; reflects +- [x] Embed lifecycle (open/close/resize/hit-test inline) handled cleanly; reflects the live keymap/levels. ## S7 — stereo channel mode (mono | stereo; core channel dimension + bus negotiation) @@ -495,8 +495,11 @@ artifact, not extension-only. path is `IReaperHostApplication::getReaperApi` (resolve-by-name) and `getReaperParent(3)` (host context) via `reaper_vst3_interfaces.h`; the `0xdeadf00d`/`0xdeadf00e` opcodes are VST2-only and do not apply. -- **`IReaperUIEmbedInterface`** — embed contract + message/lifecycle, against - `reaper_plugin_fx_embed.h` (needed only at S6). +- **`IReaperUIEmbedInterface`** — ~~embed contract + message/lifecycle, against + `reaper_plugin_fx_embed.h` (needed only at S6).~~ **verified (S6):** interface + exposed via `queryInterface` on the controller; inline strip drawn into REAPER's + embed bitmap (LICE idiom, no HWND); `WM_GETMINMAXINFO` size hints confirmed; + embed open/close/resize lifecycle clean. - **VST3 bus arrangement (S7)** — `setBusArrangements` / `getBusArrangement` and REAPER's mono/stereo instrument-bus expectations, against the vendored Steinberg SDK + `reaper_vst3_interfaces.h`. The channel-mode toggle depends on the output bus