{ "$schema": "http://json-schema.org/draft-04/schema#", "definitions": { "vector3": { "type": "object", "properties": { "x": { "type": "number" }, "y": { "type": "number" }, "z": { "type": "number" } }, "required": ["x", "y", "z"] }, "rgb": { "type": "object", "properties": { "r": { "type": "number" }, "g": { "type": "number" }, "b": { "type": "number" } }, "required": ["r", "g", "b"] }, "vector4": { "type": "object", "properties": { "x": { "type": "number" }, "y": { "type": "number" }, "z": { "type": "number" }, "w": { "type": "number" } }, "required": ["x", "y", "z", "w"] } }, "type": "object", "properties": { "camera": { "type": "object", "properties": { "position": { "$ref": "#/definitions/vector3" }, "target": { "$ref": "#/definitions/vector3" }, "world_up": { "$ref": "#/definitions/vector3" } }, "required": ["position", "target", "world_up"] }, "hex_grid" : { "type": "object", "properties": { "position": { "$ref": "#/definitions/vector3" }, "fill_color" : { "type": "string" }, "selected_fill_color" : { "type": "string" }, "hex_line_color" : { "type": "string" }, "hexlib_orientation" : { "type": "string" }, "hex_size" : { "type": "number" }, "grid_type" : { "type": "string" }, "hex_radius" : { "type": "number" } }, "required": [ "position", "fill_color", "selected_fill_color", "hex_line_color", "hexlib_orientation", "hex_size", "grid_type", "hex_radius" ] }, "entities": { "type": "array", "items": { "name": { "type": "string" }, "model_file": { "type": "string" }, "position": { "$ref": "#/definitions/vector3" }, "rotation": { "$ref": "#/definitions/vector4" }, "scale": { "$ref": "#/definitions/vector3" } }, "required" : ["name", "model_file", "position", "rotation", "scale"] }, "lights": { "type": "array", "items": { "intensity": { "type": "number" }, "color": { "type": "#/definitions/rgb" }, "position": { "$ref": "#/definitions/vector3" } }, "required" : ["intensity", "color", "position"] } } }