{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "schema": {
      "const": "quay.asset-manifest",
      "type": "string"
    },
    "schemaVersion": {
      "const": "2.0.0-draft.1",
      "type": "string"
    },
    "manifestId": {
      "type": "string",
      "format": "uuid"
    },
    "assetId": {
      "type": "string",
      "format": "uuid"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "analysis": {
      "type": "object",
      "properties": {
        "schema": {
          "const": "quay.asset-analysis",
          "type": "string"
        },
        "schemaVersion": {
          "const": "2.0.0-draft.2",
          "type": "string"
        },
        "revision": {
          "type": "string"
        },
        "content": {
          "type": "object",
          "properties": {
            "sha256": {
              "type": "string"
            },
            "byteLength": {
              "type": "number"
            }
          },
          "required": ["sha256", "byteLength"],
          "additionalProperties": false
        },
        "analyzer": {
          "type": "object",
          "properties": {
            "version": {
              "type": "string"
            },
            "threeVersion": {
              "type": "string"
            },
            "policy": {
              "type": "string"
            }
          },
          "required": ["version", "threeVersion", "policy"],
          "additionalProperties": false
        },
        "coordinates": {
          "type": "object",
          "properties": {
            "units": {
              "const": "metres",
              "type": "string"
            },
            "up": {
              "const": "+Y",
              "type": "string"
            },
            "authoredForward": {
              "const": "unknown",
              "type": "string"
            }
          },
          "required": ["units", "up", "authoredForward"],
          "additionalProperties": false
        },
        "validation": {
          "type": "object",
          "properties": {
            "container": {
              "const": "passed",
              "type": "string"
            },
            "loader": {
              "const": "passed",
              "type": "string"
            },
            "khronosValidator": {
              "anyOf": [
                {
                  "const": "not-run",
                  "type": "string"
                },
                {
                  "type": "object",
                  "properties": {
                    "producer": {
                      "const": "Khronos glTF Validator",
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "maxIssues": {
                      "type": "number"
                    },
                    "errors": {
                      "type": "number"
                    },
                    "warnings": {
                      "type": "number"
                    },
                    "infos": {
                      "type": "number"
                    },
                    "hints": {
                      "type": "number"
                    },
                    "truncated": {
                      "anyOf": [
                        {
                          "const": false,
                          "type": "boolean"
                        },
                        {
                          "const": true,
                          "type": "boolean"
                        }
                      ]
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "pointer": {
                            "type": "string"
                          },
                          "severity": {
                            "type": "number"
                          }
                        },
                        "required": ["code", "pointer", "severity"],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "producer",
                    "version",
                    "maxIssues",
                    "errors",
                    "warnings",
                    "infos",
                    "hints",
                    "truncated",
                    "messages"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": ["container", "loader", "khronosValidator"],
          "additionalProperties": false
        },
        "inventory": {
          "type": "object",
          "properties": {
            "scenes": {
              "type": "number"
            },
            "nodes": {
              "type": "number"
            },
            "meshes": {
              "type": "number"
            },
            "primitives": {
              "type": "number"
            },
            "materials": {
              "type": "number"
            },
            "textures": {
              "type": "number"
            },
            "skins": {
              "type": "number"
            },
            "morphTargets": {
              "type": "number"
            },
            "animations": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "channels": {
                    "type": "number"
                  }
                },
                "required": ["name", "channels"],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "scenes",
            "nodes",
            "meshes",
            "primitives",
            "materials",
            "textures",
            "skins",
            "morphTargets",
            "animations"
          ],
          "additionalProperties": false
        },
        "geometry": {
          "type": "object",
          "properties": {
            "bounds": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "properties": {
                    "min": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    },
                    "max": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    }
                  },
                  "required": ["min", "max"],
                  "additionalProperties": false
                }
              ]
            },
            "nodes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "nodeIndex": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "localMatrix": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "worldMatrix": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "bounds": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "min": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          },
                          "max": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": ["min", "max"],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "localBounds": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "min": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          },
                          "max": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": ["min", "max"],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "aggregateBounds": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "min": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          },
                          "max": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": ["min", "max"],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "nodeIndex",
                  "name",
                  "localMatrix",
                  "worldMatrix",
                  "bounds",
                  "localBounds",
                  "aggregateBounds"
                ],
                "additionalProperties": false
              }
            },
            "meshes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "gltfMeshIndex": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "primitiveIndex": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "vertices": {
                    "type": "number"
                  },
                  "triangles": {
                    "type": "number"
                  },
                  "skinned": {
                    "anyOf": [
                      {
                        "const": false,
                        "type": "boolean"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      }
                    ]
                  },
                  "morphTargets": {
                    "type": "number"
                  },
                  "bounds": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "min": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          },
                          "max": {
                            "type": "array",
                            "items": {
                              "type": "number"
                            }
                          }
                        },
                        "required": ["min", "max"],
                        "additionalProperties": false
                      }
                    ]
                  }
                },
                "required": [
                  "gltfMeshIndex",
                  "primitiveIndex",
                  "name",
                  "vertices",
                  "triangles",
                  "skinned",
                  "morphTargets",
                  "bounds"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": ["bounds", "nodes", "meshes"],
          "additionalProperties": false
        },
        "featureAvailability": {
          "type": "object",
          "properties": {
            "supportSurfaces": {
              "anyOf": [
                {
                  "const": "not-analyzed",
                  "type": "string"
                },
                {
                  "const": "analyzed",
                  "type": "string"
                },
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                }
              ]
            },
            "contactRegions": {
              "anyOf": [
                {
                  "const": "not-analyzed",
                  "type": "string"
                },
                {
                  "const": "analyzed",
                  "type": "string"
                },
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                }
              ]
            },
            "components": {
              "anyOf": [
                {
                  "const": "not-analyzed",
                  "type": "string"
                },
                {
                  "const": "analyzed",
                  "type": "string"
                },
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                }
              ]
            },
            "cavities": {
              "anyOf": [
                {
                  "const": "not-analyzed",
                  "type": "string"
                },
                {
                  "const": "analyzed",
                  "type": "string"
                },
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                }
              ]
            },
            "openings": {
              "anyOf": [
                {
                  "const": "not-analyzed",
                  "type": "string"
                },
                {
                  "const": "analyzed",
                  "type": "string"
                },
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                }
              ]
            },
            "handles": {
              "anyOf": [
                {
                  "const": "not-analyzed",
                  "type": "string"
                },
                {
                  "const": "analyzed",
                  "type": "string"
                },
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                }
              ]
            },
            "orientation": {
              "anyOf": [
                {
                  "const": "not-analyzed",
                  "type": "string"
                },
                {
                  "const": "analyzed",
                  "type": "string"
                },
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                }
              ]
            },
            "colliders": {
              "anyOf": [
                {
                  "const": "not-analyzed",
                  "type": "string"
                },
                {
                  "const": "analyzed",
                  "type": "string"
                },
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "supportSurfaces",
            "contactRegions",
            "components",
            "cavities",
            "openings",
            "handles",
            "orientation",
            "colliders"
          ],
          "additionalProperties": false
        },
        "planarPatches": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "featureId": {
                "type": "string"
              },
              "meshIndex": {
                "type": "number"
              },
              "faceIndices": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "faceIndicesComplete": {
                "anyOf": [
                  {
                    "const": false,
                    "type": "boolean"
                  },
                  {
                    "const": true,
                    "type": "boolean"
                  }
                ]
              },
              "normal": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "bounds": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "max": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": ["min", "max"],
                "additionalProperties": false
              },
              "areaM2": {
                "type": "number"
              },
              "purposeCandidate": {
                "anyOf": [
                  {
                    "const": "support",
                    "type": "string"
                  },
                  {
                    "const": "contact",
                    "type": "string"
                  },
                  {
                    "const": "other",
                    "type": "string"
                  }
                ]
              },
              "evidence": {
                "const": "measured-coplanar-edge-connected-triangles",
                "type": "string"
              },
              "weldToleranceM": {
                "type": "number"
              },
              "planeToleranceM": {
                "type": "number"
              },
              "surfaceFrame": {
                "type": "object",
                "properties": {
                  "version": {
                    "const": "orthonormal-v1",
                    "type": "string"
                  },
                  "localToAsset": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": ["version", "localToAsset"],
                "additionalProperties": false
              }
            },
            "required": [
              "featureId",
              "meshIndex",
              "faceIndices",
              "faceIndicesComplete",
              "normal",
              "bounds",
              "areaM2",
              "purposeCandidate",
              "evidence",
              "weldToleranceM",
              "planeToleranceM"
            ],
            "additionalProperties": false
          }
        },
        "components": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "featureId": {
                "type": "string"
              },
              "meshIndex": {
                "type": "number"
              },
              "triangleCount": {
                "type": "number"
              },
              "areaM2": {
                "type": "number"
              },
              "bounds": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "max": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": ["min", "max"],
                "additionalProperties": false
              },
              "topology": {
                "anyOf": [
                  {
                    "const": "closed-oriented-at-weld-tolerance",
                    "type": "string"
                  },
                  {
                    "const": "open-or-nonmanifold",
                    "type": "string"
                  }
                ]
              },
              "weldToleranceM": {
                "type": "number"
              }
            },
            "required": [
              "featureId",
              "meshIndex",
              "triangleCount",
              "areaM2",
              "bounds",
              "topology",
              "weldToleranceM"
            ],
            "additionalProperties": false
          }
        },
        "interpretation": {
          "type": "object",
          "properties": {
            "status": {
              "const": "unknown",
              "type": "string"
            },
            "producer": {
              "const": "none",
              "type": "string"
            }
          },
          "required": ["status", "producer"],
          "additionalProperties": false
        },
        "authored": {
          "type": "object",
          "properties": {
            "defaultScene": {
              "type": "number"
            },
            "scenes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "sceneIndex": {
                    "type": "number"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "roots": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": ["sceneIndex", "name", "roots"],
                "additionalProperties": false
              }
            },
            "nodes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "nodeIndex": {
                    "type": "number"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "children": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "mesh": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "skin": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "matrix": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  },
                  "translation": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  },
                  "rotation": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  },
                  "scale": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  },
                  "weights": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  }
                },
                "required": [
                  "nodeIndex",
                  "name",
                  "children",
                  "mesh",
                  "skin",
                  "matrix",
                  "translation",
                  "rotation",
                  "scale",
                  "weights"
                ],
                "additionalProperties": false
              }
            },
            "meshes": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "meshIndex": {
                    "type": "number"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "weights": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  },
                  "primitives": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "primitiveIndex": {
                          "type": "number"
                        },
                        "mode": {
                          "type": "number"
                        },
                        "indices": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "material": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "attributes": {
                          "type": "object",
                          "properties": {},
                          "required": [],
                          "additionalProperties": {
                            "anyOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "number"
                              }
                            ]
                          }
                        },
                        "morphTargets": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {},
                            "required": [],
                            "additionalProperties": {
                              "anyOf": [
                                {
                                  "type": "null"
                                },
                                {
                                  "type": "number"
                                }
                              ]
                            }
                          }
                        }
                      },
                      "required": [
                        "primitiveIndex",
                        "mode",
                        "indices",
                        "material",
                        "attributes",
                        "morphTargets"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": ["meshIndex", "name", "weights", "primitives"],
                "additionalProperties": false
              }
            },
            "accessors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "accessorIndex": {
                    "type": "number"
                  },
                  "bufferView": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "byteOffset": {
                    "type": "number"
                  },
                  "componentType": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "count": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "type": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "normalized": {
                    "anyOf": [
                      {
                        "const": false,
                        "type": "boolean"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      }
                    ]
                  },
                  "min": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  },
                  "max": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  },
                  "sparseCount": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "required": [
                  "accessorIndex",
                  "bufferView",
                  "byteOffset",
                  "componentType",
                  "count",
                  "type",
                  "normalized",
                  "min",
                  "max",
                  "sparseCount"
                ],
                "additionalProperties": false
              }
            },
            "materials": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "materialIndex": {
                    "type": "number"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "doubleSided": {
                    "anyOf": [
                      {
                        "const": false,
                        "type": "boolean"
                      },
                      {
                        "const": true,
                        "type": "boolean"
                      }
                    ]
                  },
                  "alphaMode": {
                    "type": "string"
                  },
                  "baseColorFactor": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  },
                  "metallicFactor": {
                    "type": "number"
                  },
                  "roughnessFactor": {
                    "type": "number"
                  },
                  "baseColorTexture": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "normalTexture": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "emissiveFactor": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      }
                    ]
                  }
                },
                "required": [
                  "materialIndex",
                  "name",
                  "doubleSided",
                  "alphaMode",
                  "baseColorFactor",
                  "metallicFactor",
                  "roughnessFactor",
                  "baseColorTexture",
                  "normalTexture",
                  "emissiveFactor"
                ],
                "additionalProperties": false
              }
            },
            "textures": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "textureIndex": {
                    "type": "number"
                  },
                  "source": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "sampler": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "required": ["textureIndex", "source", "sampler"],
                "additionalProperties": false
              }
            },
            "images": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "imageIndex": {
                    "type": "number"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "mimeType": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "bufferView": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "required": ["imageIndex", "name", "mimeType", "bufferView"],
                "additionalProperties": false
              }
            },
            "skins": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "skinIndex": {
                    "type": "number"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "joints": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "skeleton": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "inverseBindMatrices": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "required": [
                  "skinIndex",
                  "name",
                  "joints",
                  "skeleton",
                  "inverseBindMatrices"
                ],
                "additionalProperties": false
              }
            },
            "animations": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "animationIndex": {
                    "type": "number"
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "channels": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sampler": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "node": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "path": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "required": ["sampler", "node", "path"],
                      "additionalProperties": false
                    }
                  },
                  "samplers": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "input": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "output": {
                          "anyOf": [
                            {
                              "type": "null"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        },
                        "interpolation": {
                          "type": "string"
                        }
                      },
                      "required": ["input", "output", "interpolation"],
                      "additionalProperties": false
                    }
                  }
                },
                "required": ["animationIndex", "name", "channels", "samplers"],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "defaultScene",
            "scenes",
            "nodes",
            "meshes",
            "accessors",
            "materials",
            "textures",
            "images",
            "skins",
            "animations"
          ],
          "additionalProperties": false
        },
        "recommendations": {
          "type": "object",
          "properties": {
            "policy": {
              "const": "authored-frame-conservative-v1",
              "type": "string"
            },
            "normalization": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "properties": {
                    "status": {
                      "const": "suggested",
                      "type": "string"
                    },
                    "translation": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "number"
                        }
                      ],
                      "minItems": 3,
                      "maxItems": 3,
                      "items": false
                    },
                    "quaternion": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "number"
                        }
                      ],
                      "minItems": 4,
                      "maxItems": 4,
                      "items": false
                    },
                    "scale": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "number"
                        }
                      ],
                      "minItems": 3,
                      "maxItems": 3,
                      "items": false
                    },
                    "evidence": {
                      "const": "measured-bounds-center-and-ground",
                      "type": "string"
                    }
                  },
                  "required": [
                    "status",
                    "translation",
                    "quaternion",
                    "scale",
                    "evidence"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            "orientation": {
              "type": "object",
              "properties": {
                "up": {
                  "const": "+Y",
                  "type": "string"
                },
                "upEvidence": {
                  "const": "gltf-coordinate-convention",
                  "type": "string"
                },
                "front": {
                  "const": "unknown",
                  "type": "string"
                },
                "horizontalLongAxis": {
                  "anyOf": [
                    {
                      "const": "X",
                      "type": "string"
                    },
                    {
                      "const": "Z",
                      "type": "string"
                    },
                    {
                      "const": "ambiguous",
                      "type": "string"
                    }
                  ]
                },
                "evidence": {
                  "const": "measured-axis-aligned-extents",
                  "type": "string"
                }
              },
              "required": [
                "up",
                "upEvidence",
                "front",
                "horizontalLongAxis",
                "evidence"
              ],
              "additionalProperties": false
            },
            "colliderCandidates": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "shape": {
                    "const": "box",
                    "type": "string"
                  },
                  "center": {
                    "type": "array",
                    "prefixItems": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "minItems": 3,
                    "maxItems": 3,
                    "items": false
                  },
                  "halfExtents": {
                    "type": "array",
                    "prefixItems": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "minItems": 3,
                    "maxItems": 3,
                    "items": false
                  },
                  "evidence": {
                    "const": "conservative-rest-pose-bound-envelope",
                    "type": "string"
                  },
                  "approximation": {
                    "const": "may-fill-openings-and-empty-space",
                    "type": "string"
                  },
                  "requiresAcceptance": {
                    "const": true,
                    "type": "boolean"
                  }
                },
                "required": [
                  "id",
                  "shape",
                  "center",
                  "halfExtents",
                  "evidence",
                  "approximation",
                  "requiresAcceptance"
                ],
                "additionalProperties": false
              }
            },
            "physics": {
              "type": "object",
              "properties": {
                "motion": {
                  "const": "static",
                  "type": "string"
                },
                "collision": {
                  "anyOf": [
                    {
                      "const": "none",
                      "type": "string"
                    },
                    {
                      "const": "solid",
                      "type": "string"
                    }
                  ]
                },
                "controller": {
                  "const": "none",
                  "type": "string"
                },
                "role": {
                  "const": "unknown",
                  "type": "string"
                },
                "evidence": {
                  "const": "conservative-fallback-not-material-inference",
                  "type": "string"
                },
                "accepted": {
                  "const": false,
                  "type": "boolean"
                }
              },
              "required": [
                "motion",
                "collision",
                "controller",
                "role",
                "evidence",
                "accepted"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "policy",
            "normalization",
            "orientation",
            "colliderCandidates",
            "physics"
          ],
          "additionalProperties": false
        },
        "staticColliders": {
          "type": "object",
          "properties": {
            "status": {
              "anyOf": [
                {
                  "const": "partial",
                  "type": "string"
                },
                {
                  "const": "unsupported",
                  "type": "string"
                },
                {
                  "const": "complete",
                  "type": "string"
                }
              ]
            },
            "candidates": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "meshIndex": {
                    "type": "number"
                  },
                  "geometry": {
                    "type": "object",
                    "properties": {
                      "shape": {
                        "const": "triangle-mesh",
                        "type": "string"
                      },
                      "motion": {
                        "const": "static-only",
                        "type": "string"
                      },
                      "coordinateFrame": {
                        "const": "authored-scene",
                        "type": "string"
                      },
                      "vertices": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "indices": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "sourceFaces": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        }
                      },
                      "evidence": {
                        "const": "measured-triangles-no-simplification",
                        "type": "string"
                      },
                      "requiresAcceptance": {
                        "const": true,
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "shape",
                      "motion",
                      "coordinateFrame",
                      "vertices",
                      "indices",
                      "evidence",
                      "requiresAcceptance"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": ["meshIndex", "geometry"],
                "additionalProperties": false
              }
            }
          },
          "required": ["status", "candidates"],
          "additionalProperties": false
        },
        "fittedPrimitives": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "meshIndex": {
                "type": "number"
              },
              "geometry": {
                "type": "object",
                "properties": {
                  "shape": {
                    "const": "box",
                    "type": "string"
                  },
                  "center": {
                    "type": "array",
                    "prefixItems": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "minItems": 3,
                    "maxItems": 3,
                    "items": false
                  },
                  "halfExtents": {
                    "type": "array",
                    "prefixItems": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "minItems": 3,
                    "maxItems": 3,
                    "items": false
                  },
                  "evidence": {
                    "const": "six-face-triangle-union-coverage",
                    "type": "string"
                  },
                  "toleranceM": {
                    "type": "number"
                  },
                  "requiresAcceptance": {
                    "const": true,
                    "type": "boolean"
                  }
                },
                "required": [
                  "shape",
                  "center",
                  "halfExtents",
                  "evidence",
                  "toleranceM",
                  "requiresAcceptance"
                ],
                "additionalProperties": false
              }
            },
            "required": ["meshIndex", "geometry"],
            "additionalProperties": false
          }
        },
        "orientedBounds": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "meshIndex": {
                "type": "number"
              },
              "bounds": {
                "type": "object",
                "properties": {
                  "center": {
                    "type": "array",
                    "prefixItems": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "minItems": 3,
                    "maxItems": 3,
                    "items": false
                  },
                  "halfExtents": {
                    "type": "array",
                    "prefixItems": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "minItems": 3,
                    "maxItems": 3,
                    "items": false
                  },
                  "quaternion": {
                    "type": "array",
                    "prefixItems": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "minItems": 4,
                    "maxItems": 4,
                    "items": false
                  },
                  "evidence": {
                    "const": "authored-orthogonal-axis-envelope",
                    "type": "string"
                  },
                  "occupancy": {
                    "const": "unknown",
                    "type": "string"
                  }
                },
                "required": [
                  "center",
                  "halfExtents",
                  "quaternion",
                  "evidence",
                  "occupancy"
                ],
                "additionalProperties": false
              }
            },
            "required": ["meshIndex", "bounds"],
            "additionalProperties": false
          }
        },
        "clearanceProbes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "featureId": {
                "type": "string"
              },
              "origin": {
                "type": "array",
                "prefixItems": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "number"
                  }
                ],
                "minItems": 3,
                "maxItems": 3,
                "items": false
              },
              "direction": {
                "type": "array",
                "prefixItems": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "number"
                  }
                ],
                "minItems": 3,
                "maxItems": 3,
                "items": false
              },
              "rangeM": {
                "type": "number"
              },
              "hitDistanceM": {
                "anyOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "const": "unknown",
                    "type": "string"
                  },
                  {
                    "const": "observed-hit",
                    "type": "string"
                  },
                  {
                    "const": "no-hit-within-range",
                    "type": "string"
                  }
                ]
              },
              "scope": {
                "const": "single-ray-not-volume-clearance",
                "type": "string"
              },
              "geometryComplete": {
                "anyOf": [
                  {
                    "const": false,
                    "type": "boolean"
                  },
                  {
                    "const": true,
                    "type": "boolean"
                  }
                ]
              }
            },
            "required": [
              "featureId",
              "origin",
              "direction",
              "rangeM",
              "hitDistanceM",
              "status",
              "scope",
              "geometryComplete"
            ],
            "additionalProperties": false
          }
        },
        "rectangularCavities": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "bounds": {
                "type": "object",
                "properties": {
                  "min": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "max": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": ["min", "max"],
                "additionalProperties": false
              },
              "opening": {
                "const": "+Y",
                "type": "string"
              },
              "evidence": {
                "const": "five-covered-inward-planes-empty-interior",
                "type": "string"
              },
              "toleranceM": {
                "type": "number"
              }
            },
            "required": ["bounds", "opening", "evidence", "toleranceM"],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "schema",
        "schemaVersion",
        "revision",
        "content",
        "analyzer",
        "coordinates",
        "validation",
        "inventory",
        "geometry",
        "featureAvailability",
        "planarPatches",
        "components",
        "interpretation",
        "authored"
      ],
      "additionalProperties": false
    },
    "acceptedOverrides": {
      "type": "object",
      "properties": {
        "producer": {
          "const": "user",
          "type": "string"
        },
        "state": {
          "const": "accepted",
          "type": "string"
        },
        "baseManifestId": {
          "type": "string",
          "format": "uuid"
        },
        "analysisRevision": {
          "type": "string"
        },
        "values": {
          "type": "object",
          "properties": {
            "role": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "string"
                }
              ]
            },
            "front": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "const": "+X",
                  "type": "string"
                },
                {
                  "const": "-X",
                  "type": "string"
                },
                {
                  "const": "+Z",
                  "type": "string"
                },
                {
                  "const": "-Z",
                  "type": "string"
                }
              ]
            },
            "featureLabels": {
              "type": "object",
              "properties": {},
              "required": [],
              "additionalProperties": {
                "type": "string"
              }
            },
            "physics": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "properties": {
                    "motion": {
                      "anyOf": [
                        {
                          "const": "static",
                          "type": "string"
                        },
                        {
                          "const": "dynamic",
                          "type": "string"
                        },
                        {
                          "const": "kinematic",
                          "type": "string"
                        }
                      ]
                    },
                    "collision": {
                      "anyOf": [
                        {
                          "const": "none",
                          "type": "string"
                        },
                        {
                          "const": "solid",
                          "type": "string"
                        },
                        {
                          "const": "sensor",
                          "type": "string"
                        }
                      ]
                    },
                    "controller": {
                      "const": "none",
                      "type": "string"
                    },
                    "massKg": {
                      "type": "number"
                    },
                    "friction": {
                      "type": "number"
                    },
                    "restitution": {
                      "type": "number"
                    },
                    "shape": {
                      "anyOf": [
                        {
                          "const": "box",
                          "type": "string"
                        },
                        {
                          "const": "triangle-mesh",
                          "type": "string"
                        },
                        {
                          "const": "auto",
                          "type": "string"
                        },
                        {
                          "const": "convex-hull",
                          "type": "string"
                        },
                        {
                          "const": "decomposition",
                          "type": "string"
                        }
                      ]
                    }
                  },
                  "required": ["motion", "collision", "controller"],
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": ["role", "front", "featureLabels", "physics"],
          "additionalProperties": false
        }
      },
      "required": [
        "producer",
        "state",
        "baseManifestId",
        "analysisRevision",
        "values"
      ],
      "additionalProperties": false
    },
    "semanticInterpretation": {
      "type": "object",
      "properties": {
        "version": {
          "const": "quay.asset-interpretation/1",
          "type": "string"
        },
        "producer": {
          "anyOf": [
            {
              "const": "none",
              "type": "string"
            },
            {
              "const": "openai",
              "type": "string"
            }
          ]
        },
        "model": {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "string"
            }
          ]
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "baseManifestId": {
          "type": "string",
          "format": "uuid"
        },
        "analysisRevision": {
          "type": "string"
        },
        "state": {
          "anyOf": [
            {
              "const": "unknown",
              "type": "string"
            },
            {
              "const": "suggested",
              "type": "string"
            },
            {
              "const": "accepted",
              "type": "string"
            },
            {
              "const": "disputed",
              "type": "string"
            }
          ]
        },
        "reviewedBy": {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "const": "user",
              "type": "string"
            }
          ]
        },
        "diagnostic": {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "string"
            }
          ]
        },
        "suggestion": {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "object",
              "properties": {
                "role": {
                  "anyOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "physicalArchetype": {
                  "anyOf": [
                    {
                      "type": "null"
                    },
                    {
                      "const": "furniture",
                      "type": "string"
                    },
                    {
                      "const": "prop",
                      "type": "string"
                    },
                    {
                      "const": "architecture",
                      "type": "string"
                    },
                    {
                      "const": "actor",
                      "type": "string"
                    },
                    {
                      "const": "decorative",
                      "type": "string"
                    }
                  ]
                },
                "affordances": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "const": "supports",
                        "type": "string"
                      },
                      {
                        "const": "contains",
                        "type": "string"
                      },
                      {
                        "const": "graspable",
                        "type": "string"
                      },
                      {
                        "const": "sit-on",
                        "type": "string"
                      },
                      {
                        "const": "stand-on",
                        "type": "string"
                      }
                    ]
                  }
                },
                "features": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "featureId": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string"
                      },
                      "evidence": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "confidence": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "featureId",
                      "label",
                      "evidence",
                      "confidence"
                    ],
                    "additionalProperties": false
                  }
                },
                "evidence": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "confidence": {
                  "type": "number"
                }
              },
              "required": [
                "role",
                "physicalArchetype",
                "affordances",
                "features",
                "evidence",
                "confidence"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      "required": [
        "version",
        "producer",
        "model",
        "createdAt",
        "baseManifestId",
        "analysisRevision",
        "state",
        "reviewedBy",
        "diagnostic",
        "suggestion"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "schema",
    "schemaVersion",
    "manifestId",
    "assetId",
    "createdAt",
    "analysis"
  ],
  "additionalProperties": false
}
