Skip to content

Interface: WireCap

Defined in: protocol.ts:52

One button on the remote's bar — structurally the renderable subset of CapView from aiui-viz/modal, restated here so the wire does not drag the whole modal kit into the relay (a node process that must not import Solid or the engine). It is asserted against the real CapView in the tests: if the bar model drops or retypes a field this relies on, the compiler says so there (protocol.test.ts, the drift guard).

The hint is the display subset a bar renderer actually reads — key cap, label, optional icon and tone. CapView.hint (a KeyHint) carries more (iconSvg, active, tapKey), but a command bar renders none of it, so the wire omits it. reveals (mode-scoped sub-widgets like springing sliders) is likewise a pencil/overlay concern, not a bar-only remote's, so it is dropped.

Properties

command

command: string

Defined in: protocol.ts:56

The command a tap dispatches — the same resolver path as the key.


enabled

enabled: boolean

Defined in: protocol.ts:66

The cap renders but refuses taps (gating: "needs a bound port").


hint

hint: object

Defined in: protocol.ts:62

Display row: key cap, label, optional icon + tone.

icon?

optional icon?: string

key

key: string

label

label: string

tone?

optional tone?: string


hold?

optional hold?: object

Defined in: protocol.ts:60

Press-and-hold caps: the down/up command pair (PTT-style).

down

down: string

up

up: string


kind

kind: "cap"

Defined in: protocol.ts:54

Discriminant against WidgetView in a BarRow (widgets never wire).


lit

lit: boolean

Defined in: protocol.ts:64

The cap renders highlighted (the mode/flag it toggles is engaged).


payload?

optional payload?: unknown

Defined in: protocol.ts:58

Payload for the dispatch, when the command takes one.


remote?

optional remote?: boolean

Defined in: protocol.ts:73

The cap is part of the REMOTE subset — a host's filter uses this to decide which of its caps a bar-only remote (the iPad) may see and tap. Set on the bar's cap node and threaded through by barModel/barTree; absent means desktop-only. Widgets can never be remote (widgets never wire).