Schemas / Other

rig.vr.headset

v1.0.0 · stable maturity: draft 6 fields 0 required

Fields

FieldTypeMeaning
player int optional Optional. Player index (0-based); absent = 0
refreshHz number> 0 optional Optional. Selected refresh. Absent = the host default
ipdMetres number> 0 optional Optional. Interpupillary distance, metres. Absent = the host default
eyeWidth integer1 – * optional Optional. Selected render width of one eye, pixels
eyeHeight integer1 – * optional Optional. Selected render height of one eye, pixels
blend enumopaque · additive · alpha optional Optional. opaque, additive, alpha. Absent = opaque

The selected stereo display. Format when present.

ipdMetres is a catalog fact in metres, whatever document.defaultUnit says. Eye poses are still rig.spatial.transform on each rig.vr.eye.

blend alpha and additive are see-through (passthrough). opaque hides the room.

Swapchains, foveation, hidden-area masks, and reprojection stay in the host. A head pose is rig.vr.tracker role head, not a field here. An inertial sample composes rig.sensor.imu on that head entity; orientation is its transform.

JSON Schema

Resolves at https://rig.works/schemas/rig.vr.headset.schema.json — raw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.vr.headset.schema.json",
  "title": "rig.vr.headset",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "player": {
      "$ref": "./_defs.schema.json#/$defs/int"
    },
    "refreshHz": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "ipdMetres": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "eyeWidth": {
      "type": "integer",
      "minimum": 1
    },
    "eyeHeight": {
      "type": "integer",
      "minimum": 1
    },
    "blend": {
      "type": "string",
      "enum": [
        "opaque",
        "additive",
        "alpha"
      ]
    }
  },
  "x-rig-maturity": "draft"
}

Seen in

vr-room.json