{
  "$defs": {
    "__schema0": {
      "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
      "title": "EntityId",
      "type": "string"
    },
    "__schema1": {
      "additionalProperties": false,
      "properties": {
        "markup": {
          "$ref": "#/$defs/__schema13"
        },
        "source": {
          "$ref": "#/$defs/__schema2"
        }
      },
      "required": [
        "source",
        "markup"
      ],
      "title": "TextContent",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "TextContent"
      }
    },
    "__schema10": {
      "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"
    },
    "__schema11": {
      "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"
    },
    "__schema12": {
      "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"
    },
    "__schema13": {
      "enum": [
        "plain",
        "active-text"
      ],
      "type": "string"
    },
    "__schema14": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema15": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "assets",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema16": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "layouts",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema17": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema18": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "rooms",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema19": {
      "additionalProperties": false,
      "properties": {
        "points": {
          "items": {
            "$ref": "#/$defs/__schema20"
          },
          "minItems": 3,
          "type": "array"
        }
      },
      "required": [
        "points"
      ],
      "type": "object"
    },
    "__schema2": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema3"
        },
        {
          "$ref": "#/$defs/__schema4"
        },
        {
          "$ref": "#/$defs/__schema5"
        }
      ],
      "title": "TextSource",
      "x-noveltea-documentation": {
        "name": "TextSource"
      }
    },
    "__schema20": {
      "additionalProperties": false,
      "properties": {
        "x": {
          "$ref": "#/$defs/__schema21"
        },
        "y": {
          "$ref": "#/$defs/__schema21"
        }
      },
      "required": [
        "x",
        "y"
      ],
      "type": "object"
    },
    "__schema21": {
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "__schema22": {
      "$ref": "#/$defs/__schema23",
      "title": "Condition"
    },
    "__schema23": {
      "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/__schema22"
                  },
                  "type": "array"
                },
                "kind": {
                  "const": "all",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "conditions"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "conditions": {
                  "items": {
                    "$ref": "#/$defs/__schema22"
                  },
                  "type": "array"
                },
                "kind": {
                  "const": "any",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "conditions"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "condition": {
                  "$ref": "#/$defs/__schema22"
                },
                "kind": {
                  "const": "not",
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "condition"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "variable-comparison",
                  "type": "string"
                },
                "operator": {
                  "$ref": "#/$defs/__schema25"
                },
                "value": {
                  "$ref": "#/$defs/__schema26"
                },
                "variable": {
                  "$ref": "#/$defs/__schema0"
                }
              },
              "required": [
                "kind",
                "variable",
                "operator"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "property-comparison",
                  "type": "string"
                },
                "operator": {
                  "$ref": "#/$defs/__schema25"
                },
                "owner": {
                  "$ref": "#/$defs/__schema31"
                },
                "propertyId": {
                  "$ref": "#/$defs/__schema0"
                },
                "value": {
                  "$ref": "#/$defs/__schema26"
                }
              },
              "required": [
                "kind",
                "owner",
                "propertyId",
                "operator"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "trait-presence",
                  "type": "string"
                },
                "owner": {
                  "$ref": "#/$defs/__schema31"
                },
                "present": {
                  "type": "boolean"
                },
                "trait": {
                  "$ref": "#/$defs/__schema0"
                }
              },
              "required": [
                "kind",
                "owner",
                "trait",
                "present"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "kind": {
                  "const": "location-comparison",
                  "type": "string"
                },
                "location": {
                  "oneOf": [
                    {
                      "$ref": "#/$defs/__schema50"
                    },
                    {
                      "$ref": "#/$defs/__schema51"
                    },
                    {
                      "$ref": "#/$defs/__schema54"
                    }
                  ],
                  "title": "LocationOperand",
                  "x-noveltea-documentation": {
                    "name": "LocationOperand"
                  }
                },
                "operator": {
                  "enum": [
                    "equal",
                    "not-equal"
                  ],
                  "type": "string"
                },
                "subject": {
                  "oneOf": [
                    {
                      "$ref": "#/$defs/__schema48"
                    },
                    {
                      "$ref": "#/$defs/__schema49"
                    },
                    {
                      "$ref": "#/$defs/__schema42"
                    },
                    {
                      "$ref": "#/$defs/__schema44"
                    }
                  ],
                  "title": "LocationSubjectOperand",
                  "x-noveltea-documentation": {
                    "name": "LocationSubjectOperand"
                  }
                }
              },
              "required": [
                "kind",
                "subject",
                "operator",
                "location"
              ],
              "type": "object"
            },
            {
              "additionalProperties": false,
              "properties": {
                "inventory": {
                  "$ref": "#/$defs/__schema55"
                },
                "kind": {
                  "const": "inventory-quantity-comparison",
                  "type": "string"
                },
                "matcher": {
                  "additionalProperties": false,
                  "properties": {
                    "definition": {
                      "$ref": "#/$defs/__schema0"
                    },
                    "exact": {
                      "$ref": "#/$defs/__schema74"
                    },
                    "properties": {
                      "$ref": "#/$defs/__schema73"
                    },
                    "traits": {
                      "$ref": "#/$defs/__schema72"
                    }
                  },
                  "title": "InteractableMatcher",
                  "type": "object",
                  "x-noveltea-documentation": {
                    "name": "InteractableMatcher"
                  }
                },
                "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/__schema6"
                },
                "kind": {
                  "const": "lua-predicate",
                  "type": "string"
                },
                "source": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "source"
              ],
              "type": "object"
            }
          ]
        }
      ]
    },
    "__schema24": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "variables",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema25": {
      "enum": [
        "equal",
        "not-equal",
        "less",
        "less-equal",
        "greater",
        "greater-equal",
        "truthy",
        "falsy"
      ],
      "type": "string"
    },
    "__schema26": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema27"
        },
        {
          "$ref": "#/$defs/__schema28"
        },
        {
          "$ref": "#/$defs/__schema29"
        },
        {
          "$ref": "#/$defs/__schema30"
        }
      ],
      "title": "RuntimeScalar",
      "x-noveltea-documentation": {
        "name": "RuntimeScalar"
      }
    },
    "__schema27": {
      "type": "null"
    },
    "__schema28": {
      "type": "boolean"
    },
    "__schema29": {
      "type": "number"
    },
    "__schema3": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "inline",
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "text"
      ],
      "type": "object"
    },
    "__schema30": {
      "type": "string"
    },
    "__schema31": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema32"
        },
        {
          "$ref": "#/$defs/__schema33"
        },
        {
          "$ref": "#/$defs/__schema36"
        },
        {
          "$ref": "#/$defs/__schema39"
        },
        {
          "$ref": "#/$defs/__schema40"
        },
        {
          "$ref": "#/$defs/__schema41"
        },
        {
          "$ref": "#/$defs/__schema42"
        },
        {
          "$ref": "#/$defs/__schema44"
        }
      ],
      "title": "GameplayIdentityOperand",
      "x-noveltea-documentation": {
        "name": "GameplayIdentityOperand"
      }
    },
    "__schema32": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "room",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room"
      ],
      "type": "object"
    },
    "__schema33": {
      "additionalProperties": false,
      "properties": {
        "character": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "character",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "character"
      ],
      "type": "object"
    },
    "__schema34": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema35": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "characters",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema36": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema37": {
      "additionalProperties": false,
      "properties": {
        "$ref": {
          "$ref": "#/$defs/__schema38"
        }
      },
      "required": [
        "$ref"
      ],
      "title": "InteractableInstanceRef",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "InteractableInstanceRef"
      }
    },
    "__schema38": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "$ref": "#/$defs/__schema0"
        },
        "registry": {
          "const": "interactableInstances",
          "type": "string"
        }
      },
      "required": [
        "registry",
        "id"
      ],
      "type": "object"
    },
    "__schema39": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "room-feature",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room",
        "featureId"
      ],
      "type": "object"
    },
    "__schema4": {
      "additionalProperties": false,
      "properties": {
        "key": {
          "pattern": "^[A-Za-z][A-Za-z0-9_-]*(?:\\.[A-Za-z][A-Za-z0-9_-]*)+$",
          "title": "NamedMessageKey",
          "type": "string"
        },
        "kind": {
          "const": "localized",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "key"
      ],
      "type": "object"
    },
    "__schema40": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "interactable": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "interactable-feature",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable",
        "featureId"
      ],
      "type": "object"
    },
    "__schema41": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "current-room",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema42": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "$ref": "#/$defs/__schema43"
        },
        "slotId": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "slotId"
      ],
      "title": "InteractionSlotOperand",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "InteractionSlotOperand"
      }
    },
    "__schema43": {
      "const": "interaction-slot",
      "type": "string"
    },
    "__schema44": {
      "additionalProperties": false,
      "properties": {
        "bindingId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "$ref": "#/$defs/__schema45"
        }
      },
      "required": [
        "kind",
        "bindingId"
      ],
      "title": "CommandResultOperand",
      "type": "object",
      "x-noveltea-documentation": {
        "name": "CommandResultOperand"
      }
    },
    "__schema45": {
      "const": "command-result",
      "type": "string"
    },
    "__schema46": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema47": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "traits",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema48": {
      "additionalProperties": false,
      "properties": {
        "character": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "character",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "character"
      ],
      "type": "object"
    },
    "__schema49": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema5": {
      "additionalProperties": false,
      "properties": {
        "additionalDependencies": {
          "$ref": "#/$defs/__schema6"
        },
        "kind": {
          "const": "lua-expression",
          "type": "string"
        },
        "source": {
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "kind",
        "source"
      ],
      "type": "object"
    },
    "__schema50": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "unplaced",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema51": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "room",
          "type": "string"
        },
        "room": {
          "oneOf": [
            {
              "$ref": "#/$defs/__schema52"
            },
            {
              "$ref": "#/$defs/__schema53"
            },
            {
              "$ref": "#/$defs/__schema44"
            }
          ],
          "title": "RoomOperand",
          "x-noveltea-documentation": {
            "name": "RoomOperand"
          }
        }
      },
      "required": [
        "kind",
        "room"
      ],
      "type": "object"
    },
    "__schema52": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "room",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room"
      ],
      "type": "object"
    },
    "__schema53": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "current-room",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema54": {
      "additionalProperties": false,
      "properties": {
        "inventory": {
          "$ref": "#/$defs/__schema55"
        },
        "kind": {
          "const": "inventory",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "inventory"
      ],
      "type": "object"
    },
    "__schema55": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema56"
        },
        {
          "$ref": "#/$defs/__schema63"
        },
        {
          "$ref": "#/$defs/__schema64"
        },
        {
          "$ref": "#/$defs/__schema44"
        }
      ],
      "title": "InventoryOperand",
      "x-noveltea-documentation": {
        "name": "InventoryOperand"
      }
    },
    "__schema56": {
      "additionalProperties": false,
      "properties": {
        "inventory": {
          "additionalProperties": false,
          "properties": {
            "inventoryId": {
              "$ref": "#/$defs/__schema0"
            },
            "owner": {
              "$ref": "#/$defs/__schema57"
            }
          },
          "required": [
            "owner",
            "inventoryId"
          ],
          "title": "InventoryRef",
          "type": "object",
          "x-noveltea-documentation": {
            "name": "InventoryRef"
          }
        },
        "kind": {
          "const": "inventory",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "inventory"
      ],
      "type": "object"
    },
    "__schema57": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema58"
        },
        {
          "$ref": "#/$defs/__schema59"
        },
        {
          "$ref": "#/$defs/__schema60"
        },
        {
          "$ref": "#/$defs/__schema61"
        },
        {
          "$ref": "#/$defs/__schema62"
        }
      ],
      "title": "InventoryOwner",
      "x-noveltea-documentation": {
        "name": "InventoryOwner"
      }
    },
    "__schema58": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "project",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema59": {
      "additionalProperties": false,
      "properties": {
        "character": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "character",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "character"
      ],
      "type": "object"
    },
    "__schema6": {
      "$ref": "#/$defs/__schema7"
    },
    "__schema60": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema61": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "room-feature",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room",
        "featureId"
      ],
      "type": "object"
    },
    "__schema62": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "interactable": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "interactable-feature",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable",
        "featureId"
      ],
      "type": "object"
    },
    "__schema63": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "player-inventory",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema64": {
      "additionalProperties": false,
      "properties": {
        "inventoryId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "owner-inventory",
          "type": "string"
        },
        "owner": {
          "oneOf": [
            {
              "$ref": "#/$defs/__schema65"
            },
            {
              "$ref": "#/$defs/__schema66"
            },
            {
              "$ref": "#/$defs/__schema67"
            },
            {
              "$ref": "#/$defs/__schema68"
            },
            {
              "$ref": "#/$defs/__schema69"
            },
            {
              "$ref": "#/$defs/__schema42"
            },
            {
              "$ref": "#/$defs/__schema44"
            }
          ],
          "title": "InventoryOwnerOperand",
          "x-noveltea-documentation": {
            "name": "InventoryOwnerOperand"
          }
        }
      },
      "required": [
        "kind",
        "owner",
        "inventoryId"
      ],
      "type": "object"
    },
    "__schema65": {
      "additionalProperties": false,
      "properties": {
        "kind": {
          "const": "project",
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "__schema66": {
      "additionalProperties": false,
      "properties": {
        "character": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "character",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "character"
      ],
      "type": "object"
    },
    "__schema67": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema68": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "kind": {
          "const": "room-feature",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "kind",
        "room",
        "featureId"
      ],
      "type": "object"
    },
    "__schema69": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "interactable": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "interactable-feature",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable",
        "featureId"
      ],
      "type": "object"
    },
    "__schema7": {
      "additionalProperties": false,
      "properties": {
        "targets": {
          "$ref": "#/$defs/__schema8"
        }
      },
      "title": "LuaExplicitDependencies",
      "type": "object"
    },
    "__schema70": {
      "$ref": "#/$defs/__schema0"
    },
    "__schema71": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "interactables",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    },
    "__schema72": {
      "default": [],
      "items": {
        "$ref": "#/$defs/__schema0"
      },
      "type": "array"
    },
    "__schema73": {
      "default": [],
      "items": {
        "additionalProperties": false,
        "properties": {
          "propertyId": {
            "$ref": "#/$defs/__schema0"
          },
          "value": {
            "$ref": "#/$defs/__schema26"
          }
        },
        "required": [
          "propertyId",
          "value"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "__schema74": {
      "oneOf": [
        {
          "$ref": "#/$defs/__schema75"
        },
        {
          "$ref": "#/$defs/__schema42"
        },
        {
          "$ref": "#/$defs/__schema44"
        }
      ],
      "title": "InteractableOperand",
      "x-noveltea-documentation": {
        "name": "InteractableOperand"
      }
    },
    "__schema75": {
      "additionalProperties": false,
      "properties": {
        "interactable": {
          "$ref": "#/$defs/__schema37"
        },
        "kind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "kind",
        "interactable"
      ],
      "type": "object"
    },
    "__schema76": {
      "items": {
        "$ref": "#/$defs/__schema77"
      },
      "maxItems": 2,
      "minItems": 1,
      "type": "array"
    },
    "__schema77": {
      "additionalProperties": false,
      "properties": {
        "exit": {
          "$ref": "#/$defs/__schema0"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "room",
        "exit"
      ],
      "type": "object"
    },
    "__schema78": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema1"
        },
        {
          "type": "null"
        }
      ]
    },
    "__schema79": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema0"
        },
        {
          "type": "null"
        }
      ]
    },
    "__schema8": {
      "default": [],
      "items": {
        "oneOf": [
          {
            "$ref": "#/$defs/__schema9"
          },
          {
            "$ref": "#/$defs/__schema10"
          },
          {
            "$ref": "#/$defs/__schema11"
          },
          {
            "$ref": "#/$defs/__schema12"
          }
        ],
        "title": "LuaDependencyTarget"
      },
      "type": "array"
    },
    "__schema80": {
      "anyOf": [
        {
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "__schema81": {
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "type": "integer"
    },
    "__schema82": {
      "items": {
        "$ref": "#/$defs/__schema20"
      },
      "type": "array"
    },
    "__schema83": {
      "items": {
        "$ref": "#/$defs/__schema19"
      },
      "type": "array"
    },
    "__schema9": {
      "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"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "data": {
      "additionalProperties": false,
      "properties": {
        "connections": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "exits": {
                "$ref": "#/$defs/__schema76"
              },
              "hitRegions": {
                "$ref": "#/$defs/__schema83",
                "default": []
              },
              "icon": {
                "$ref": "#/$defs/__schema79",
                "default": null
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "label": {
                "$ref": "#/$defs/__schema78",
                "default": null
              },
              "logicalOrder": {
                "$ref": "#/$defs/__schema81",
                "default": 0
              },
              "path": {
                "$ref": "#/$defs/__schema82",
                "default": []
              },
              "style": {
                "$ref": "#/$defs/__schema80",
                "default": null
              },
              "visibility": {
                "$ref": "#/$defs/__schema22",
                "default": "always"
              }
            },
            "required": [
              "id",
              "exits"
            ],
            "type": "object",
            "x-noveltea-documentation": {
              "constraints": [
                "A two-exit Map Connection must reference reciprocal Room Exits connecting the same two distinct Rooms."
              ]
            }
          },
          "type": "array"
        },
        "locations": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "properties": {
              "connectionAnchor": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema20"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "icon": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema0"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "label": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema1"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "labelAnchor": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/__schema20"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "logicalOrder": {
                "default": 0,
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              "pickOrder": {
                "default": 0,
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              "regions": {
                "default": [],
                "items": {
                  "$ref": "#/$defs/__schema19"
                },
                "type": "array"
              },
              "room": {
                "$ref": "#/$defs/__schema0"
              },
              "style": {
                "anyOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null
              },
              "visibility": {
                "$ref": "#/$defs/__schema22",
                "default": "always"
              }
            },
            "required": [
              "id",
              "room"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "presentation": {
          "additionalProperties": false,
          "default": {
            "background": null,
            "initialMode": "full-map",
            "layout": null,
            "title": null
          },
          "properties": {
            "background": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema0"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "initialMode": {
              "default": "full-map",
              "enum": [
                "minimap",
                "full-map"
              ],
              "type": "string"
            },
            "layout": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema0"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "title": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema1"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            }
          },
          "required": [],
          "type": "object"
        }
      },
      "required": [],
      "type": "object"
    },
    "description": {
      "type": "string"
    },
    "id": {
      "$ref": "#/$defs/__schema0"
    },
    "label": {
      "minLength": 1,
      "type": "string"
    },
    "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"
    }
  },
  "required": [
    "id",
    "label",
    "data"
  ],
  "type": "object"
}
