/** * Main-branch component families captured at authoring time of the * enterprise-react-audio-components-extras change. Read live via: * * ls /mnt/s/web/suaveplan/packages/react/react-audio/src/components/ * * Updated 2026-05-19. Each family maps to one or more genesis surfaces. * The parity test asserts that every entry's `genesisSubpaths` resolves * to a real exports entry in `@suaveplan/react-audio`. */ export interface ParityEntry { /** Main-branch family directory name. */ readonly mainFamily: string; /** Genesis subpath(s) covering the family. */ readonly genesisSubpaths: ReadonlyArray; /** * Human-readable rationale when the genesis equivalent is not a * direct rename (e.g. plugin-controls is folded into PluginSlot). */ readonly notes?: string; } export const MAIN_BRANCH_COMPONENT_FAMILIES: ReadonlyArray = [ { mainFamily: "audio-dashboard", genesisSubpaths: [ "./components/mixer", "./components/transport-controls", ], notes: "audio-dashboard upstream is a composition over mixer + transport + visualiser; genesis composes the same surface from , , .", }, { mainFamily: "audio-engine-controls", genesisSubpaths: ["./components/transport-controls"], notes: "audio-engine-controls upstream is the transport-style play/stop/seek/tempo bar.", }, { mainFamily: "audio-player", genesisSubpaths: ["./components/audio-player"], }, { mainFamily: "audio-provider", genesisSubpaths: ["./provider"], notes: "audio-provider upstream is the React context provider; genesis exports from the ./provider subpath.", }, { mainFamily: "audio-visualizer", genesisSubpaths: ["./components/audio-visualizer"], }, { mainFamily: "basic-player", genesisSubpaths: ["./components/basic-player"], }, { mainFamily: "glados-controls", genesisSubpaths: ["./components/glados-controls"], }, { mainFamily: "microphone-controls", genesisSubpaths: ["./components/microphone-controls"], }, { mainFamily: "mixer-controls", genesisSubpaths: ["./components/mixer"], notes: "Renamed mixer-controls → mixer in genesis.", }, { mainFamily: "players", genesisSubpaths: [ "./components/audio-player", "./components/basic-player", "./components/premium-player", ], notes: "Upstream `players/` directory holds premium-player; genesis splits into three sibling player components.", }, { mainFamily: "plugin-chain", genesisSubpaths: ["./components/plugin-chain-view"], notes: "Renamed plugin-chain → plugin-chain-view in genesis.", }, { mainFamily: "plugin-controls", genesisSubpaths: [ "./components/plugin-slot", "./components/plugin-parameter-knob", "./components/plugin-parameter-slider", ], notes: "Upstream plugin-controls contains the EQ/Compressor/Delay/Reverb specialised slot renderers; genesis exposes the same surface via + the `slotRenderers` provider option, plus the primitive knob/slider components.", }, { mainFamily: "plugin-loader", genesisSubpaths: ["./components/plugin-loader"], }, { mainFamily: "plugins", genesisSubpaths: ["./components/audio-player"], notes: "Upstream `plugins/` is the audio-player's internal subcomponents (library-panel, queue-panel, progress-bar, track-info, volume-control). Genesis folds them into 's control surface.", }, { mainFamily: "preset-manager", genesisSubpaths: ["./components/preset-manager"], }, ];