diff --git a/packages/core/src/editing/affordances.ts b/packages/core/src/editing/affordances.ts index f0e3be6ae..7721da93d 100644 --- a/packages/core/src/editing/affordances.ts +++ b/packages/core/src/editing/affordances.ts @@ -1,3 +1,4 @@ +import { HF_AUDIO_GROUP_TAG } from "../audioGroups.js"; /** * Pure, DOM-free editing-affordance resolution. Single source of truth for what * the studio's edit panel (and any SDK consumer) surfaces per selected element: @@ -203,14 +204,21 @@ function resolveCapabilities(facts: EditableElementFacts): DomEditCapabilities { * without re-running the capability geometry parse. */ export function resolveEditingSections(facts: EditableElementFacts): EditingSectionApplicability { + // An `` is a mixer bus: it has no visual frame AND no media + // of its own, but it does carry a `data-fx-chain`, which is the whole point + // of selecting one. Without this the timeline's "Open rack" on a group led to + // a panel offering Fill, Gradient, Stroke and Shadow for something that paints + // nothing — and no Audio FX section at all, so a bus effect could only ever be + // applied from the preset popover and never edited. + const isAudioBus = facts.tag === HF_AUDIO_GROUP_TAG; // `