{ "$schema":                            "https://json-schema.org/draft/2020-12/schema",
  "$id":                                "https://schemas.mpai.community/OSD/V1.5/data/BasicVisualObject.json",
  "title":                              "Basic Visual Object V1.5", 
  "type":                               "object", 
  "properties":                         {

    "Header":                           { "type": "string", "pattern": "^OSD-BVO-V[0-9]{1,2}[.][0-9]{1,2}$" },
    "MInstanceID":                      { "type": "string" },
    "UEnvironmentID":                   { "type": "string" },
    "BasicVisualObjectID":              { "type": "string" },

    "ParentObjects":                    { "type": "array", "items": { "type": "object", "properties": {
      "ParentObjectID":                 { "type": "string" },
      "ParentObjectSpaceTime":          { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/SpaceTime.json" } } } },

    "ChildObjects":                     { "type": "array", "items": { "type": "object", "properties": {
      "ChildObjectID":                  { "type": "string" },
      "ChildObjectSpaceTime":           { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/SpaceTime.json" } } } },

    "BasicVisualObjectData":            { "type": "array", "items": { "anyOf": [      
                                        { "type": "object", "properties": { 
      "Data": { "type": "string" } } },
                                        { "type": "object", "properties": { 
      "DataLength":                     { "type": "integer" }, 
      "DataURI":                        { "type": "string", "format": "uri" } } },
                                        { "type": "object", "properties": { 
      "ID":                             { "type": "string" } } } ] } },

    "BasicVisualObjectProperties":      { "type": "object", "properties": {
      "BasicVisualObjectIdentifier":    { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/InstanceIdentifier.json" },
      "BasicVisualObjectSpaceTime":     { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/SpaceTime.json" },
      "PerceptStatus":                  { "type": "boolean" },
      "Resize":                         { "type": "array", "items": { "type": "object", "properties": {
        "Rx":                           { "type": "number" },
        "Ry":                           { "type": "number" },
        "Rz":                           { "type": "number" } } } },
      "Mass":                           { "type": "number" },
      "Material":                       { "type": "boolean" },
      "Gravity":                        { "type": "boolean" },
      "TextureMapOrMapID":              { "type": "array", "items": { "oneOf": [
                                        { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/TextureMap.json" },
                                        { "type": "string" } ] } },
      "AcousticProfile":                { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/AcousticProfile.json" },
      "EulerAngles":                    { "type": "object", "properties": {
        "alpha":                        { "type": "number" },
        "beta":                         { "type": "number" },
        "gamma":                        { "type": "number" } } } } },
    "BasicVisualDataQualifier":         { "$ref": "https://schemas.mpai.community/TFA/V1.5/data/VisualQualifier.json" },

    "DataXMData":                       { "$ref": "https://schemas.mpai.community/PTF/V1.0/data/DataExchangeMetadata.json" },
    "DescrMetadata":                    { "type": "string", "maxLength": 2048 } } }
