123 lines
3.3 KiB
JSON
123 lines
3.3 KiB
JSON
{
|
|
"$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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|