Initial Commit
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# OpenSpec Change: enterprise-react-audio-components-extras
|
||||
|
||||
- **Change ID**: enterprise-react-audio-components-extras
|
||||
- **Package**: `@suaveplan/react-audio`
|
||||
- **Category**: react
|
||||
- **Target path**: `packages/react/react-audio`
|
||||
- **Status**: PROPOSED — supplementary to Phase 2 (`enterprise-react-audio-components`)
|
||||
- **Date**: 2026-05-19
|
||||
- **Spec delta**: `./specs/react-audio/spec.md`
|
||||
|
||||
> Supplementary phase. **Blocked** on `enterprise-react-audio-components` shipping first. Adds the composed-plugin UIs that the original umbrella `enterprise-react-audio` proposal listed but the Phase 2 spec did not hard-mandate.
|
||||
|
||||
## Summary
|
||||
|
||||
Add the composed-plugin UI components to `@suaveplan/react-audio`:
|
||||
|
||||
- `<TransportControls>` (play/pause/stop/seek/loop/tempo with keyboard).
|
||||
- `<TrackList>` + `<TrackRow>` (track enumeration + per-row controls).
|
||||
- `<MasterMeter>` (overall output peak/RMS meter).
|
||||
- `<Mixer>` (track strips with gain/pan/mute/solo/sends — composed against `@suaveplan/audio-fx-plugin-mixer`).
|
||||
- `<AudioVisualizer>` (waveform / spectrum / level meter modes).
|
||||
- `<AudioPlayer>`, `<BasicPlayer>`, `<PremiumPlayer>` (composed against `@suaveplan/audio-fx-plugin-audio-player`).
|
||||
- `<MicrophoneControls>` (composed against `@suaveplan/audio-fx-plugin-microphone`).
|
||||
- `<GLaDOSControls>` (composed against `@suaveplan/audio-fx-plugin-glados`).
|
||||
- `<PluginLoader>` — dynamic registration UI over `PluginRegistry.list()`.
|
||||
|
||||
Each ships with `.md`, `.test.tsx`, and three Storybook stories per the gate already enforced in Phase 2. Subpath exports `./components/<name>` extend the Phase 2 surface.
|
||||
|
||||
## Spec delta scope
|
||||
|
||||
The Phase 2 spec stays valid; this change adds one new requirement per component family asserting the surface, plus a parity invariant that no main-branch component is omitted at the conclusion of this change.
|
||||
|
||||
## Out of scope
|
||||
|
||||
- Foundation hooks/provider (Phase 1).
|
||||
- Spec-mandated core primitives `<PluginSlot>` / `<PluginChainView>` / `<PresetManager>` (Phase 2).
|
||||
- `<MidiControllerSetup>` (Phase 3).
|
||||
|
||||
## Impact
|
||||
|
||||
### Affected dependents
|
||||
|
||||
After this change archives, the parity invariant against main is restored: every component on `/mnt/s/web/suaveplan/packages/react/react-audio/src/components/` has a genesis equivalent. `react-audio-fingerprint`, `react-audio-player`, `react-audio-stream`, and `r3f-audio` migrations can compose freely against the full UI surface.
|
||||
Reference in New Issue
Block a user