{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "class.schema.json",
    "title": "Class in EXT_structural_metadata",
    "type": "object",
    "description": "A class containing a set of properties.",
    "allOf": [
        {
            "$ref": "glTFProperty.schema.json"
        }
    ],
    "properties": {
        "name": {
            "type": "string",
            "minLength": 1,
            "description": "The name of the class, e.g. for display purposes."
        },
        "description": {
            "type": "string",
            "minLength": 1,
            "description": "The description of the class."
        },
        "properties": {
            "type": "object",
            "description": "A dictionary, where each key is a property ID and each value is an object defining the property. Property IDs must be alphanumeric identifiers matching the regular expression `^[a-zA-Z_][a-zA-Z0-9_]*$`.",
            "minProperties": 1,
            "additionalProperties": {
                "$ref": "class.property.schema.json"
            }
        },
        "extensions": {},
        "extras": {}
    }
}