Vulkan-Docs/config/vu-to-json/vu_schema.json

63 lines
1.7 KiB
JSON

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Command and Structure Validation in Vulkan",
"description": "A database of validatable commands and structures in the Vulkan API",
"type": "object",
"additionalProperties": false,
"properties": {
"version info": {
"additionalProperties": false,
"properties": {
"schema version": {"type": "integer", "const": 2},
"api version": {"type": "string"},
"comment": {"type": "string"},
"date": {"type": "string"}
},
"required": [
"schema version",
"api version",
"comment",
"date"
]
},
"validation": {
"patternProperties": {
"^[vV]k[A-Z][A-Za-z0-9]+$": {
"title": "Vulkan Command or Structure",
"description": "Validation information for a structure or command in the Vulkan API",
"patternProperties": {
"^[\\w+!|]+$": {
"type": "array",
"uniqueItems": true,
"minItems": 1,
"items":
{
"title": "Valid Usage Statement",
"description": "A valid usage statement",
"type": "object",
"additionalProperties": false,
"properties": {
"vuid": {
"title": "Valid Usage ID",
"description": "String identifier for a valid usage statement, corresponding to an anchor in the spec for that statement",
"type": "string",
"pattern": "VUID-[vV]k[A-Z][A-Za-z0-9]+-[A-Za-z0-9-]*[A-Za-z0-9]"
},
"text": {
"title": "Valid Usage Text",
"description": "HTML formatted string of the valid usage statement text",
"type": "string"
}
},
"required": [
"vuid",
"text"
]
}
}
}
}
}
}
}
}