Problem
Plugin chain ordering is UI/store-level only and cross-format order is undefined. VST3/WAM stores keep pluginOrder, but PluginEngine has no authoritative reorder method and effect sync only updates bypass state.
Root Cause
UI ordering was added without making the live audio engine order the source of truth across VST3, WAM, and built-in effects.
Solution
- Add explicit plugin chain ordering to
PluginEngine.
- Sync VST3/WAM order changes into the live audio chain.
- Define cross-format ordering semantics with built-in effects.
- Add tests for reorder, bypass, remove, and mixed VST3/WAM chains.
Verification
- Add unit tests proving UI reorder changes audio chain order.
- Add integration/E2E coverage for mixed plugin order.
- Confirm project reload preserves order if persistence is implemented.
Files to Touch
src/engine/PluginEngine.ts
src/hooks/useEffectsSync.ts
src/store/vst3Store.ts
src/store/wamStore.ts
src/components/plugins/*
Problem
Plugin chain ordering is UI/store-level only and cross-format order is undefined. VST3/WAM stores keep
pluginOrder, butPluginEnginehas no authoritative reorder method and effect sync only updates bypass state.Root Cause
UI ordering was added without making the live audio engine order the source of truth across VST3, WAM, and built-in effects.
Solution
PluginEngine.Verification
Files to Touch
src/engine/PluginEngine.tssrc/hooks/useEffectsSync.tssrc/store/vst3Store.tssrc/store/wamStore.tssrc/components/plugins/*