Files
GSP/specs/versions/0.1/gsp.manifest.schema.json

72 lines
1.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://gsp.local/schema/gsp.manifest.schema.json",
"title": "GSP Manifest",
"description": "Game Specification Protocol project manifest schema.",
"type": "object",
"additionalProperties": true,
"properties": {
"gspVersion": {
"type": "string",
"description": "GSP language version used by this project."
},
"toolkitVersion": {
"type": "string",
"description": "Expected GSP Toolkit version."
},
"project": {
"type": "string",
"description": "Project id or name."
},
"entry": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Entry GSP ids."
},
"scan": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Directories or files scanned by the Toolkit. Defaults to design."
},
"customFieldPolicy": {
"type": "string",
"enum": ["strict", "warn", "loose"],
"description": "Policy for custom fields that are not built in. Defaults to strict."
},
"fieldRegistry": {
"type": "string",
"description": "Path to the project custom field registry. Defaults to gsp.fields."
},
"stageRules": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": true,
"properties": {
"minResolution": {
"type": "string",
"enum": ["L0", "L1", "L2", "L3", "L4", "L5"]
}
}
}
},
"types": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"output": {
"type": "string",
"description": "Default Toolkit output directory."
}
}
}