ReadonlycontributedCascade introspection: property name → contribution index that supplied it.
Derived: disabled if any reason is present OR there is no callback.
Reasons the command is unavailable (empty when available).
Dispatch the command: fire the per-key ExecuteHooks (the registry injects a
live accessor at creation) then run the callback. disabled / no-callback /
beforeExecute-returns-false ⇒ false. This is what buttons and keystrokes call
directly — it's the ripple/close path, no separate registry call needed. args is the
per-invocation input (ARGS), distinct from getState().
Optionalargs: ARGSgroupKey selects a pack's desc@<groupKey> variant, if any (no inline scoped field yet).
OptionalgroupKey: stringgroupKey is accepted for signature symmetry — reserved for scoped icons.
OptionalgroupKey: stringOptionalgroupKey: string
Where the command is being rendered (the parent panel/group key, e.g.
'contextMenu', 'cellStyle') — selects the matching groupLabels variant. Omit for
the full label. This is the ONLY per-call flavor: dynamic (function) values evaluate
against the definition's own context (where the model data lives), never a caller's.
The current model value the command reflects (output, for display/enablement).
The read surface of a resolved command — the derived, immutable view that
CommandButton/toolbars/menus consume. Deliberately the read subset of the retired mutableICommandinterface (samegetLabel/getIcon/getShortcut/disabled/executesignatures) so consumers didn't change during the port — the one-sided-change invariant (see design/COMMAND-DESIGN.md). The authoring side (mutation, listeners) is gone: you contribute ICommandDefinitions and re-derive, you don't mutate.Adds
disabledReasons();disabled()is derived from it (+ "no callback") for compat. CarriescontributedByfor cascade introspection.ARGS(theexecutepayload) is split fromSTATE(the value the command reflects) — see CommandCallback.