Files
parallel-launcher.gitlab.io/public/layout/basic-01/schema.json
2025-07-30 12:33:52 -04:00

66 lines
1.4 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://parallel-launcher.ca/layout/basic-01/schema.json",
"title": "Basic Parallel Star Layout Schema",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"const": "https://parallel-launcher.ca/layout/basic-01/schema.json"
},
"skipFileSelect": {
"type": "boolean"
},
"groups": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"side": {
"type": "string",
"enum": [ "left", "right" ]
},
"courses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"courseId": {
"type": "integer",
"minimum": 0,
"maximum": 25
},
"starMask": {
"type": "integer",
"minimum": 1,
"maximum": 255
}
},
"required": [ "courseId", "starMask" ]
}
}
},
"required": [ "name", "side", "courses" ]
}
},
"collectedStarIcon": {
"type": [ "string", "null" ],
"pattern": "[a-zA-Z0-9+/]+={0,2}",
"maxLength": 6828
},
"missingStarIcon": {
"type": [ "string", "null" ],
"pattern": "[a-zA-Z0-9+/]+={0,2}",
"maxLength": 6828
}
},
"required": [ "$schema", "groups", "skipFileSelect" ]
}