{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "name": "Material Asset",
    "description": "asset.json specification for materials.",
    "type": "object",
    "properties": {
        "asset_type": {
            "type": "string",
            "pattern": "material"
        },
        "shader": {
            "type": "string",
            "description": "path to a shader asset"
        },
        "parameters": {
            "description": "The parameters to override from the shader",
            "type": "object",
            "patternProperties": {
                ".*": {
                    "description": "The overrided value",
                    "anyOf": [
                        {
                            "type": "string"
                        },
                        {
                            "type": "array",
                            "items": {
                                "type": "number"
                            },
                            "minItems": 2,
                            "maxItems": 4
                        },
                        {
                            "type": "number"
                        }
                    ]
                }
            }
        }
    },
    "required": [
        "asset_type",
        "shader",
        "parameters"
    ]
}