{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Ralpha Asset Catalogue", "description": "Machine-readable index of all assets in ralpha-ue5", "type": "object", "required": ["version", "generated_at", "assets"], "properties": { "version": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" }, "generated_at": { "type": "string", "format": "date-time" }, "asset_count": { "type": "integer" }, "categories": { "type": "array", "items": { "type": "string" } }, "assets": { "type": "array", "items": { "$ref": "#/definitions/Asset" } } }, "definitions": { "Asset": { "type": "object", "required": ["id", "name", "category", "unreal_path"], "properties": { "id": { "type": "string", "description": "Stable unique identifier (snake_case)", "pattern": "^[a-z][a-z0-9_]*$" }, "name": { "type": "string", "description": "Human-readable display name" }, "category": { "type": "string", "description": "Category path (e.g., Furniture/Seating)" }, "unreal_path": { "type": "string", "description": "Full Unreal asset path", "pattern": "^/Game/" }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Searchable tags/synonyms" }, "thumbnail": { "type": "string", "description": "Relative path to thumbnail image" }, "bounds": { "type": "object", "description": "Bounding box in cm", "properties": { "x": { "type": "number" }, "y": { "type": "number" }, "z": { "type": "number" } } }, "pivot": { "type": "string", "enum": ["bottom_center", "center", "bottom_back", "custom"], "default": "bottom_center" }, "placement_modes": { "type": "array", "items": { "type": "string", "enum": ["floor", "wall", "ceiling", "surface", "hanging", "floating"] }, "default": ["floor"] }, "collision": { "type": "boolean", "default": true }, "lods": { "type": "integer", "description": "Number of LOD levels" }, "triangle_count": { "type": "integer", "description": "LOD0 triangle count" }, "materials": { "type": "array", "items": { "type": "string" }, "description": "Material slot names" }, "variants": { "type": "array", "items": { "type": "string" }, "description": "IDs of variant assets (e.g., color options)" }, "license": { "type": "object", "properties": { "type": { "type": "string", "enum": ["CC0", "CC-BY", "CC-BY-SA", "Megascans", "Marketplace", "Custom", "Restricted"] }, "source": { "type": "string" }, "attribution": { "type": "string" } } }, "added_at": { "type": "string", "format": "date-time" } } } } }