Stable id (also used as a data attribute).
Human-readable name, shown in the tooltip + aria-label.
OptionalshortcutKeyboard shortcut shown in the tooltip (display only).
Inline SVG markup for the icon.
Invoked on click — should be the same action as the shortcut.
OptionalopenCSS selector whose visible presence means this item's panel is open.
OptionalisExplicit active check (takes precedence over openSelector).
OptionalmomentaryMomentary action (e.g. screenshot) — never shows an active state.
OptionalseparatorInsert a separator before this item.
OptionalflyoutIf set, this button opens a horizontal flyout of toggles instead of firing activate. The parent button shows active when the flyout is open or any toggle inside it is active.
OptionalpopoverOptionalrenderOptional per-refresh hook to sync the button's icon/label/tooltip from live state (e.g. the Navigation button reflecting the current control mode). Called on every ControlRail refresh with the button element.
OptionaldisabledOptional predicate for a disabled (grayed, non-interactive) state — e.g.
the Layers button when the scene has no layers. Re-evaluated on every
refresh; when true the button gets the native disabled attribute so it
can't be clicked or focused. Fire a refresh (see ControlRail
event listeners) when the underlying condition changes.
OptionalhiddenOptional predicate for a HIDDEN state — the button is not rendered at all (e.g. the Sound button on a scene without sound nodes), unlike disabled which grays it. Re-evaluated on every refresh.
One button in the rail.