Schemas / Other
rig.vr.headset
v1.0.0 · stable maturity: draft 6 fields 0 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
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"
}