← Files Build 3D Game RoomsARCHIVED FILE
skills/build-3d-game-rooms/references/schemas/room-layout.schema.json
2.13 KB · Sep 30, 2026 · 23:15 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "game-room.layout.v1",
"type": "object",
"required": ["schema", "roomId", "units", "surfaces", "instances", "productionCamera"],
"properties": {
"schema": {"const": "game-room.layout.v1"},
"roomId": {"type": "string", "minLength": 1},
"units": {"const": "meters"},
"surfaces": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["id", "kind", "dimensionsMeters", "location", "rotationDegrees", "material"],
"properties": {
"id": {"type": "string", "minLength": 1},
"kind": {"enum": ["floor", "wall", "ceiling", "platform", "beam"]},
"dimensionsMeters": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number", "exclusiveMinimum": 0}},
"location": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number"}},
"rotationDegrees": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number"}},
"material": {"type": "object", "required": ["baseColor", "metallic", "roughness"], "properties": {"baseColor": {"type": "array", "minItems": 4, "maxItems": 4, "items": {"type": "number", "minimum": 0, "maximum": 1}}, "metallic": {"type": "number", "minimum": 0, "maximum": 1}, "roughness": {"type": "number", "minimum": 0, "maximum": 1}}}
}
}
},
"instances": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "assetId", "location", "rotationDegrees", "scale"],
"properties": {
"id": {"type": "string", "minLength": 1},
"assetId": {"type": "string", "minLength": 1},
"location": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number"}},
"rotationDegrees": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number"}},
"scale": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "number", "exclusiveMinimum": 0}}
}
}
},
"productionCamera": {"type": "object", "required": ["location", "target", "verticalFovDegrees"]}
}
}
SHA-256: a145b744229a3b0065d0b6653d97018901fb49abcf1d569a3502745ac24d861b