You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

98 lines
2.4 KiB

{
"$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": "number" },
"selected_fill_color" : { "type": "number" },
"hex_line_color" : { "type": "number" },
"hexlib_orientation" : { "type": "string" },
"hex_size" : { "type": "number" },
"grid_type" : { "enum": ["hexagon", "hash_map"] },
"oneOf": [
{"properties": {"hex_radius": { "type": "number" }}, "required": ["hex_radius"]},
{"properties": {"map_file": {"type": "string"}}, "required": ["map_file"]}
]
},
"required": [
"position",
"fill_color",
"selected_fill_color",
"hex_line_color",
"hexlib_orientation",
"hex_size",
"grid_type"
]
},
"entities": {
"type": "array",
"items": {
"name": { "type": "string" },
"model_file": { "type": "string" },
"position": { "$ref": "#/definitions/vector3" },
"rotation": { "$ref": "#/definitions/vector4" },
"scale": { "$ref": "#/definitions/vector3" },
"grid_pos": { "$ref": "#/definitions/vector3" }
},
"required" : ["name", "model_file", "position", "rotation", "scale", "grid_pos"]
},
"lights": {
"type": "array",
"items": {
"intensity": { "type": "number" },
"color": { "type": "#/definitions/rgb" },
"position": { "$ref": "#/definitions/vector3" }
},
"required" : ["intensity", "color", "position"]
}
}
}