{
  "$defs": {
    "__schema0": {
      "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
      "title": "EntityId",
      "type": "string"
    },
    "__schema1": {
      "$ref": "#/$defs/__schema2",
      "title": "JsonValue"
    },
    "__schema10": {
      "pattern": "^[A-Za-z][A-Za-z0-9_-]*(?:\\.[A-Za-z][A-Za-z0-9_-]*)+$",
      "title": "NamedMessageKey",
      "type": "string"
    },
    "__schema100": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema67"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema101": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "room-feature",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room",
        "featureId"
      ],
      "type": "object"
    },
    "__schema102": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "interactable": {
          "$ref": "#/$defs/__schema67"
        },
        "kind": {
          "const": "interactable-feature",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable",
        "featureId"
      ],
      "type": "object"
    },
    "__schema103": {
      "additionalProperties": false,
      "properties": {
        "definition": {
          "$ref": "#/$defs/__schema104"
        },
        "exact": {
          "$ref": "#/$defs/__schema109"
        },
        "properties": {
          "$ref": "#/$defs/__schema108"
        },
        "traits": {
          "$ref": "#/$defs/__schema107"
        }
      },
      "title": "InteractableMatcher",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "InteractableMatcher"
      }
    },
    "__schema104": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema105": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema106": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "interactables",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema107": {
      "default": [],
      "items": {
        "$ref": "#/$defs/__schema0"
      },
      "type": "array"
    },
    "__schema108": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "propertyId": {
            "$ref": "#/$defs/__schema0"
          },
          "value": {
            "$ref": "#/$defs/__schema54"
          }
        },
        "required": [
          "propertyId",
          "value"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema109": {
      "$ref": "#/$defs/__schema110"
    },
    "__schema11": {
      "items": {
        "minLength": 1,
        "type": "string"
      },
      "type": "array"
    },
    "__schema110": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema111"
        },
        {
          "$ref": "#/$defs/__schema72"
        },
        {
          "$ref": "#/$defs/__schema74"
        }
      ],
      "title": "InteractableOperand",
      "x-noveltea-documentation": {
        "name": "InteractableOperand"
      }
    },
    "__schema111": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema67"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema112": {
      "additionalProperties": false,
      "properties": {
        "$ref": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "registry": {
              "const": "interactableInstances",
              "type": "string"
            }
          },
          "required": [
            "registry",
            "id"
          ],
          "type": "object"
        }
      },
      "required": [
        "$ref"
      ],
      "type": "object"
    },
    "__schema113": {
      "type": "boolean"
    },
    "__schema114": {
      "maximum": 2147483647,
      "minimum": -2147483648,
      "type": "integer"
    },
    "__schema115": {
      "additionalProperties": false,
      "properties": {
        "image": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "image",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "image"
      ],
      "type": "object"
    },
    "__schema116": {
      "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/__schema120"
                },
                "initialMarker": {
                  "$ref": "#/$defs/__schema121"
                },
                "loopRange": {
                  "$ref": "#/$defs/__schema122"
                },
                "rate": {
                  "$ref": "#/$defs/__schema119"
                },
                "repeat": {
                  "$ref": "#/$defs/__schema118"
                }
              },
              "required": [
                "repeat",
                "rate",
                "clock",
                "initialMarker"
              ],
              "type": "object"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "kind",
        "animation",
        "playback"
      ],
      "type": "object"
    },
    "__schema117": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "animations",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema118": {
      "enum": [
        "once",
        "loop"
      ],
      "type": "string"
    },
    "__schema119": {
      "exclusiveMinimum": 0,
      "type": "number"
    },
    "__schema12": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema120": {
      "enum": [
        "gameplay",
        "unscaled-presentation"
      ],
      "type": "string"
    },
    "__schema121": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema0"
        },
        {
          "type": "null"
        }
      ]
    },
    "__schema122": {
      "additionalProperties": false,
      "properties": {
        "end": {
          "$ref": "#/$defs/__schema0"
        },
        "start": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "start",
        "end"
      ],
      "type": "object"
    },
    "__schema123": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "scripts",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema124": {
      "items": {
        "$ref": "#/$defs/__schema125"
      },
      "type": "array"
    },
    "__schema125": {
      "$ref": "#/$defs/__schema126",
      "title": "GameplayCommand"
    },
    "__schema126": {
      "anyOf": [
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "set-global-property",
              "type": "string"
            },
            "value": {
              "$ref": "#/$defs/__schema54"
            },
            "variable": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "id",
            "kind",
            "variable",
            "value"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "unset-global-property",
              "type": "string"
            },
            "variable": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "id",
            "kind",
            "variable"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "set-property",
              "type": "string"
            },
            "owner": {
              "$ref": "#/$defs/__schema59"
            },
            "propertyId": {
              "$ref": "#/$defs/__schema0"
            },
            "value": {
              "$ref": "#/$defs/__schema54"
            }
          },
          "required": [
            "id",
            "kind",
            "owner",
            "propertyId",
            "value"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "unset-property",
              "type": "string"
            },
            "owner": {
              "$ref": "#/$defs/__schema59"
            },
            "propertyId": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "id",
            "kind",
            "owner",
            "propertyId"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "add-trait",
              "type": "string"
            },
            "owner": {
              "$ref": "#/$defs/__schema59"
            },
            "trait": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "id",
            "kind",
            "owner",
            "trait"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "remove-trait",
              "type": "string"
            },
            "owner": {
              "$ref": "#/$defs/__schema59"
            },
            "trait": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "id",
            "kind",
            "owner",
            "trait"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "set-enabled",
              "type": "string"
            },
            "subject": {
              "$ref": "#/$defs/__schema78"
            }
          },
          "required": [
            "id",
            "kind",
            "subject",
            "enabled"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "set-visible",
              "type": "string"
            },
            "subject": {
              "$ref": "#/$defs/__schema78"
            },
            "visible": {
              "type": "boolean"
            }
          },
          "required": [
            "id",
            "kind",
            "subject",
            "visible"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "move-instance",
              "type": "string"
            },
            "location": {
              "$ref": "#/$defs/__schema81"
            },
            "roomPresentation": {
              "enum": [
                "resolve",
                "none"
              ],
              "type": "string"
            },
            "subject": {
              "$ref": "#/$defs/__schema78"
            }
          },
          "required": [
            "id",
            "kind",
            "subject",
            "location"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "create-room",
              "type": "string"
            },
            "result": {
              "$ref": "#/$defs/__schema0"
            },
            "source": {
              "$ref": "#/$defs/__schema127"
            }
          },
          "required": [
            "id",
            "kind",
            "source"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "create-character",
              "type": "string"
            },
            "location": {
              "$ref": "#/$defs/__schema81"
            },
            "result": {
              "$ref": "#/$defs/__schema0"
            },
            "source": {
              "$ref": "#/$defs/__schema127"
            },
            "visible": {
              "type": "boolean"
            }
          },
          "required": [
            "id",
            "kind",
            "source",
            "location",
            "enabled",
            "visible"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "definition": {
              "$ref": "#/$defs/__schema0"
            },
            "enabled": {
              "type": "boolean"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "create-interactable",
              "type": "string"
            },
            "location": {
              "$ref": "#/$defs/__schema81"
            },
            "quantity": {
              "$ref": "#/$defs/__schema132"
            },
            "result": {
              "$ref": "#/$defs/__schema0"
            },
            "roomPresentation": {
              "enum": [
                "resolve",
                "none"
              ],
              "type": "string"
            },
            "visible": {
              "type": "boolean"
            }
          },
          "required": [
            "id",
            "kind",
            "definition",
            "quantity",
            "location",
            "enabled",
            "visible"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "instance": {
              "$ref": "#/$defs/__schema59"
            },
            "kind": {
              "const": "destroy-instance",
              "type": "string"
            }
          },
          "required": [
            "id",
            "kind",
            "instance"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "split-quantity",
              "type": "string"
            },
            "quantity": {
              "$ref": "#/$defs/__schema132"
            },
            "result": {
              "$ref": "#/$defs/__schema0"
            },
            "source": {
              "$ref": "#/$defs/__schema110"
            }
          },
          "required": [
            "id",
            "kind",
            "source",
            "quantity"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "donor": {
              "$ref": "#/$defs/__schema110"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "merge-quantity",
              "type": "string"
            },
            "receiver": {
              "$ref": "#/$defs/__schema110"
            }
          },
          "required": [
            "id",
            "kind",
            "receiver",
            "donor"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "transfer-quantity",
              "type": "string"
            },
            "location": {
              "$ref": "#/$defs/__schema81"
            },
            "mode": {
              "const": "exact",
              "type": "string"
            },
            "quantity": {
              "$ref": "#/$defs/__schema132"
            },
            "result": {
              "$ref": "#/$defs/__schema0"
            },
            "source": {
              "$ref": "#/$defs/__schema110"
            }
          },
          "required": [
            "id",
            "kind",
            "mode",
            "source",
            "quantity",
            "location"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "transfer-quantity",
              "type": "string"
            },
            "location": {
              "$ref": "#/$defs/__schema81"
            },
            "matcher": {
              "$ref": "#/$defs/__schema103"
            },
            "mode": {
              "const": "aggregate",
              "type": "string"
            },
            "quantity": {
              "$ref": "#/$defs/__schema132"
            },
            "sourceInventory": {
              "$ref": "#/$defs/__schema88"
            }
          },
          "required": [
            "id",
            "kind",
            "mode",
            "matcher",
            "quantity",
            "location"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "definition": {
              "$ref": "#/$defs/__schema0"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "add-quantity",
              "type": "string"
            },
            "location": {
              "$ref": "#/$defs/__schema81"
            },
            "quantity": {
              "$ref": "#/$defs/__schema132"
            }
          },
          "required": [
            "id",
            "kind",
            "definition",
            "quantity",
            "location"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "consume-quantity",
              "type": "string"
            },
            "mode": {
              "const": "exact",
              "type": "string"
            },
            "quantity": {
              "$ref": "#/$defs/__schema132"
            },
            "source": {
              "$ref": "#/$defs/__schema110"
            }
          },
          "required": [
            "id",
            "kind",
            "mode",
            "source",
            "quantity"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "consume-quantity",
              "type": "string"
            },
            "matcher": {
              "$ref": "#/$defs/__schema103"
            },
            "mode": {
              "const": "aggregate",
              "type": "string"
            },
            "quantity": {
              "$ref": "#/$defs/__schema132"
            },
            "sourceInventory": {
              "$ref": "#/$defs/__schema88"
            }
          },
          "required": [
            "id",
            "kind",
            "mode",
            "matcher",
            "quantity"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "coexist": {
              "type": "boolean"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "inventory": {
              "$ref": "#/$defs/__schema88"
            },
            "kind": {
              "const": "present-inventory",
              "type": "string"
            },
            "layout": {
              "$ref": "#/$defs/__schema0"
            },
            "parentToTriggeringLayout": {
              "type": "boolean"
            },
            "useTriggerAnchor": {
              "type": "boolean"
            }
          },
          "required": [
            "id",
            "kind",
            "inventory"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "exitId": {
              "$ref": "#/$defs/__schema0"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "navigate-exit",
              "type": "string"
            }
          },
          "required": [
            "id",
            "kind",
            "exitId"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "change-room",
              "type": "string"
            },
            "room": {
              "$ref": "#/$defs/__schema84"
            }
          },
          "required": [
            "id",
            "kind",
            "room"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "call-scene",
              "type": "string"
            },
            "scene": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "id",
            "kind",
            "scene"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "dialogue": {
              "$ref": "#/$defs/__schema0"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "call-dialogue",
              "type": "string"
            }
          },
          "required": [
            "id",
            "kind",
            "dialogue"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "notify",
              "type": "string"
            },
            "message": {
              "$ref": "#/$defs/__schema32"
            }
          },
          "required": [
            "id",
            "kind",
            "message"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "run-lua",
              "type": "string"
            },
            "source": {
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "id",
            "kind",
            "source"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "condition": {
              "$ref": "#/$defs/__schema49"
            },
            "else": {
              "items": {
                "$ref": "#/$defs/__schema125"
              },
              "type": "array"
            },
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "if",
              "type": "string"
            },
            "then": {
              "items": {
                "$ref": "#/$defs/__schema125"
              },
              "type": "array"
            }
          },
          "required": [
            "id",
            "kind",
            "condition",
            "then",
            "else"
          ],
          "type": "object"
        }
      ]
    },
    "__schema127": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema128"
        },
        {
          "$ref": "#/$defs/__schema130"
        },
        {
          "$ref": "#/$defs/__schema131"
        }
      ],
      "title": "GameplayConfigurationSource",
      "x-noveltea-documentation": {
        "name": "GameplayConfigurationSource"
      }
    },
    "__schema128": {
      "additionalProperties": false,
      "properties": {
        "archetype": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "archetype",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "archetype"
      ],
      "type": "object"
    },
    "__schema129": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "archetypes",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema13": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "assets",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema130": {
      "additionalProperties": false,
      "properties": {
        "instance": {
          "$ref": "#/$defs/__schema59"
        },
        "kind": {
          "const": "compiled-instance",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "instance"
      ],
      "type": "object"
    },
    "__schema131": {
      "additionalProperties": false,
      "properties": {
        "instance": {
          "$ref": "#/$defs/__schema59"
        },
        "kind": {
          "const": "effective-instance",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "instance"
      ],
      "type": "object"
    },
    "__schema132": {
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "type": "integer"
    },
    "__schema133": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "scenes",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema134": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "dialogues",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema135": {
      "items": {
        "$ref": "#/$defs/__schema125"
      },
      "type": "array"
    },
    "__schema136": {
      "items": {
        "$ref": "#/$defs/__schema125"
      },
      "type": "array"
    },
    "__schema137": {
      "items": {
        "$ref": "#/$defs/__schema125"
      },
      "type": "array"
    },
    "__schema138": {
      "items": {
        "$ref": "#/$defs/__schema125"
      },
      "type": "array"
    },
    "__schema139": {
      "items": {
        "$ref": "#/$defs/__schema125"
      },
      "type": "array"
    },
    "__schema14": {
      "additionalProperties": false,
      "properties": {
        "material": {
          "$ref": "#/$defs/__schema0"
        },
        "parameters": {
          "$ref": "#/$defs/__schema17"
        },
        "textures": {
          "$ref": "#/$defs/__schema30"
        }
      },
      "required": [
        "material"
      ],
      "title": "MaterialApplication",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "MaterialApplication"
      }
    },
    "__schema140": {
      "anyOf": [
        {
          "additionalProperties": false,
          "properties": {
            "label": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema32"
                },
                {
                  "type": "null"
                }
              ]
            },
            "layout": {
              "type": "null"
            }
          },
          "required": [
            "label",
            "layout"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "label": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema32"
                },
                {
                  "type": "null"
                }
              ]
            },
            "layout": {
              "$ref": "#/$defs/__schema0"
            },
            "layoutOrder": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer"
            }
          },
          "required": [
            "label",
            "layout",
            "layoutOrder"
          ],
          "type": "object"
        }
      ]
    },
    "__schema141": {
      "minLength": 1,
      "type": "string"
    },
    "__schema142": {
      "items": {
        "$ref": "#/$defs/__schema0"
      },
      "type": "array"
    },
    "__schema143": {
      "items": {
        "$ref": "#/$defs/__schema144"
      },
      "type": "array"
    },
    "__schema144": {
      "additionalProperties": false,
      "properties": {
        "defaultValue": {
          "$ref": "#/$defs/__schema149"
        },
        "description": {
          "$ref": "#/$defs/__schema146"
        },
        "enumValues": {
          "$ref": "#/$defs/__schema150"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        },
        "label": {
          "$ref": "#/$defs/__schema145"
        },
        "nullable": {
          "$ref": "#/$defs/__schema148"
        },
        "type": {
          "$ref": "#/$defs/__schema147"
        }
      },
      "required": [
        "id",
        "type",
        "nullable"
      ],
      "type": "object"
    },
    "__schema145": {
      "minLength": 1,
      "type": "string"
    },
    "__schema146": {
      "type": "string"
    },
    "__schema147": {
      "enum": [
        "boolean",
        "integer",
        "number",
        "string",
        "enum",
        "message"
      ],
      "type": "string"
    },
    "__schema148": {
      "type": "boolean"
    },
    "__schema149": {
      "$ref": "#/$defs/__schema9"
    },
    "__schema15": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema150": {
      "items": {
        "minLength": 1,
        "type": "string"
      },
      "type": "array"
    },
    "__schema151": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "$ref": "#/$defs/__schema0"
          },
          "label": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id",
          "label"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema152": {
      "minLength": 1,
      "type": "string"
    },
    "__schema153": {
      "maximum": 2147483647,
      "minimum": -2147483648,
      "type": "integer"
    },
    "__schema154": {
      "oneOf": [
        {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "default",
              "type": "string"
            }
          },
          "required": [
            "kind"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "material",
              "type": "string"
            },
            "materialApplication": {
              "$ref": "#/$defs/__schema14"
            }
          },
          "required": [
            "kind",
            "materialApplication"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "none",
              "type": "string"
            }
          },
          "required": [
            "kind"
          ],
          "type": "object"
        }
      ]
    },
    "__schema155": {
      "anyOf": [
        {
          "oneOf": [
            {
              "$ref": "#/$defs/__schema156"
            },
            {
              "$ref": "#/$defs/__schema157"
            },
            {
              "$ref": "#/$defs/__schema158"
            }
          ],
          "title": "CursorTarget"
        },
        {
          "type": "null"
        }
      ]
    },
    "__schema156": {
      "additionalProperties": false,
      "properties": {
        "cursor": {
          "enum": [
            "default",
            "pointer",
            "text",
            "wait",
            "progress",
            "crosshair",
            "move",
            "not-allowed",
            "ns-resize",
            "ew-resize",
            "nesw-resize",
            "nwse-resize"
          ],
          "type": "string"
        },
        "kind": {
          "const": "system",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "cursor"
      ],
      "type": "object"
    },
    "__schema157": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
          "title": "CursorId",
          "type": "string"
        },
        "kind": {
          "const": "named",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "type": "object"
    },
    "__schema158": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "none",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema159": {
      "additionalProperties": false,
      "properties": {
        "bounds": {
          "additionalProperties": false,
          "properties": {
            "height": {
              "$ref": "#/$defs/__schema163"
            },
            "width": {
              "$ref": "#/$defs/__schema162"
            },
            "x": {
              "$ref": "#/$defs/__schema160"
            },
            "y": {
              "$ref": "#/$defs/__schema161"
            }
          },
          "required": [
            "x",
            "y",
            "width",
            "height"
          ],
          "type": "object"
        },
        "kind": {
          "const": "rect",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "bounds"
      ],
      "type": "object"
    },
    "__schema16": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "materials",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema160": {
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "__schema161": {
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "__schema162": {
      "exclusiveMinimum": 0,
      "maximum": 1,
      "type": "number"
    },
    "__schema163": {
      "exclusiveMinimum": 0,
      "maximum": 1,
      "type": "number"
    },
    "__schema164": {
      "oneOf": [
        {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "none",
              "type": "string"
            }
          },
          "required": [
            "kind"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "featureId": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "owner-feature",
              "type": "string"
            }
          },
          "required": [
            "kind",
            "featureId"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "const": "subject",
              "type": "string"
            },
            "subject": {
              "oneOf": [
                {
                  "additionalProperties": false,
                  "properties": {
                    "character": {
                      "$ref": "#/$defs/__schema0"
                    },
                    "kind": {
                      "const": "character",
                      "type": "string"
                    }
                  },
                  "required": [
                    "kind",
                    "character"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "interactable": {
                      "$ref": "#/$defs/__schema165"
                    },
                    "kind": {
                      "const": "interactable",
                      "type": "string"
                    }
                  },
                  "required": [
                    "kind",
                    "interactable"
                  ],
                  "type": "object"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "feature": {
                      "description": "Owner-qualified Feature identity: the Feature must exist on the effective/live owner configuration. Room Features require their active Room; Interactable Features follow the exact owner Instance eligibility, including visible/enabled Inventory-held owners.",
                      "oneOf": [
                        {
                          "$ref": "#/$defs/__schema166"
                        },
                        {
                          "$ref": "#/$defs/__schema167"
                        }
                      ],
                      "x-noveltea-documentation": {
                        "description": "Owner-qualified Feature identity: the Feature must exist on the effective/live owner configuration. Room Features require their active Room; Interactable Features follow the exact owner Instance eligibility, including visible/enabled Inventory-held owners."
                      }
                    },
                    "kind": {
                      "const": "feature",
                      "type": "string"
                    }
                  },
                  "required": [
                    "kind",
                    "feature"
                  ],
                  "type": "object"
                }
              ]
            }
          },
          "required": [
            "kind",
            "subject"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "exitId": {
              "$ref": "#/$defs/__schema0"
            },
            "kind": {
              "const": "exit",
              "type": "string"
            }
          },
          "required": [
            "kind",
            "exitId"
          ],
          "type": "object"
        }
      ]
    },
    "__schema165": {
      "additionalProperties": false,
      "properties": {
        "$ref": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "$ref": "#/$defs/__schema0"
            },
            "registry": {
              "const": "interactableInstances",
              "type": "string"
            }
          },
          "required": [
            "registry",
            "id"
          ],
          "type": "object"
        }
      },
      "required": [
        "$ref"
      ],
      "type": "object"
    },
    "__schema166": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "ownerKind": {
          "const": "room",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "ownerKind",
        "room",
        "featureId"
      ],
      "type": "object"
    },
    "__schema167": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "interactable": {
          "$ref": "#/$defs/__schema165"
        },
        "ownerKind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "ownerKind",
        "interactable",
        "featureId"
      ],
      "type": "object"
    },
    "__schema17": {
      "additionalProperties": {
        "additionalProperties": false,
        "properties": {
          "source": {
            "$ref": "#/$defs/__schema19"
          },
          "type": {
            "$ref": "#/$defs/__schema18"
          }
        },
        "required": [
          "type",
          "source"
        ],
        "title": "MaterialParameterOverride",
        "type": "object",
        "x-noveltea-documentation": {
          "name": "MaterialParameterOverride"
        }
      },
      "default": {},
      "propertyNames": {
        "minLength": 1,
        "type": "string"
      },
      "type": "object"
    },
    "__schema18": {
      "enum": [
        "float",
        "vec2",
        "vec3",
        "vec4",
        "color",
        "int",
        "bool"
      ],
      "type": "string"
    },
    "__schema19": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema20"
        },
        {
          "$ref": "#/$defs/__schema28"
        },
        {
          "$ref": "#/$defs/__schema29"
        }
      ],
      "title": "MaterialParameterSource",
      "x-noveltea-documentation": {
        "name": "MaterialParameterSource"
      }
    },
    "__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": {
        "kind": {
          "const": "literal",
          "type": "string"
        },
        "value": {
          "anyOf": [
            {
              "$ref": "#/$defs/__schema21"
            },
            {
              "$ref": "#/$defs/__schema22"
            },
            {
              "$ref": "#/$defs/__schema23"
            },
            {
              "$ref": "#/$defs/__schema24"
            },
            {
              "$ref": "#/$defs/__schema25"
            },
            {
              "$ref": "#/$defs/__schema26"
            },
            {
              "$ref": "#/$defs/__schema27"
            }
          ],
          "title": "ShaderUniformValue"
        }
      },
      "required": [
        "kind",
        "value"
      ],
      "type": "object"
    },
    "__schema21": {
      "type": "null"
    },
    "__schema22": {
      "type": "number"
    },
    "__schema23": {
      "type": "boolean"
    },
    "__schema24": {
      "items": false,
      "maxItems": 2,
      "minItems": 2,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "type": "array"
    },
    "__schema25": {
      "items": false,
      "maxItems": 3,
      "minItems": 3,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "type": "array"
    },
    "__schema26": {
      "items": false,
      "maxItems": 4,
      "minItems": 4,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        },
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "type": "array"
    },
    "__schema27": {
      "additionalProperties": false,
      "properties": {
        "a": {
          "type": "number"
        },
        "b": {
          "type": "number"
        },
        "g": {
          "type": "number"
        },
        "r": {
          "type": "number"
        }
      },
      "required": [
        "r",
        "g",
        "b",
        "a"
      ],
      "type": "object"
    },
    "__schema28": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "property",
          "type": "string"
        },
        "property": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "property"
      ],
      "type": "object"
    },
    "__schema29": {
      "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"
    },
    "__schema3": {
      "items": {
        "$ref": "#/$defs/__schema4"
      },
      "type": "array"
    },
    "__schema30": {
      "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"
    },
    "__schema31": {
      "minLength": 1,
      "type": "string"
    },
    "__schema32": {
      "additionalProperties": false,
      "properties": {
        "markup": {
          "$ref": "#/$defs/__schema44"
        },
        "source": {
          "$ref": "#/$defs/__schema33"
        }
      },
      "required": [
        "source",
        "markup"
      ],
      "title": "TextContent",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "TextContent"
      }
    },
    "__schema33": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema34"
        },
        {
          "$ref": "#/$defs/__schema35"
        },
        {
          "$ref": "#/$defs/__schema36"
        }
      ],
      "title": "TextSource",
      "x-noveltea-documentation": {
        "name": "TextSource"
      }
    },
    "__schema34": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "inline",
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "text"
      ],
      "type": "object"
    },
    "__schema35": {
      "additionalProperties": false,
      "properties": {
        "key": {
          "$ref": "#/$defs/__schema10"
        },
        "kind": {
          "const": "localized",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "key"
      ],
      "type": "object"
    },
    "__schema36": {
      "additionalProperties": false,
      "properties": {
        "additionalDependencies": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "lua-expression",
          "type": "string"
        },
        "source": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "kind",
        "source"
      ],
      "type": "object"
    },
    "__schema37": {
      "$ref": "#/$defs/__schema38"
    },
    "__schema38": {
      "additionalProperties": false,
      "properties": {
        "targets": {
          "$ref": "#/$defs/__schema39"
        }
      },
      "title": "LuaExplicitDependencies",
      "type": "object"
    },
    "__schema39": {
      "default": [],
      "items": {
        "oneOf": [
          {
            "$ref": "#/$defs/__schema40"
          },
          {
            "$ref": "#/$defs/__schema41"
          },
          {
            "$ref": "#/$defs/__schema42"
          },
          {
            "$ref": "#/$defs/__schema43"
          }
        ],
        "title": "LuaDependencyTarget"
      },
      "type": "array"
    },
    "__schema4": {
      "additionalProperties": false,
      "properties": {
        "description": {
          "$ref": "#/$defs/__schema6"
        },
        "enumValues": {
          "$ref": "#/$defs/__schema11"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        },
        "label": {
          "$ref": "#/$defs/__schema5"
        },
        "nullable": {
          "$ref": "#/$defs/__schema8"
        },
        "type": {
          "$ref": "#/$defs/__schema7"
        },
        "value": {
          "$ref": "#/$defs/__schema9"
        }
      },
      "required": [
        "id",
        "type",
        "nullable",
        "value"
      ],
      "type": "object"
    },
    "__schema40": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "enum": [
            "assets",
            "animations",
            "variables",
            "materials",
            "layouts",
            "archetypes",
            "characters",
            "rooms",
            "interactables",
            "verbs",
            "interactions",
            "dialogues",
            "scenes",
            "maps",
            "scripts",
            "tests"
          ],
          "type": "string"
        },
        "id": {
          "minLength": 1,
          "type": "string"
        },
        "kind": {
          "const": "record",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema41": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "property-value",
          "type": "string"
        },
        "owner": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "minLength": 1,
              "type": "string"
            },
            "kind": {
              "enum": [
                "room",
                "character",
                "interactable"
              ],
              "type": "string"
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "type": "object"
        },
        "propertyId": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "kind",
        "owner",
        "propertyId"
      ],
      "type": "object"
    },
    "__schema42": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "room-placement",
          "type": "string"
        },
        "placementId": {
          "minLength": 1,
          "type": "string"
        },
        "roomId": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "kind",
        "roomId",
        "placementId"
      ],
      "type": "object"
    },
    "__schema43": {
      "additionalProperties": false,
      "properties": {
        "exitId": {
          "minLength": 1,
          "type": "string"
        },
        "kind": {
          "const": "room-exit",
          "type": "string"
        },
        "roomId": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "kind",
        "roomId",
        "exitId"
      ],
      "type": "object"
    },
    "__schema44": {
      "enum": [
        "plain",
        "active-text"
      ],
      "type": "string"
    },
    "__schema45": {
      "additionalProperties": false,
      "properties": {
        "center": {
          "additionalProperties": false,
          "properties": {
            "x": {
              "type": "number"
            },
            "y": {
              "type": "number"
            }
          },
          "required": [
            "x",
            "y"
          ],
          "type": "object"
        },
        "rotationDegrees": {
          "type": "number"
        },
        "zoom": {
          "exclusiveMinimum": 0,
          "type": "number"
        }
      },
      "required": [
        "center",
        "zoom",
        "rotationDegrees"
      ],
      "type": "object"
    },
    "__schema46": {
      "additionalProperties": false,
      "properties": {
        "height": {
          "exclusiveMinimum": 0,
          "maximum": 1,
          "type": "number"
        },
        "width": {
          "exclusiveMinimum": 0,
          "maximum": 1,
          "type": "number"
        },
        "x": {
          "maximum": 1,
          "minimum": 0,
          "type": "number"
        },
        "y": {
          "maximum": 1,
          "minimum": 0,
          "type": "number"
        }
      },
      "required": [
        "x",
        "y",
        "width",
        "height"
      ],
      "type": "object"
    },
    "__schema47": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema48": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "layouts",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema49": {
      "$ref": "#/$defs/__schema50",
      "title": "Condition"
    },
    "__schema5": {
      "minLength": 1,
      "type": "string"
    },
    "__schema50": {
      "anyOf": [
        {
          "const": "always",
          "type": "string"
        },
        {
          "oneOf": [
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "always",
                  "type": "string"
                }
              },
              "required": [
                "kind"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "conditions": {
                  "items": {
                    "$ref": "#/$defs/__schema49"
                  },
                  "type": "array"
                },
                "kind": {
                  "const": "all",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "conditions"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "conditions": {
                  "items": {
                    "$ref": "#/$defs/__schema49"
                  },
                  "type": "array"
                },
                "kind": {
                  "const": "any",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "conditions"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "condition": {
                  "$ref": "#/$defs/__schema49"
                },
                "kind": {
                  "const": "not",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "condition"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "variable-comparison",
                  "type": "string"
                },
                "operator": {
                  "$ref": "#/$defs/__schema53"
                },
                "value": {
                  "$ref": "#/$defs/__schema54"
                },
                "variable": {
                  "$ref": "#/$defs/__schema0"
                }
              },
              "required": [
                "kind",
                "variable",
                "operator"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "property-comparison",
                  "type": "string"
                },
                "operator": {
                  "$ref": "#/$defs/__schema53"
                },
                "owner": {
                  "$ref": "#/$defs/__schema59"
                },
                "propertyId": {
                  "$ref": "#/$defs/__schema0"
                },
                "value": {
                  "$ref": "#/$defs/__schema54"
                }
              },
              "required": [
                "kind",
                "owner",
                "propertyId",
                "operator"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "trait-presence",
                  "type": "string"
                },
                "owner": {
                  "$ref": "#/$defs/__schema59"
                },
                "present": {
                  "type": "boolean"
                },
                "trait": {
                  "$ref": "#/$defs/__schema0"
                }
              },
              "required": [
                "kind",
                "owner",
                "trait",
                "present"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "location-comparison",
                  "type": "string"
                },
                "location": {
                  "$ref": "#/$defs/__schema81"
                },
                "operator": {
                  "enum": [
                    "equal",
                    "not-equal"
                  ],
                  "type": "string"
                },
                "subject": {
                  "$ref": "#/$defs/__schema78"
                }
              },
              "required": [
                "kind",
                "subject",
                "operator",
                "location"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "inventory": {
                  "$ref": "#/$defs/__schema88"
                },
                "kind": {
                  "const": "inventory-quantity-comparison",
                  "type": "string"
                },
                "matcher": {
                  "$ref": "#/$defs/__schema103"
                },
                "operator": {
                  "enum": [
                    "equal",
                    "not-equal",
                    "less",
                    "less-equal",
                    "greater",
                    "greater-equal"
                  ],
                  "type": "string"
                },
                "quantity": {
                  "maximum": 9007199254740991,
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "kind",
                "inventory",
                "matcher",
                "operator",
                "quantity"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "additionalDependencies": {
                  "$ref": "#/$defs/__schema37"
                },
                "kind": {
                  "const": "lua-predicate",
                  "type": "string"
                },
                "source": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "source"
              ],
              "type": "object"
            }
          ]
        }
      ]
    },
    "__schema51": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema52": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "variables",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema53": {
      "enum": [
        "equal",
        "not-equal",
        "less",
        "less-equal",
        "greater",
        "greater-equal",
        "truthy",
        "falsy"
      ],
      "type": "string"
    },
    "__schema54": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema55"
        },
        {
          "$ref": "#/$defs/__schema56"
        },
        {
          "$ref": "#/$defs/__schema57"
        },
        {
          "$ref": "#/$defs/__schema58"
        }
      ],
      "title": "RuntimeScalar",
      "x-noveltea-documentation": {
        "name": "RuntimeScalar"
      }
    },
    "__schema55": {
      "type": "null"
    },
    "__schema56": {
      "type": "boolean"
    },
    "__schema57": {
      "type": "number"
    },
    "__schema58": {
      "type": "string"
    },
    "__schema59": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema60"
        },
        {
          "$ref": "#/$defs/__schema63"
        },
        {
          "$ref": "#/$defs/__schema66"
        },
        {
          "$ref": "#/$defs/__schema69"
        },
        {
          "$ref": "#/$defs/__schema70"
        },
        {
          "$ref": "#/$defs/__schema71"
        },
        {
          "$ref": "#/$defs/__schema72"
        },
        {
          "$ref": "#/$defs/__schema74"
        }
      ],
      "title": "GameplayIdentityOperand",
      "x-noveltea-documentation": {
        "name": "GameplayIdentityOperand"
      }
    },
    "__schema6": {
      "type": "string"
    },
    "__schema60": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "room",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room"
      ],
      "type": "object"
    },
    "__schema61": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema62": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "rooms",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema63": {
      "additionalProperties": false,
      "properties": {
        "character": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "character",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "character"
      ],
      "type": "object"
    },
    "__schema64": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema65": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "characters",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema66": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema67"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema67": {
      "additionalProperties": false,
      "properties": {
        "$ref": {
          "$ref": "#/$defs/__schema68"
        }
      },
      "required": [
        "$ref"
      ],
      "title": "InteractableInstanceRef",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "InteractableInstanceRef"
      }
    },
    "__schema68": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/__schema0"
        },
        "registry": {
          "const": "interactableInstances",
          "type": "string"
        }
      },
      "required": [
        "registry",
        "id"
      ],
      "type": "object"
    },
    "__schema69": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "room-feature",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room",
        "featureId"
      ],
      "type": "object"
    },
    "__schema7": {
      "enum": [
        "boolean",
        "integer",
        "number",
        "string",
        "enum",
        "message"
      ],
      "type": "string"
    },
    "__schema70": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "interactable": {
          "$ref": "#/$defs/__schema67"
        },
        "kind": {
          "const": "interactable-feature",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable",
        "featureId"
      ],
      "type": "object"
    },
    "__schema71": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "current-room",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema72": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "$ref": "#/$defs/__schema73"
        },
        "slotId": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "slotId"
      ],
      "title": "InteractionSlotOperand",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "InteractionSlotOperand"
      }
    },
    "__schema73": {
      "const": "interaction-slot",
      "type": "string"
    },
    "__schema74": {
      "additionalProperties": false,
      "properties": {
        "bindingId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "$ref": "#/$defs/__schema75"
        }
      },
      "required": [
        "kind",
        "bindingId"
      ],
      "title": "CommandResultOperand",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "CommandResultOperand"
      }
    },
    "__schema75": {
      "const": "command-result",
      "type": "string"
    },
    "__schema76": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema77": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "traits",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema78": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema79"
        },
        {
          "$ref": "#/$defs/__schema80"
        },
        {
          "$ref": "#/$defs/__schema72"
        },
        {
          "$ref": "#/$defs/__schema74"
        }
      ],
      "title": "LocationSubjectOperand",
      "x-noveltea-documentation": {
        "name": "LocationSubjectOperand"
      }
    },
    "__schema79": {
      "additionalProperties": false,
      "properties": {
        "character": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "character",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "character"
      ],
      "type": "object"
    },
    "__schema8": {
      "type": "boolean"
    },
    "__schema80": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema67"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema81": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema82"
        },
        {
          "$ref": "#/$defs/__schema83"
        },
        {
          "$ref": "#/$defs/__schema87"
        }
      ],
      "title": "LocationOperand",
      "x-noveltea-documentation": {
        "name": "LocationOperand"
      }
    },
    "__schema82": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "unplaced",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema83": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "room",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema84"
        }
      },
      "required": [
        "kind",
        "room"
      ],
      "type": "object"
    },
    "__schema84": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema85"
        },
        {
          "$ref": "#/$defs/__schema86"
        },
        {
          "$ref": "#/$defs/__schema74"
        }
      ],
      "title": "RoomOperand",
      "x-noveltea-documentation": {
        "name": "RoomOperand"
      }
    },
    "__schema85": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "room",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room"
      ],
      "type": "object"
    },
    "__schema86": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "current-room",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema87": {
      "additionalProperties": false,
      "properties": {
        "inventory": {
          "$ref": "#/$defs/__schema88"
        },
        "kind": {
          "const": "inventory",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "inventory"
      ],
      "type": "object"
    },
    "__schema88": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema89"
        },
        {
          "$ref": "#/$defs/__schema96"
        },
        {
          "$ref": "#/$defs/__schema97"
        },
        {
          "$ref": "#/$defs/__schema74"
        }
      ],
      "title": "InventoryOperand",
      "x-noveltea-documentation": {
        "name": "InventoryOperand"
      }
    },
    "__schema89": {
      "additionalProperties": false,
      "properties": {
        "inventory": {
          "additionalProperties": false,
          "properties": {
            "inventoryId": {
              "$ref": "#/$defs/__schema0"
            },
            "owner": {
              "$ref": "#/$defs/__schema90"
            }
          },
          "required": [
            "owner",
            "inventoryId"
          ],
          "title": "InventoryRef",
          "type": "object",
          "x-noveltea-documentation": {
            "name": "InventoryRef"
          }
        },
        "kind": {
          "const": "inventory",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "inventory"
      ],
      "type": "object"
    },
    "__schema9": {
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "boolean"
            },
            {
              "type": "number"
            },
            {
              "type": "string"
            }
          ]
        },
        {
          "additionalProperties": false,
          "properties": {
            "$message": {
              "$ref": "#/$defs/__schema10"
            }
          },
          "required": [
            "$message"
          ],
          "type": "object"
        }
      ]
    },
    "__schema90": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema91"
        },
        {
          "$ref": "#/$defs/__schema92"
        },
        {
          "$ref": "#/$defs/__schema93"
        },
        {
          "$ref": "#/$defs/__schema94"
        },
        {
          "$ref": "#/$defs/__schema95"
        }
      ],
      "title": "InventoryOwner",
      "x-noveltea-documentation": {
        "name": "InventoryOwner"
      }
    },
    "__schema91": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "project",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema92": {
      "additionalProperties": false,
      "properties": {
        "character": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "character",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "character"
      ],
      "type": "object"
    },
    "__schema93": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema67"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema94": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "room-feature",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room",
        "featureId"
      ],
      "type": "object"
    },
    "__schema95": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "interactable": {
          "$ref": "#/$defs/__schema67"
        },
        "kind": {
          "const": "interactable-feature",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable",
        "featureId"
      ],
      "type": "object"
    },
    "__schema96": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "player-inventory",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema97": {
      "additionalProperties": false,
      "properties": {
        "inventoryId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "owner-inventory",
          "type": "string"
        },
        "owner": {
          "oneOf": [
            {
              "$ref": "#/$defs/__schema98"
            },
            {
              "$ref": "#/$defs/__schema99"
            },
            {
              "$ref": "#/$defs/__schema100"
            },
            {
              "$ref": "#/$defs/__schema101"
            },
            {
              "$ref": "#/$defs/__schema102"
            },
            {
              "$ref": "#/$defs/__schema72"
            },
            {
              "$ref": "#/$defs/__schema74"
            }
          ],
          "title": "InventoryOwnerOperand",
          "x-noveltea-documentation": {
            "name": "InventoryOwnerOperand"
          }
        }
      },
      "required": [
        "kind",
        "owner",
        "inventoryId"
      ],
      "type": "object"
    },
    "__schema98": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "project",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema99": {
      "additionalProperties": false,
      "properties": {
        "character": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "character",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "character"
      ],
      "type": "object"
    }
  },
  "$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": {
        "anchors": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "bounds": {
                "$ref": "#/$defs/__schema46"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              }
            },
            "required": [
              "id",
              "bounds"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "background": {
          "additionalProperties": false,
          "default": {
            "asset": null,
            "color": null,
            "fit": "cover",
            "materialApplication": null
          },
          "properties": {
            "asset": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema0"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "color": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "fit": {
              "default": "cover",
              "enum": [
                "cover",
                "contain",
                "stretch",
                "center"
              ],
              "type": "string"
            },
            "materialApplication": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema14"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            }
          },
          "required": [],
          "type": "object"
        },
        "cast": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "appearanceId": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema0"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "character": {
                "$ref": "#/$defs/__schema0"
              },
              "condition": {
                "$ref": "#/$defs/__schema49",
                "default": "always"
              },
              "expressionId": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema0"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "idleId": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema0"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "order": {
                "default": 0,
                "maximum": 2147483647,
                "minimum": -2147483648,
                "type": "integer"
              },
              "placementId": {
                "$ref": "#/$defs/__schema0"
              },
              "poseId": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema0"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "profileId": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema0"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "visible": {
                "default": true,
                "type": "boolean"
              }
            },
            "required": [
              "id",
              "character",
              "placementId"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "description": {
          "$ref": "#/$defs/__schema32",
          "default": {
            "markup": "active-text",
            "source": {
              "kind": "inline",
              "text": ""
            }
          }
        },
        "displayName": {
          "type": "string"
        },
        "environments": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "bounds": {
                "$ref": "#/$defs/__schema46"
              },
              "clock": {
                "default": "gameplay",
                "enum": [
                  "gameplay",
                  "unscaled-presentation"
                ],
                "type": "string"
              },
              "condition": {
                "$ref": "#/$defs/__schema49",
                "default": "always"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "materialApplication": {
                "$ref": "#/$defs/__schema14"
              },
              "opacity": {
                "default": 1,
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              "order": {
                "default": 0,
                "maximum": 2147483647,
                "minimum": -2147483648,
                "type": "integer"
              },
              "plane": {
                "default": "world-content",
                "enum": [
                  "world-background",
                  "world-content",
                  "world-overlay"
                ],
                "type": "string"
              },
              "scrollPerSecond": {
                "additionalProperties": false,
                "default": {
                  "x": 0,
                  "y": 0
                },
                "properties": {
                  "x": {
                    "default": 0,
                    "type": "number"
                  },
                  "y": {
                    "default": 0,
                    "type": "number"
                  }
                },
                "required": [],
                "type": "object"
              },
              "visible": {
                "default": true,
                "type": "boolean"
              },
              "visual": {
                "anyOf": [
                  {
                    "oneOf": [
                      {
                        "$ref": "#/$defs/__schema115"
                      },
                      {
                        "$ref": "#/$defs/__schema116"
                      }
                    ],
                    "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."
                      ]
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "visual",
              "materialApplication",
              "bounds"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "exits": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "condition": {
                "$ref": "#/$defs/__schema49",
                "default": "always"
              },
              "direction": {
                "enum": [
                  "northwest",
                  "north",
                  "northeast",
                  "west",
                  "east",
                  "southwest",
                  "south",
                  "southeast",
                  "custom"
                ],
                "type": "string"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "label": {
                "minLength": 1,
                "type": "string"
              },
              "onRejected": {
                "default": [],
                "items": {
                  "$ref": "#/$defs/__schema125"
                },
                "type": "array"
              },
              "target": {
                "$ref": "#/$defs/__schema0"
              },
              "transition": {
                "anyOf": [
                  {
                    "additionalProperties": false,
                    "properties": {
                      "color": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "durationMs": {
                        "maximum": 9007199254740991,
                        "minimum": 0,
                        "type": "integer"
                      },
                      "kind": {
                        "enum": [
                          "cut",
                          "fade",
                          "dissolve"
                        ],
                        "type": "string"
                      },
                      "skippable": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "kind",
                      "durationMs",
                      "color",
                      "skippable"
                    ],
                    "type": "object"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "label",
              "direction",
              "target"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "fallbackInteractablePlacementId": {
          "anyOf": [
            {
              "$ref": "#/$defs/__schema0"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "features": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "defaultProperties": {
                "$ref": "#/$defs/__schema143"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "inventories": {
                "$ref": "#/$defs/__schema151"
              },
              "label": {
                "$ref": "#/$defs/__schema141"
              },
              "localProperties": {
                "$ref": "#/$defs/__schema3"
              },
              "traits": {
                "$ref": "#/$defs/__schema142"
              }
            },
            "required": [
              "id",
              "label",
              "traits",
              "localProperties",
              "defaultProperties",
              "inventories"
            ],
            "type": "object",
            "x-noveltea-documentation": {
              "constraints": [
                "Room Features are concrete gameplay identities: defaultProperties must be empty and Property values belong in localProperties.",
                "Interactable-definition Features are reusable configuration: localProperties must be empty and Property defaults belong in defaultProperties."
              ],
              "related": [
                "Room Feature",
                "Interactable-definition Feature",
                "Property"
              ]
            }
          },
          "type": "array"
        },
        "hotspots": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "condition": {
                "$ref": "#/$defs/__schema49"
              },
              "cursor": {
                "$ref": "#/$defs/__schema155"
              },
              "highlight": {
                "$ref": "#/$defs/__schema154"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "inputOrder": {
                "$ref": "#/$defs/__schema153"
              },
              "label": {
                "$ref": "#/$defs/__schema152"
              },
              "shape": {
                "$ref": "#/$defs/__schema159"
              },
              "target": {
                "$ref": "#/$defs/__schema164"
              }
            },
            "required": [
              "id",
              "label",
              "condition",
              "inputOrder",
              "highlight",
              "shape",
              "target"
            ],
            "type": "object",
            "x-noveltea-documentation": {
              "notes": [
                "Rect bounds are normalized to the complete Room background source image in image/UV space, not to the fitted on-screen background rectangle.",
                "A Hotspot selects a semantic target; it does not own the target's Verb or Interaction behavior."
              ]
            }
          },
          "type": "array"
        },
        "interactables": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "condition": {
                "$ref": "#/$defs/__schema49",
                "default": "always"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "interactable": {
                "$ref": "#/$defs/__schema112"
              },
              "order": {
                "$ref": "#/$defs/__schema114",
                "default": 0
              },
              "placementId": {
                "$ref": "#/$defs/__schema0"
              },
              "visible": {
                "$ref": "#/$defs/__schema113",
                "default": true
              }
            },
            "required": [
              "id",
              "interactable",
              "placementId"
            ],
            "type": "object",
            "x-noveltea-documentation": {
              "notes": [
                "This is Room-local presentation linkage for one exact declared Interactable Instance. The referenced Instance owns Location, quantity, enabled/visible state, Traits, and Properties."
              ],
              "related": [
                "InteractableInstance",
                "InteractableLocation",
                "Room placement"
              ]
            }
          },
          "type": "array"
        },
        "lifecycle": {
          "additionalProperties": false,
          "default": {
            "afterEnter": [],
            "afterLeave": [],
            "beforeEnter": [],
            "beforeLeave": [],
            "canEnter": "always",
            "canLeave": "always",
            "onEnterRejected": [],
            "onLeaveRejected": []
          },
          "properties": {
            "afterEnter": {
              "$ref": "#/$defs/__schema135",
              "default": []
            },
            "afterLeave": {
              "$ref": "#/$defs/__schema137",
              "default": []
            },
            "beforeEnter": {
              "$ref": "#/$defs/__schema124",
              "default": []
            },
            "beforeLeave": {
              "$ref": "#/$defs/__schema136",
              "default": []
            },
            "canEnter": {
              "$ref": "#/$defs/__schema49",
              "default": "always"
            },
            "canLeave": {
              "$ref": "#/$defs/__schema49",
              "default": "always"
            },
            "onEnterRejected": {
              "$ref": "#/$defs/__schema138",
              "default": []
            },
            "onLeaveRejected": {
              "$ref": "#/$defs/__schema139",
              "default": []
            }
          },
          "required": [],
          "type": "object",
          "x-noveltea-documentation": {
            "lifecycle": [
              "canEnter/canLeave are Exploration guards.",
              "beforeEnter/beforeLeave run before the Room switch commits and therefore admit only immediate commands.",
              "Pre-commit eligibility is checked recursively through if branches. call-scene, call-dialogue, notify, and run-lua are Flow-capable and forbidden here regardless of Lua source; use an immediate before-enter/before-leave Script Hook for Lua pre-commit work.",
              "afterEnter/afterLeave run after the Room switch commits and may use Flow-capable commands.",
              "onEnterRejected runs when target canEnter rejects; onLeaveRejected runs when source canLeave rejects and is also the fallback for an Exit rejection without its own onRejected commands.",
              "Exploration rejection keeps the Current Room unchanged while rejection commands execute."
            ]
          }
        },
        "overlays": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "condition": {
                "$ref": "#/$defs/__schema49",
                "default": "always"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "layout": {
                "$ref": "#/$defs/__schema0"
              },
              "order": {
                "default": 0,
                "maximum": 2147483647,
                "minimum": -2147483648,
                "type": "integer"
              },
              "visible": {
                "default": true,
                "type": "boolean"
              }
            },
            "required": [
              "id",
              "layout"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "placements": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "bounds": {
                "$ref": "#/$defs/__schema46"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "presentation": {
                "$ref": "#/$defs/__schema140"
              }
            },
            "required": [
              "id",
              "bounds",
              "presentation"
            ],
            "type": "object",
            "x-noveltea-documentation": {
              "notes": [
                "Placement bounds are normalized to the Room presentation-space reference frame. They do not change when the Room background uses cover, contain, stretch, or center fitting."
              ]
            }
          },
          "type": "array"
        },
        "presentationSpace": {
          "additionalProperties": false,
          "properties": {
            "bounds": {
              "anyOf": [
                {
                  "additionalProperties": false,
                  "properties": {
                    "height": {
                      "exclusiveMinimum": 0,
                      "type": "number"
                    },
                    "width": {
                      "exclusiveMinimum": 0,
                      "type": "number"
                    },
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "x",
                    "y",
                    "width",
                    "height"
                  ],
                  "type": "object"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "defaultView": {
              "additionalProperties": false,
              "properties": {
                "center": {
                  "additionalProperties": false,
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "x",
                    "y"
                  ],
                  "type": "object"
                },
                "rotationDegrees": {
                  "default": 0,
                  "type": "number"
                },
                "zoom": {
                  "default": 1,
                  "exclusiveMinimum": 0,
                  "type": "number"
                }
              },
              "required": [
                "center"
              ],
              "type": "object"
            },
            "edgePolicy": {
              "default": "contain",
              "enum": [
                "contain",
                "overscan"
              ],
              "type": "string"
            },
            "size": {
              "additionalProperties": false,
              "properties": {
                "height": {
                  "exclusiveMinimum": 0,
                  "type": "number"
                },
                "width": {
                  "exclusiveMinimum": 0,
                  "type": "number"
                }
              },
              "required": [
                "width",
                "height"
              ],
              "type": "object"
            },
            "views": {
              "default": [],
              "items": {
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "$ref": "#/$defs/__schema0"
                  },
                  "view": {
                    "$ref": "#/$defs/__schema45"
                  }
                },
                "required": [
                  "id",
                  "view"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "size",
            "defaultView"
          ],
          "type": "object"
        },
        "props": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "asset": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema0"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "condition": {
                "$ref": "#/$defs/__schema49",
                "default": "always"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "materialApplication": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema14"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "order": {
                "default": 0,
                "maximum": 2147483647,
                "minimum": -2147483648,
                "type": "integer"
              },
              "placementId": {
                "$ref": "#/$defs/__schema0"
              },
              "visible": {
                "default": true,
                "type": "boolean"
              }
            },
            "required": [
              "id",
              "placementId"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "scriptHooks": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "handler": {
                "additionalProperties": false,
                "properties": {
                  "export": {
                    "minLength": 1,
                    "type": "string"
                  },
                  "module": {
                    "$ref": "#/$defs/__schema0"
                  }
                },
                "required": [
                  "module",
                  "export"
                ],
                "type": "object"
              },
              "hook": {
                "enum": [
                  "can-enter",
                  "can-leave",
                  "reject-enter",
                  "reject-leave",
                  "before-enter",
                  "after-enter",
                  "before-leave",
                  "after-leave",
                  "compose"
                ],
                "type": "string"
              }
            },
            "required": [
              "hook",
              "handler"
            ],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "displayName",
        "presentationSpace"
      ],
      "type": "object"
    },
    "description": {
      "type": "string"
    },
    "id": {
      "$ref": "#/$defs/__schema0"
    },
    "label": {
      "minLength": 1,
      "type": "string"
    },
    "localProperties": {
      "$ref": "#/$defs/__schema3"
    },
    "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"
}
