{ "$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" ] } } } } } } } }