Schemas / UI (control surfaces)
rig.ui.panel
v0.31.0 · draft 5 fields 0 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
role |
string | optional | Optional. Stable tool id (e.g. led.install, mod.lfo) so another host can find or merge the tool |
order |
int | optional | Optional. Sort key among sibling panels; absent = 0 |
visible |
bool | optional | Optional. Whether the panel is shown; absent = true |
preferredWidth |
float | optional | Optional. Advisory width hint in the document's defaultUnit; hosts may ignore |
preferredHeight |
float | optional | Optional. Advisory height hint; hosts may ignore |
Portable tool surface - a window/panel of controls that any UI pack can redraw. Labels compose rig.meta.named - do not re-declare name here.
Controls, actions, and rig.ui.group reference this entity via their panel field. Layout chrome (docks, tabs, ESP page shells, toolkit window flags) is fulfillment - not this schema.
A host that implements six schemas and ignores the rest may still ship a panel over the fields it understands. Ship what you support.
JSON Schema
Resolves at https://rig.works/schemas/rig.ui.panel.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.ui.panel.schema.json",
"title": "rig.ui.panel",
"type": "object",
"additionalProperties": false,
"properties": {
"role": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"order": {
"$ref": "./_defs.schema.json#/$defs/int"
},
"visible": {
"$ref": "./_defs.schema.json#/$defs/bool"
},
"preferredWidth": {
"$ref": "./_defs.schema.json#/$defs/float"
},
"preferredHeight": {
"$ref": "./_defs.schema.json#/$defs/float"
}
},
"description": "Portable tool surface. role is a stable tool id; preferred sizes are advisory. Dock/chrome is fulfillment."
}