Schemas / UI (control surfaces)
rig.ui.action
v0.31.0 · draft 5 fields 3 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
panel |
entity | required | Owning rig.ui.panel |
group |
entity | optional | Optional. Owning rig.ui.group; absent or null = direct child of the panel |
order |
int | required | Sort key within the panel or group |
actionId |
string | required | Command catalog id (e.g. lfo.resetPhase, transport.play) |
enabled |
bool | optional | Whether the action can be invoked |
A command button on a panel. Edges toward behavior; this schema is the piece most likely to change before 1.0.0.
Labels compose rig.meta.named. What the action does is fulfillment - the Contract only names which command the surface exposes.
Portability: prefer shared actionId names that both hosts implement. Unknown ids may be hidden or disabled (ship what you support). Host-private ids are valid but non-portable. Cross-app tools should prefer rig.ui.control (mutate shared POD) over actions when possible - see ui.md.
Required: panel, order, actionId.
JSON Schema
Resolves at https://rig.works/schemas/rig.ui.action.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.ui.action.schema.json",
"title": "rig.ui.action",
"type": "object",
"additionalProperties": false,
"properties": {
"panel": {
"$ref": "./_defs.schema.json#/$defs/entity"
},
"group": {
"$ref": "./_defs.schema.json#/$defs/entity"
},
"order": {
"$ref": "./_defs.schema.json#/$defs/int"
},
"actionId": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"enabled": {
"$ref": "./_defs.schema.json#/$defs/bool"
}
},
"required": [
"panel",
"order",
"actionId"
],
"description": "Command button. Prefer shared actionId names for portable tools; unknown ids may be hidden. Most likely to change before 1.0.0."
}