2.0 KiB
2.0 KiB
Superseded — not folded into openspec/specs/
Date superseded: 2026-05-15 Superseded by:
openspec/changes/enterprise-audio-engine-browser/(browser-tierTimelineAdapterimplementation)openspec/changes/enterprise-audio-engine-server/(server-tierTimelineAdapterimplementation)
Why
This proposal was authored as a port of the upstream monolithic browser-only @suaveplan/audio-engine. Since it was drafted, the genesis audio suite settled on a different architecture:
- Universal core:
@suaveplan/audio-core(AudioDocument,PlanEngine,ProcessPipeline,OpRegistry) — already shipped. - Universal timeline:
@suaveplan/audio-timeline(TimelineEngine,Track,Clip, and theTimelineAdapterport) — already shipped. - Universal transport:
@suaveplan/audio-transport(musical clock, PPQ, BPM) — already shipped. - Render adapters:
@suaveplan/audio-engine-browser(Web Audio) and@suaveplan/audio-engine-server(file I/O) — thin packages that implementTimelineAdapter. - Plugin surface lives in
@suaveplan/audio-plugins-fx(dual-modeBlockProcessor+ optionalcreateAudioNode).
The monolithic @suaveplan/audio-engine re-introduced its own AudioContext lifecycle, its own AudioPlugin base class, its own PluginRegistry, and its own queue engine — none of which compose with the universal core. Keeping it would have produced two parallel engines, two plugin interfaces, and two scheduling models.
No code from this proposal was implemented (packages/audio/audio-engine/ contained only a 3-file stub which has been deleted).
What to read instead
openspec/changes/enterprise-audio-engine-browser/— adapteropenspec/changes/enterprise-audio-engine-server/— adapteropenspec/archive/2026-05-14-enterprise-audio-core/— universal coreopenspec/archive/2026-05-15-enterprise-audio-timeline/— universal timeline +TimelineAdapteropenspec/archive/2026-05-15-enterprise-audio-transport/— universal clockopenspec/changes/enterprise-audio-plugins-fx/— plugin surface