Schemas / UI (control surfaces)

rig.ui.panel

v0.31.0 · draft 5 fields 0 required

Fields

FieldTypeMeaning
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.jsonraw 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."
}

Seen in

portable-tool.json · ui-panel.json