{
  "$defs": {
    "__schema0": {
      "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
      "title": "EntityId",
      "type": "string"
    },
    "__schema1": {
      "$ref": "#/$defs/__schema2",
      "title": "JsonValue"
    },
    "__schema10": {
      "const": "character",
      "default": "character",
      "type": "string"
    },
    "__schema11": {
      "default": "",
      "type": "string"
    },
    "__schema12": {
      "additionalProperties": false,
      "default": {
        "name": "",
        "nameColor": null,
        "styleClass": "",
        "textColor": null
      },
      "properties": {
        "name": {
          "default": "",
          "type": "string"
        },
        "nameColor": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "styleClass": {
          "default": "",
          "type": "string"
        },
        "textColor": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "__schema13": {
      "additionalProperties": false,
      "default": {
        "appearanceId": null,
        "expressionId": "neutral",
        "idleId": null,
        "profileId": "stage"
      },
      "properties": {
        "appearanceId": {
          "anyOf": [
            {
              "$ref": "#/$defs/__schema0"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "expressionId": {
          "$ref": "#/$defs/__schema0"
        },
        "idleId": {
          "anyOf": [
            {
              "$ref": "#/$defs/__schema0"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "profileId": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "profileId",
        "expressionId"
      ],
      "type": "object"
    },
    "__schema14": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "animationClips": {
            "$ref": "#/$defs/__schema47"
          },
          "automaticAnimations": {
            "$ref": "#/$defs/__schema49"
          },
          "defaultPoseId": {
            "$ref": "#/$defs/__schema0"
          },
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "$ref": "#/$defs/__schema15"
          },
          "layers": {
            "$ref": "#/$defs/__schema16"
          },
          "poses": {
            "$ref": "#/$defs/__schema17"
          }
        },
        "required": [
          "id",
          "label",
          "defaultPoseId"
        ],
        "type": "object",
        "x-noveltea-documentation": {
          "constraints": [
            "A Character presentation Profile must contain at least one layer and at least one pose, even though omitted fields normalize to empty arrays during editing."
          ]
        }
      },
      "type": "array"
    },
    "__schema15": {
      "minLength": 1,
      "type": "string"
    },
    "__schema16": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "role": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "id",
          "label"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema17": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "layers": {
            "default": [],
            "items": {
              "additionalProperties": false,
              "properties": {
                "anchor": {
                  "$ref": "#/$defs/__schema46",
                  "default": {
                    "x": 0.5,
                    "y": 1
                  }
                },
                "layerId": {
                  "$ref": "#/$defs/__schema0"
                },
                "materialApplication": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/__schema28"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "offset": {
                  "$ref": "#/$defs/__schema46",
                  "default": {
                    "x": 0,
                    "y": 0
                  }
                },
                "scale": {
                  "default": 1,
                  "exclusiveMinimum": 0,
                  "type": "number"
                },
                "visible": {
                  "default": true,
                  "type": "boolean"
                },
                "visual": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/__schema18"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                }
              },
              "required": [
                "layerId"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "label"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema18": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema19"
        },
        {
          "$ref": "#/$defs/__schema21"
        }
      ],
      "title": "Visual",
      "x-noveltea-documentation": {
        "name": "Visual",
        "notes": [
          "A Visual is initially either a static Image Asset or a raster Animation. An Animation Visual with no motionId uses the Animation default motion."
        ]
      }
    },
    "__schema19": {
      "additionalProperties": false,
      "properties": {
        "image": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "image",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "image"
      ],
      "type": "object"
    },
    "__schema2": {
      "anyOf": [
        {
          "type": "null"
        },
        {
          "type": "boolean"
        },
        {
          "type": "number"
        },
        {
          "type": "string"
        },
        {
          "items": {
            "$ref": "#/$defs/__schema1"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/__schema1"
          },
          "propertyNames": {
            "type": "string"
          },
          "type": "object"
        }
      ]
    },
    "__schema20": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "assets",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema21": {
      "additionalProperties": false,
      "properties": {
        "animation": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "animation",
          "type": "string"
        },
        "motionId": {
          "anyOf": [
            {
              "$ref": "#/$defs/__schema0"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "playback": {
          "anyOf": [
            {
              "additionalProperties": false,
              "properties": {
                "clock": {
                  "$ref": "#/$defs/__schema25"
                },
                "initialMarker": {
                  "$ref": "#/$defs/__schema26"
                },
                "loopRange": {
                  "$ref": "#/$defs/__schema27"
                },
                "rate": {
                  "$ref": "#/$defs/__schema24"
                },
                "repeat": {
                  "$ref": "#/$defs/__schema23"
                }
              },
              "required": [
                "repeat",
                "rate",
                "clock",
                "initialMarker"
              ],
              "type": "object"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "kind",
        "animation",
        "playback"
      ],
      "type": "object"
    },
    "__schema22": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "animations",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema23": {
      "enum": [
        "once",
        "loop"
      ],
      "type": "string"
    },
    "__schema24": {
      "exclusiveMinimum": 0,
      "type": "number"
    },
    "__schema25": {
      "enum": [
        "gameplay",
        "unscaled-presentation"
      ],
      "type": "string"
    },
    "__schema26": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema0"
        },
        {
          "type": "null"
        }
      ]
    },
    "__schema27": {
      "additionalProperties": false,
      "properties": {
        "end": {
          "$ref": "#/$defs/__schema0"
        },
        "start": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "start",
        "end"
      ],
      "type": "object"
    },
    "__schema28": {
      "additionalProperties": false,
      "properties": {
        "material": {
          "$ref": "#/$defs/__schema0"
        },
        "parameters": {
          "$ref": "#/$defs/__schema31"
        },
        "textures": {
          "$ref": "#/$defs/__schema44"
        }
      },
      "required": [
        "material"
      ],
      "title": "MaterialApplication",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "MaterialApplication"
      }
    },
    "__schema29": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema3": {
      "additionalProperties": false,
      "properties": {
        "description": {
          "$ref": "#/$defs/__schema5"
        },
        "enumValues": {
          "$ref": "#/$defs/__schema9"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        },
        "label": {
          "$ref": "#/$defs/__schema4"
        },
        "nullable": {
          "$ref": "#/$defs/__schema7"
        },
        "type": {
          "$ref": "#/$defs/__schema6"
        },
        "value": {
          "$ref": "#/$defs/__schema8"
        }
      },
      "required": [
        "id",
        "type",
        "nullable",
        "value"
      ],
      "type": "object"
    },
    "__schema30": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "materials",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema31": {
      "additionalProperties": {
        "additionalProperties": false,
        "properties": {
          "source": {
            "$ref": "#/$defs/__schema33"
          },
          "type": {
            "$ref": "#/$defs/__schema32"
          }
        },
        "required": [
          "type",
          "source"
        ],
        "title": "MaterialParameterOverride",
        "type": "object",
        "x-noveltea-documentation": {
          "name": "MaterialParameterOverride"
        }
      },
      "default": {},
      "propertyNames": {
        "minLength": 1,
        "type": "string"
      },
      "type": "object"
    },
    "__schema32": {
      "enum": [
        "float",
        "vec2",
        "vec3",
        "vec4",
        "color",
        "int",
        "bool"
      ],
      "type": "string"
    },
    "__schema33": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema34"
        },
        {
          "$ref": "#/$defs/__schema42"
        },
        {
          "$ref": "#/$defs/__schema43"
        }
      ],
      "title": "MaterialParameterSource",
      "x-noveltea-documentation": {
        "name": "MaterialParameterSource"
      }
    },
    "__schema34": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "literal",
          "type": "string"
        },
        "value": {
          "anyOf": [
            {
              "$ref": "#/$defs/__schema35"
            },
            {
              "$ref": "#/$defs/__schema36"
            },
            {
              "$ref": "#/$defs/__schema37"
            },
            {
              "$ref": "#/$defs/__schema38"
            },
            {
              "$ref": "#/$defs/__schema39"
            },
            {
              "$ref": "#/$defs/__schema40"
            },
            {
              "$ref": "#/$defs/__schema41"
            }
          ],
          "title": "ShaderUniformValue"
        }
      },
      "required": [
        "kind",
        "value"
      ],
      "type": "object"
    },
    "__schema35": {
      "type": "null"
    },
    "__schema36": {
      "type": "number"
    },
    "__schema37": {
      "type": "boolean"
    },
    "__schema38": {
      "items": false,
      "maxItems": 2,
      "minItems": 2,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "type": "array"
    },
    "__schema39": {
      "items": false,
      "maxItems": 3,
      "minItems": 3,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "type": "array"
    },
    "__schema4": {
      "minLength": 1,
      "type": "string"
    },
    "__schema40": {
      "items": false,
      "maxItems": 4,
      "minItems": 4,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        },
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "type": "array"
    },
    "__schema41": {
      "additionalProperties": false,
      "properties": {
        "a": {
          "type": "number"
        },
        "b": {
          "type": "number"
        },
        "g": {
          "type": "number"
        },
        "r": {
          "type": "number"
        }
      },
      "required": [
        "r",
        "g",
        "b",
        "a"
      ],
      "type": "object"
    },
    "__schema42": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "property",
          "type": "string"
        },
        "property": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "property"
      ],
      "type": "object"
    },
    "__schema43": {
      "additionalProperties": false,
      "properties": {
        "facet": {
          "enum": [
            "occurrence-time",
            "paint-width",
            "paint-height",
            "viewport-width",
            "viewport-height",
            "camera-zoom"
          ],
          "type": "string"
        },
        "kind": {
          "const": "standard-facet",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "facet"
      ],
      "type": "object"
    },
    "__schema44": {
      "additionalProperties": {
        "additionalProperties": false,
        "properties": {
          "source": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "source"
        ],
        "title": "MaterialTextureOverride",
        "type": "object",
        "x-noveltea-documentation": {
          "name": "MaterialTextureOverride"
        }
      },
      "default": {},
      "propertyNames": {
        "minLength": 1,
        "type": "string"
      },
      "type": "object"
    },
    "__schema45": {
      "minLength": 1,
      "type": "string"
    },
    "__schema46": {
      "additionalProperties": false,
      "properties": {
        "x": {
          "type": "number"
        },
        "y": {
          "type": "number"
        }
      },
      "required": [
        "x",
        "y"
      ],
      "type": "object"
    },
    "__schema47": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "clock": {
            "enum": [
              "gameplay",
              "unscaled-presentation"
            ],
            "type": "string"
          },
          "frames": {
            "items": {
              "$ref": "#/$defs/__schema48"
            },
            "minItems": 1,
            "type": "array"
          },
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id",
          "label",
          "clock",
          "frames"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema48": {
      "additionalProperties": false,
      "properties": {
        "durationMs": {
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991,
          "type": "integer"
        },
        "layers": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "anchor": {
                "$ref": "#/$defs/__schema46"
              },
              "layerId": {
                "$ref": "#/$defs/__schema0"
              },
              "materialApplication": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema28"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "offset": {
                "$ref": "#/$defs/__schema46"
              },
              "scale": {
                "exclusiveMinimum": 0,
                "type": "number"
              },
              "visible": {
                "type": "boolean"
              },
              "visual": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema18"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "layerId"
            ],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "durationMs"
      ],
      "type": "object"
    },
    "__schema49": {
      "additionalProperties": false,
      "default": {
        "blink": null,
        "speaking": null
      },
      "properties": {
        "blink": {
          "anyOf": [
            {
              "additionalProperties": false,
              "properties": {
                "clipId": {
                  "$ref": "#/$defs/__schema0"
                },
                "intervalMs": {
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991,
                  "type": "integer"
                },
                "role": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "clipId",
                "role",
                "intervalMs"
              ],
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "speaking": {
          "anyOf": [
            {
              "additionalProperties": false,
              "properties": {
                "clipId": {
                  "$ref": "#/$defs/__schema0"
                },
                "role": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "clipId",
                "role"
              ],
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "__schema5": {
      "type": "string"
    },
    "__schema50": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "profiles": {
            "default": [],
            "items": {
              "$ref": "#/$defs/__schema51"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "label"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema51": {
      "additionalProperties": false,
      "properties": {
        "layers": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "layerId": {
                "$ref": "#/$defs/__schema0"
              },
              "materialApplication": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema28"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "visible": {
                "type": "boolean"
              },
              "visual": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema18"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "layerId"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "profileId": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "profileId"
      ],
      "type": "object"
    },
    "__schema52": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "profiles": {
            "default": [],
            "items": {
              "$ref": "#/$defs/__schema51"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "label"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema53": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "profiles": {
            "default": [],
            "items": {
              "additionalProperties": false,
              "properties": {
                "clipId": {
                  "$ref": "#/$defs/__schema0"
                },
                "cues": {
                  "default": [],
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "atMs": {
                            "maximum": 9007199254740991,
                            "minimum": 0,
                            "type": "integer"
                          },
                          "event": {
                            "$ref": "#/$defs/__schema0"
                          },
                          "id": {
                            "$ref": "#/$defs/__schema0"
                          },
                          "kind": {
                            "const": "presentation",
                            "type": "string"
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "atMs",
                          "event"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "asset": {
                            "minLength": 1,
                            "type": "string"
                          },
                          "atMs": {
                            "maximum": 9007199254740991,
                            "minimum": 0,
                            "type": "integer"
                          },
                          "gain": {
                            "default": 1,
                            "maximum": 1,
                            "minimum": 0,
                            "type": "number"
                          },
                          "id": {
                            "$ref": "#/$defs/__schema0"
                          },
                          "kind": {
                            "const": "audio",
                            "type": "string"
                          },
                          "pan": {
                            "default": 0,
                            "maximum": 1,
                            "minimum": -1,
                            "type": "number"
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "atMs",
                          "asset"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "profileId": {
                  "$ref": "#/$defs/__schema0"
                }
              },
              "required": [
                "profileId",
                "clipId"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "label"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema54": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "amplitude": {
            "minimum": 0,
            "type": "number"
          },
          "clock": {
            "enum": [
              "gameplay",
              "unscaled-presentation"
            ],
            "type": "string"
          },
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "kind": {
            "enum": [
              "bob",
              "sway",
              "pulse"
            ],
            "type": "string"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          },
          "periodMs": {
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "label",
          "kind",
          "amplitude",
          "periodMs",
          "clock"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema55": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id",
          "label"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema56": {
      "additionalProperties": false,
      "default": {
        "enabled": true,
        "location": {
          "kind": "unplaced"
        },
        "visible": true
      },
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "location": {
          "oneOf": [
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "unplaced",
                  "type": "string"
                }
              },
              "required": [
                "kind"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "room",
                  "type": "string"
                },
                "room": {
                  "$ref": "#/$defs/__schema0"
                }
              },
              "required": [
                "kind",
                "room"
              ],
              "type": "object"
            }
          ]
        },
        "visible": {
          "type": "boolean"
        }
      },
      "required": [
        "location",
        "enabled",
        "visible"
      ],
      "type": "object"
    },
    "__schema57": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "rooms",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema6": {
      "enum": [
        "boolean",
        "integer",
        "number",
        "string",
        "enum",
        "message"
      ],
      "type": "string"
    },
    "__schema7": {
      "type": "boolean"
    },
    "__schema8": {
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "boolean"
            },
            {
              "type": "number"
            },
            {
              "type": "string"
            }
          ]
        },
        {
          "additionalProperties": false,
          "properties": {
            "$message": {
              "pattern": "^[A-Za-z][A-Za-z0-9_-]*(?:\\.[A-Za-z][A-Za-z0-9_-]*)+$",
              "title": "NamedMessageKey",
              "type": "string"
            }
          },
          "required": [
            "$message"
          ],
          "type": "object"
        }
      ]
    },
    "__schema9": {
      "items": {
        "minLength": 1,
        "type": "string"
      },
      "type": "array"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "archetype": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema0"
        },
        {
          "type": "null"
        }
      ]
    },
    "archetypeOverrides": {
      "additionalProperties": {
        "$ref": "#/$defs/__schema1"
      },
      "propertyNames": {
        "type": "string"
      },
      "type": "object"
    },
    "data": {
      "additionalProperties": false,
      "properties": {
        "appearances": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "label": {
                "minLength": 1,
                "type": "string"
              },
              "profiles": {
                "default": [],
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "layers": {
                      "default": [],
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "layerId": {
                            "$ref": "#/$defs/__schema0"
                          },
                          "materialApplication": {
                            "anyOf": [
                              {
                                "$ref": "#/$defs/__schema28"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "visible": {
                            "type": "boolean"
                          },
                          "visual": {
                            "anyOf": [
                              {
                                "$ref": "#/$defs/__schema18"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "layerId"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "profileId": {
                      "$ref": "#/$defs/__schema0"
                    }
                  },
                  "required": [
                    "profileId"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "defaults": {
          "additionalProperties": false,
          "properties": {
            "appearanceId": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema0"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "expressionId": {
              "$ref": "#/$defs/__schema0"
            },
            "idleId": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema0"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "profileId": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "profileId",
            "expressionId"
          ],
          "type": "object"
        },
        "dialogue": {
          "additionalProperties": false,
          "default": {
            "name": "",
            "nameColor": null,
            "styleClass": "",
            "textColor": null
          },
          "properties": {
            "name": {
              "default": "",
              "type": "string"
            },
            "nameColor": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "styleClass": {
              "default": "",
              "type": "string"
            },
            "textColor": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            }
          },
          "type": "object"
        },
        "displayName": {
          "$ref": "#/$defs/__schema11",
          "default": ""
        },
        "expressions": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "label": {
                "minLength": 1,
                "type": "string"
              },
              "profiles": {
                "default": [],
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "layers": {
                      "default": [],
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "layerId": {
                            "$ref": "#/$defs/__schema0"
                          },
                          "materialApplication": {
                            "anyOf": [
                              {
                                "$ref": "#/$defs/__schema28"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "visible": {
                            "type": "boolean"
                          },
                          "visual": {
                            "anyOf": [
                              {
                                "$ref": "#/$defs/__schema18"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "layerId"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "profileId": {
                      "$ref": "#/$defs/__schema0"
                    }
                  },
                  "required": [
                    "profileId"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "gestures": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "label": {
                "minLength": 1,
                "type": "string"
              },
              "profiles": {
                "default": [],
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "clipId": {
                      "$ref": "#/$defs/__schema0"
                    },
                    "cues": {
                      "default": [],
                      "items": {
                        "oneOf": [
                          {
                            "additionalProperties": false,
                            "properties": {
                              "atMs": {
                                "maximum": 9007199254740991,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "event": {
                                "$ref": "#/$defs/__schema0"
                              },
                              "id": {
                                "$ref": "#/$defs/__schema0"
                              },
                              "kind": {
                                "const": "presentation",
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "id",
                              "atMs",
                              "event"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "asset": {
                                "minLength": 1,
                                "type": "string"
                              },
                              "atMs": {
                                "maximum": 9007199254740991,
                                "minimum": 0,
                                "type": "integer"
                              },
                              "gain": {
                                "default": 1,
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "id": {
                                "$ref": "#/$defs/__schema0"
                              },
                              "kind": {
                                "const": "audio",
                                "type": "string"
                              },
                              "pan": {
                                "default": 0,
                                "maximum": 1,
                                "minimum": -1,
                                "type": "number"
                              }
                            },
                            "required": [
                              "kind",
                              "id",
                              "atMs",
                              "asset"
                            ],
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "profileId": {
                      "$ref": "#/$defs/__schema0"
                    }
                  },
                  "required": [
                    "profileId",
                    "clipId"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "id",
              "label"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "idles": {
          "$ref": "#/$defs/__schema54",
          "default": []
        },
        "initialWorldState": {
          "additionalProperties": false,
          "default": {
            "enabled": true,
            "location": {
              "kind": "unplaced"
            },
            "visible": true
          },
          "properties": {
            "enabled": {
              "default": true,
              "type": "boolean"
            },
            "location": {
              "default": {
                "kind": "unplaced"
              },
              "oneOf": [
                {
                  "additionalProperties": false,
                  "properties": {
                    "kind": {
                      "const": "unplaced",
                      "default": "unplaced",
                      "type": "string"
                    }
                  },
                  "required": [],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "kind": {
                      "const": "room",
                      "default": "unplaced",
                      "type": "string"
                    },
                    "room": {
                      "$ref": "#/$defs/__schema0"
                    }
                  },
                  "required": [
                    "room"
                  ],
                  "type": "object"
                }
              ]
            },
            "visible": {
              "default": true,
              "type": "boolean"
            }
          },
          "required": [],
          "type": "object"
        },
        "inventories": {
          "$ref": "#/$defs/__schema55",
          "default": []
        },
        "profiles": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "animationClips": {
                "default": [],
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "clock": {
                      "enum": [
                        "gameplay",
                        "unscaled-presentation"
                      ],
                      "type": "string"
                    },
                    "frames": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "durationMs": {
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991,
                            "type": "integer"
                          },
                          "layers": {
                            "default": [],
                            "items": {
                              "additionalProperties": false,
                              "properties": {
                                "anchor": {
                                  "$ref": "#/$defs/__schema46"
                                },
                                "layerId": {
                                  "$ref": "#/$defs/__schema0"
                                },
                                "materialApplication": {
                                  "anyOf": [
                                    {
                                      "$ref": "#/$defs/__schema28"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "offset": {
                                  "$ref": "#/$defs/__schema46"
                                },
                                "scale": {
                                  "exclusiveMinimum": 0,
                                  "type": "number"
                                },
                                "visible": {
                                  "type": "boolean"
                                },
                                "visual": {
                                  "anyOf": [
                                    {
                                      "$ref": "#/$defs/__schema18"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                }
                              },
                              "required": [
                                "layerId"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "durationMs"
                        ],
                        "type": "object"
                      },
                      "minItems": 1,
                      "type": "array"
                    },
                    "id": {
                      "$ref": "#/$defs/__schema0"
                    },
                    "label": {
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "label",
                    "clock",
                    "frames"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "automaticAnimations": {
                "additionalProperties": false,
                "default": {
                  "blink": null,
                  "speaking": null
                },
                "properties": {
                  "blink": {
                    "anyOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "clipId": {
                            "$ref": "#/$defs/__schema0"
                          },
                          "intervalMs": {
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991,
                            "type": "integer"
                          },
                          "role": {
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "clipId",
                          "role",
                          "intervalMs"
                        ],
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null
                  },
                  "speaking": {
                    "anyOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "clipId": {
                            "$ref": "#/$defs/__schema0"
                          },
                          "role": {
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "clipId",
                          "role"
                        ],
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null
                  }
                },
                "type": "object"
              },
              "defaultPoseId": {
                "$ref": "#/$defs/__schema0"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "label": {
                "$ref": "#/$defs/__schema15"
              },
              "layers": {
                "default": [],
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "$ref": "#/$defs/__schema0"
                    },
                    "label": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "role": {
                      "anyOf": [
                        {
                          "minLength": 1,
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    }
                  },
                  "required": [
                    "id",
                    "label"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "poses": {
                "default": [],
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "$ref": "#/$defs/__schema0"
                    },
                    "label": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "layers": {
                      "default": [],
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "anchor": {
                            "$ref": "#/$defs/__schema46",
                            "default": {
                              "x": 0.5,
                              "y": 1
                            }
                          },
                          "layerId": {
                            "$ref": "#/$defs/__schema0"
                          },
                          "materialApplication": {
                            "anyOf": [
                              {
                                "$ref": "#/$defs/__schema28"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null
                          },
                          "offset": {
                            "$ref": "#/$defs/__schema46",
                            "default": {
                              "x": 0,
                              "y": 0
                            }
                          },
                          "scale": {
                            "default": 1,
                            "exclusiveMinimum": 0,
                            "type": "number"
                          },
                          "visible": {
                            "default": true,
                            "type": "boolean"
                          },
                          "visual": {
                            "anyOf": [
                              {
                                "$ref": "#/$defs/__schema18"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "default": null
                          }
                        },
                        "required": [
                          "layerId"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "id",
                    "label"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "id",
              "label",
              "defaultPoseId"
            ],
            "type": "object",
            "x-noveltea-documentation": {
              "constraints": [
                "A Character presentation Profile must contain at least one layer and at least one pose, even though omitted fields normalize to empty arrays during editing."
              ]
            }
          },
          "type": "array"
        }
      },
      "required": [
        "defaults"
      ],
      "type": "object",
      "x-noveltea-documentation": {
        "constraints": [
          "A Character must contain at least one presentation Profile and at least one Expression, even though omitted fields normalize to empty arrays during editing."
        ]
      }
    },
    "description": {
      "type": "string"
    },
    "id": {
      "$ref": "#/$defs/__schema0"
    },
    "label": {
      "minLength": 1,
      "type": "string"
    },
    "localProperties": {
      "items": {
        "$ref": "#/$defs/__schema3"
      },
      "type": "array"
    },
    "narrativeRefs": {
      "items": {
        "pattern": "^(?:creative-direction|arc|milestone|event|character|fact|world-entity|relationship|revelation|choice-point|puzzle|authored-content|narrative-position)\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
        "type": "string"
      },
      "type": "array"
    },
    "traits": {
      "items": {
        "$ref": "#/$defs/__schema0"
      },
      "type": "array"
    }
  },
  "required": [
    "id",
    "label",
    "data"
  ],
  "type": "object"
}
