{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.51.0",
    "schemaVersion": 1011,
    "oldestForwardsCompatibleVersion": 1001,
    "tsdocConfig": {
      "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
      "noStandardTags": true,
      "tagDefinitions": [
        {
          "tagName": "@alpha",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@beta",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@defaultValue",
          "syntaxKind": "block"
        },
        {
          "tagName": "@decorator",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@deprecated",
          "syntaxKind": "block"
        },
        {
          "tagName": "@eventProperty",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@example",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@experimental",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@inheritDoc",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@internal",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@label",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@link",
          "syntaxKind": "inline",
          "allowMultiple": true
        },
        {
          "tagName": "@override",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@packageDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@param",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@privateRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@public",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@readonly",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@remarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@returns",
          "syntaxKind": "block"
        },
        {
          "tagName": "@sealed",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@see",
          "syntaxKind": "block"
        },
        {
          "tagName": "@throws",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@typeParam",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@virtual",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@betaDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@internalRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@preapproved",
          "syntaxKind": "modifier"
        }
      ],
      "supportForTags": {
        "@alpha": true,
        "@beta": true,
        "@defaultValue": true,
        "@decorator": true,
        "@deprecated": true,
        "@eventProperty": true,
        "@example": true,
        "@experimental": true,
        "@inheritDoc": true,
        "@internal": true,
        "@label": true,
        "@link": true,
        "@override": true,
        "@packageDocumentation": true,
        "@param": true,
        "@privateRemarks": true,
        "@public": true,
        "@readonly": true,
        "@remarks": true,
        "@returns": true,
        "@sealed": true,
        "@see": true,
        "@throws": true,
        "@typeParam": true,
        "@virtual": true,
        "@betaDocumentation": true,
        "@internalRemarks": true,
        "@preapproved": true
      },
      "reportUnsupportedHtmlElements": false
    }
  },
  "projectFolderUrl": "https://github.com/hytopiagg/sdk",
  "kind": "Package",
  "canonicalReference": "server!",
  "docComment": "",
  "name": "server",
  "preserveMemberOrder": false,
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "server!",
      "name": "",
      "preserveMemberOrder": false,
      "members": [
        {
          "kind": "Class",
          "canonicalReference": "server!Audio:class",
          "docComment": "/**\n * Represents a audio playback in a world.\n *\n * @remarks\n *\n * Audio instances are created directly as instances. They support a variety of configuration options through the {@link AudioOptions} constructor argument.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link AudioEventPayloads}\n *\n * @example\n * ```typescript\n * (new Audio({\n *   uri: 'music/song.mp3', // relative to the server's assets directory in the project root, resolves to assets/music/song.mp3\n *   loop: true,\n *   volume: 0.5,\n * })).play(world);\n * ```\n *\n * @eventProperty @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Audio extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/audios/Audio.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Audio",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Audio:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Audio` class\n *\n * @param options - The options for the Audio instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "AudioOptions",
                  "canonicalReference": "server!AudioOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#attachedToEntity:member",
              "docComment": "/**\n * The entity to which the audio is attached if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get attachedToEntity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "attachedToEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#detune:member",
              "docComment": "/**\n * The detune of the audio in cents if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get detune(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "detune",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#distortion:member",
              "docComment": "/**\n * The amount of distortion to apply to the audio if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get distortion(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "distortion",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#duration:member",
              "docComment": "/**\n * The duration of the audio in seconds if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get duration(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "duration",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#id:member",
              "docComment": "/**\n * The unique identifier for the audio.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get id(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#isLoaded:member",
              "docComment": "/**\n * Whether the audio has loaded into the world. Audio is loaded the first time play() is called.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isLoaded(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isLoaded",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#isPlaying:member",
              "docComment": "/**\n * Whether the audio is currently playing.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isPlaying(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isPlaying",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#isPositional:member",
              "docComment": "/**\n * Whether the audio is positional (Entity or position attached).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isPositional(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isPositional",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#loop:member",
              "docComment": "/**\n * Whether the audio is looped.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get loop(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "loop",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#offset:member",
              "docComment": "/**\n * The offset time in seconds from which the audio should start playing if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get offset(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "offset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#pause:member(1)",
              "docComment": "/**\n * Pauses the audio.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "pause(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "pause"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#play:member(1)",
              "docComment": "/**\n * Plays or resumes the audio.\n *\n * @param world - The world to play the audio in.\n *\n * @param restart - If true, the audio will restart from the beginning if it is already playing.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "play(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ", restart?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "restart",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "play"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#playbackRate:member",
              "docComment": "/**\n * The playback rate of the audio if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get playbackRate(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "playbackRate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#position:member",
              "docComment": "/**\n * The position of the audio in the world if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get position(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "position",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#referenceDistance:member",
              "docComment": "/**\n * The reference distance of the audio if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get referenceDistance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "referenceDistance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#setAttachedToEntity:member(1)",
              "docComment": "/**\n * Sets the entity to which the audio is attached, following its position.\n *\n * @param entity - The entity to attach the Audio to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAttachedToEntity(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAttachedToEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#setDetune:member(1)",
              "docComment": "/**\n * Sets the detune of the audio.\n *\n * @param detune - The detune in cents.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setDetune(detune: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "detune",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setDetune"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#setDistortion:member(1)",
              "docComment": "/**\n * Sets the distortion of the audio.\n *\n * @param distortion - The distortion amount.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setDistortion(distortion: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "distortion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setDistortion"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#setPlaybackRate:member(1)",
              "docComment": "/**\n * Sets the playback rate of the audio.\n *\n * @param playbackRate - The playback rate.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPlaybackRate(playbackRate: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "playbackRate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPlaybackRate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#setPosition:member(1)",
              "docComment": "/**\n * Sets the position of the audio. Will detach from entity if attached.\n *\n * @param position - The position in the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#setReferenceDistance:member(1)",
              "docComment": "/**\n * Sets the reference distance of the audio.\n *\n * @param referenceDistance - The reference distance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setReferenceDistance(referenceDistance: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "referenceDistance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setReferenceDistance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Audio#setVolume:member(1)",
              "docComment": "/**\n * Sets the volume of the audio.\n *\n * @param volume - The volume level.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setVolume(volume: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "volume",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setVolume"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#startTick:member",
              "docComment": "/**\n * The server tick at which the audio started playing.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get startTick(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "startTick",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#uri:member",
              "docComment": "/**\n * The URI of the audio asset.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get uri(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "uri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#volume:member",
              "docComment": "/**\n * The volume of the audio if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get volume(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "volume",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Audio#world:member",
              "docComment": "/**\n * The world the audio is in if already loaded.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!AudioEvent:enum",
          "docComment": "/**\n * Event types an Audio instance can emit. See {@link AudioEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum AudioEvent "
            }
          ],
          "fileUrlPath": "src/world/audios/Audio.ts",
          "releaseTag": "Public",
          "name": "AudioEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.PAUSE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PAUSE = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.PAUSE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PAUSE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.PLAY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAY = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.PLAY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.PLAY_RESTART:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAY_RESTART = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.PLAY_RESTART\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAY_RESTART"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.SET_ATTACHED_TO_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ATTACHED_TO_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.SET_ATTACHED_TO_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ATTACHED_TO_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.SET_DETUNE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_DETUNE = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.SET_DETUNE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_DETUNE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.SET_DISTORTION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_DISTORTION = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.SET_DISTORTION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_DISTORTION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.SET_PLAYBACK_RATE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_PLAYBACK_RATE = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.SET_PLAYBACK_RATE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_PLAYBACK_RATE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.SET_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.SET_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.SET_REFERENCE_DISTANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_REFERENCE_DISTANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.SET_REFERENCE_DISTANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_REFERENCE_DISTANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!AudioEvent.SET_VOLUME:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VOLUME = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.SET_VOLUME\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VOLUME"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!AudioEventPayloads:interface",
          "docComment": "/**\n * Event payloads for Audio emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface AudioEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/audios/Audio.ts",
          "releaseTag": "Public",
          "name": "AudioEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.PAUSE\":member",
              "docComment": "/**\n * Emitted when the audio is paused.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.PAUSE",
                  "canonicalReference": "server!AudioEvent.PAUSE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.PAUSE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.PLAY_RESTART\":member",
              "docComment": "/**\n * Emitted when the audio is restarted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.PLAY_RESTART",
                  "canonicalReference": "server!AudioEvent.PLAY_RESTART:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.PLAY_RESTART\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.PLAY\":member",
              "docComment": "/**\n * Emitted when the audio is played.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.PLAY",
                  "canonicalReference": "server!AudioEvent.PLAY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.PLAY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.SET_ATTACHED_TO_ENTITY\":member",
              "docComment": "/**\n * Emitted when the audio is attached to an entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.SET_ATTACHED_TO_ENTITY",
                  "canonicalReference": "server!AudioEvent.SET_ATTACHED_TO_ENTITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.SET_ATTACHED_TO_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.SET_DETUNE\":member",
              "docComment": "/**\n * Emitted when the audio's detune is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.SET_DETUNE",
                  "canonicalReference": "server!AudioEvent.SET_DETUNE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        detune: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.SET_DETUNE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.SET_DISTORTION\":member",
              "docComment": "/**\n * Emitted when the audio's distortion is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.SET_DISTORTION",
                  "canonicalReference": "server!AudioEvent.SET_DISTORTION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        distortion: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.SET_DISTORTION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.SET_PLAYBACK_RATE\":member",
              "docComment": "/**\n * Emitted when the audio's playback rate is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.SET_PLAYBACK_RATE",
                  "canonicalReference": "server!AudioEvent.SET_PLAYBACK_RATE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        playbackRate: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.SET_PLAYBACK_RATE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.SET_POSITION\":member",
              "docComment": "/**\n * Emitted when the audio's position is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.SET_POSITION",
                  "canonicalReference": "server!AudioEvent.SET_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.SET_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.SET_REFERENCE_DISTANCE\":member",
              "docComment": "/**\n * Emitted when the audio's reference distance is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.SET_REFERENCE_DISTANCE",
                  "canonicalReference": "server!AudioEvent.SET_REFERENCE_DISTANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        referenceDistance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.SET_REFERENCE_DISTANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioEventPayloads#\"AUDIO.SET_VOLUME\":member",
              "docComment": "/**\n * Emitted when the audio's volume is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.SET_VOLUME",
                  "canonicalReference": "server!AudioEvent.SET_VOLUME:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        volume: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.SET_VOLUME\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!AudioManager:class",
          "docComment": "/**\n * Manages audio instances in a world.\n *\n * @remarks\n *\n * The AudioManager is created internally as a singleton for each {@link World} instance in a game server. It allows retrieval of all loaded audio, entity attached audio, looped audio, and more.\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `AudioManager` class.\n *\n * @example\n * ```typescript\n * // Stop all audio in the world\n * const audioManager = world.audioManager;\n * audioManager.getAllAudios().map(audio => audio.pause());\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class AudioManager "
            }
          ],
          "fileUrlPath": "src/world/audios/AudioManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "AudioManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!AudioManager#getAllAudios:member(1)",
              "docComment": "/**\n * Retrieves all loaded audio instances for the world.\n *\n * @returns An array of audio instances.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllAudios(): "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllAudios"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!AudioManager#getAllEntityAttachedAudios:member(1)",
              "docComment": "/**\n * Retrieves all loaded audio instances attached to a specific entity.\n *\n * @param entity - The entity to get attached audio instances for.\n *\n * @returns An array of audio instances.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllEntityAttachedAudios(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllEntityAttachedAudios"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!AudioManager#getAllLoopedAudios:member(1)",
              "docComment": "/**\n * Retrieves all looped audio instances for the world.\n *\n * @returns An array of audio instances.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllLoopedAudios(): "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllLoopedAudios"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!AudioManager#getAllOneshotAudios:member(1)",
              "docComment": "/**\n * Retrieves all oneshot (non-looped) audio instances for the world.\n *\n * @returns An array of audio instances.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllOneshotAudios(): "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllOneshotAudios"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!AudioManager#unregisterAudio:member(1)",
              "docComment": "/**\n * Unregisters and stops an audio instance from the audio manager.\n *\n * @param audio - The audio instance to pause and unregister.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "unregisterAudio(audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "audio",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "unregisterAudio"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!AudioManager#unregisterEntityAttachedAudios:member(1)",
              "docComment": "/**\n * Unregisters and stops all audio instances attached to a specific entity.\n *\n * @param entity - The entity to pause and unregister audio instances for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "unregisterEntityAttachedAudios(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "unregisterEntityAttachedAudios"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!AudioManager#world:member",
              "docComment": "/**\n * The world the audio manager is for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!AudioOptions:interface",
          "docComment": "/**\n * Options for creating an Audio instance.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface AudioOptions "
            }
          ],
          "fileUrlPath": "src/world/audios/Audio.ts",
          "releaseTag": "Public",
          "name": "AudioOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#attachedToEntity:member",
              "docComment": "/**\n * If set, audio playback will follow the entity's position.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "attachedToEntity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "attachedToEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#detune:member",
              "docComment": "/**\n * The detuning of the audio in cents.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "detune?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "detune",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#distortion:member",
              "docComment": "/**\n * The amount of distortion to apply to the audio.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "distortion?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "distortion",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#duration:member",
              "docComment": "/**\n * The duration of the audio in seconds. Defaults to full duration.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "duration?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "duration",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#loop:member",
              "docComment": "/**\n * Whether the audio should loop when it reaches the end. Defaults to false.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "loop?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "loop",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#offset:member",
              "docComment": "/**\n * The offset time in seconds from which the audio should start playing.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "offset?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "offset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#playbackRate:member",
              "docComment": "/**\n * The playback speed of the audio. Defaults to 1.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "playbackRate?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "playbackRate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#position:member",
              "docComment": "/**\n * The position in the world where the audio is played.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "position?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "position",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#referenceDistance:member",
              "docComment": "/**\n * The reference distance for reducing volume as the audio source moves away from the listener.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "referenceDistance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "referenceDistance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#uri:member",
              "docComment": "/**\n * The URI or path to the audio asset to be played.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "uri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "uri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!AudioOptions#volume:member",
              "docComment": "/**\n * The volume level of the audio. Defaults to 0.5.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "volume?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "volume",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BallColliderOptions:interface",
          "docComment": "/**\n * The options for a ball collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BallColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "BallColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BallColliderOptions#radius:member",
              "docComment": "/**\n * The radius of the ball collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "radius?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "radius",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BallColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.BALL",
                  "canonicalReference": "server!ColliderShape.BALL:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BaseColliderOptions:interface",
          "docComment": "/**\n * The base options for a collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BaseColliderOptions "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "BaseColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#bounciness:member",
              "docComment": "/**\n * The bounciness of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "bounciness?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "bounciness",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#bouncinessCombineRule:member",
              "docComment": "/**\n * The bounciness combine rule of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "bouncinessCombineRule?: "
                },
                {
                  "kind": "Reference",
                  "text": "CoefficientCombineRule",
                  "canonicalReference": "server!CoefficientCombineRule:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "bouncinessCombineRule",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#collisionGroups:member",
              "docComment": "/**\n * The collision groups the collider belongs to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "collisionGroups?: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "collisionGroups",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#enabled:member",
              "docComment": "/**\n * Whether the collider is enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enabled?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "enabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#flags:member",
              "docComment": "/**\n * The flags of the collider if the shape is a trimesh\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "flags?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "flags",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#friction:member",
              "docComment": "/**\n * The friction of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "friction?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "friction",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#frictionCombineRule:member",
              "docComment": "/**\n * The friction combine rule of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "frictionCombineRule?: "
                },
                {
                  "kind": "Reference",
                  "text": "CoefficientCombineRule",
                  "canonicalReference": "server!CoefficientCombineRule:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "frictionCombineRule",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#isSensor:member",
              "docComment": "/**\n * Whether the collider is a sensor.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "isSensor?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "isSensor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#mass:member",
              "docComment": "/**\n * The mass of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "mass?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "mass",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#onCollision:member",
              "docComment": "/**\n * The on collision callback for the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "onCollision?: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionCallback",
                  "canonicalReference": "server!CollisionCallback:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "onCollision",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#parentRigidBody:member",
              "docComment": "/**\n * The parent rigid body of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parentRigidBody?: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBody",
                  "canonicalReference": "server!RigidBody:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "parentRigidBody",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#relativePosition:member",
              "docComment": "/**\n * The relative position of the collider. Relative to parent rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "relativePosition?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "relativePosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#relativeRotation:member",
              "docComment": "/**\n * The relative rotation of the collider. Relative to parent rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "relativeRotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "relativeRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#shape:member",
              "docComment": "/**\n * The shape of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape",
                  "canonicalReference": "server!ColliderShape:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#simulation:member",
              "docComment": "/**\n * The simulation the collider is in, if provided the collider will automatically be added to the simulation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "simulation?: "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "simulation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseColliderOptions#tag:member",
              "docComment": "/**\n * An arbitrary identifier tag of the collider. Useful for your own logic.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tag?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "tag",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!BaseEntityController:class",
          "docComment": "/**\n * A base class for entity controller implementations.\n *\n * @remarks\n *\n * The BaseEntityController should be extended by a more specific entity controller that you or a plugin implements. Entity controllers are intended to be used as one controller instance per entity, but are flexible enough for edge cases such as if you want to create niche behavior of one controller for many entities that behave in unison.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link BaseEntityControllerEventPayloads}\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default abstract class BaseEntityController extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/BaseEntityController.ts",
          "releaseTag": "Public",
          "isAbstract": true,
          "name": "BaseEntityController",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!BaseEntityController#attach:member(1)",
              "docComment": "/**\n * Override this method to handle the attachment of an entity to your entity controller.\n *\n * @param entity - The entity to attach the controller to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "attach(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "attach"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BaseEntityController#despawn:member(1)",
              "docComment": "/**\n * Override this method to handle the despawn of an entity from your entity controller.\n *\n * @param entity - The entity to despawn.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "despawn(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "despawn"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BaseEntityController#detach:member(1)",
              "docComment": "/**\n * Override this method to handle the detachment of an entity from your entity controller.\n *\n * @param entity - The entity to detach.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "detach(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "detach"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BaseEntityController#spawn:member(1)",
              "docComment": "/**\n * Override this method to handle the spawning of an entity to your entity controller.\n *\n * @param entity - The entity to spawn.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "spawn(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "spawn"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BaseEntityController#tick:member(1)",
              "docComment": "/**\n * Override this method to handle entity movements based on your entity controller.\n *\n * @param deltaTimeMs - The delta time in milliseconds since the last tick.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tick(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ", deltaTimeMs: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "deltaTimeMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "tick"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BaseEntityController#tickWithPlayerInput:member(1)",
              "docComment": "/**\n * Override this method to handle entity movements based on player input for your entity controller. This is called every tick by a PlayerEntity with a entity controller.\n *\n * @param entity - The entity to tick.\n *\n * @param input - The current input state of the player.\n *\n * @param cameraOrientation - The current camera orientation state of the player.\n *\n * @param deltaTimeMs - The delta time in milliseconds since the last tick.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tickWithPlayerInput(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntity",
                  "canonicalReference": "server!PlayerEntity:class"
                },
                {
                  "kind": "Content",
                  "text": ", input: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerInput",
                  "canonicalReference": "server!PlayerInput:type"
                },
                {
                  "kind": "Content",
                  "text": ", cameraOrientation: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraOrientation",
                  "canonicalReference": "server!PlayerCameraOrientation:type"
                },
                {
                  "kind": "Content",
                  "text": ", deltaTimeMs: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "input",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "cameraOrientation",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "deltaTimeMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "tickWithPlayerInput"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!BaseEntityControllerEvent:enum",
          "docComment": "/**\n * Event types a BaseEntityController instance can emit. See {@link BaseEntityControllerEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum BaseEntityControllerEvent "
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/BaseEntityController.ts",
          "releaseTag": "Public",
          "name": "BaseEntityControllerEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BaseEntityControllerEvent.ATTACH:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ATTACH = "
                },
                {
                  "kind": "Content",
                  "text": "\"BASE_ENTITY_CONTROLLER.ATTACH\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ATTACH"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BaseEntityControllerEvent.DESPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DESPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"BASE_ENTITY_CONTROLLER.DESPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DESPAWN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BaseEntityControllerEvent.DETACH:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DETACH = "
                },
                {
                  "kind": "Content",
                  "text": "\"BASE_ENTITY_CONTROLLER.DETACH\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DETACH"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BaseEntityControllerEvent.SPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"BASE_ENTITY_CONTROLLER.SPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SPAWN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BaseEntityControllerEvent.TICK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "TICK = "
                },
                {
                  "kind": "Content",
                  "text": "\"BASE_ENTITY_CONTROLLER.TICK\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "TICK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BaseEntityControllerEvent.TICK_WITH_PLAYER_INPUT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "TICK_WITH_PLAYER_INPUT = "
                },
                {
                  "kind": "Content",
                  "text": "\"BASE_ENTITY_CONTROLLER.TICK_WITH_PLAYER_INPUT\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "TICK_WITH_PLAYER_INPUT"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BaseEntityControllerEventPayloads:interface",
          "docComment": "/**\n * Event payloads for BaseEntityController emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BaseEntityControllerEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/BaseEntityController.ts",
          "releaseTag": "Public",
          "name": "BaseEntityControllerEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityControllerEventPayloads#\"BASE_ENTITY_CONTROLLER.ATTACH\":member",
              "docComment": "/**\n * Emitted when an entity is attached to the controller.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityControllerEvent.ATTACH",
                  "canonicalReference": "server!BaseEntityControllerEvent.ATTACH:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BASE_ENTITY_CONTROLLER.ATTACH\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityControllerEventPayloads#\"BASE_ENTITY_CONTROLLER.DESPAWN\":member",
              "docComment": "/**\n * Emitted when an entity is despawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityControllerEvent.DESPAWN",
                  "canonicalReference": "server!BaseEntityControllerEvent.DESPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BASE_ENTITY_CONTROLLER.DESPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityControllerEventPayloads#\"BASE_ENTITY_CONTROLLER.DETACH\":member",
              "docComment": "/**\n * Emitted when an entity is detached from the controller.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityControllerEvent.DETACH",
                  "canonicalReference": "server!BaseEntityControllerEvent.DETACH:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BASE_ENTITY_CONTROLLER.DETACH\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityControllerEventPayloads#\"BASE_ENTITY_CONTROLLER.SPAWN\":member",
              "docComment": "/**\n * Emitted when an entity is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityControllerEvent.SPAWN",
                  "canonicalReference": "server!BaseEntityControllerEvent.SPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BASE_ENTITY_CONTROLLER.SPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityControllerEventPayloads#\"BASE_ENTITY_CONTROLLER.TICK_WITH_PLAYER_INPUT\":member",
              "docComment": "/**\n * Emitted when an entity is ticked with player input.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityControllerEvent.TICK_WITH_PLAYER_INPUT",
                  "canonicalReference": "server!BaseEntityControllerEvent.TICK_WITH_PLAYER_INPUT:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntity",
                  "canonicalReference": "server!PlayerEntity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        input: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerInput",
                  "canonicalReference": "server!PlayerInput:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n        cameraOrientation: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraOrientation",
                  "canonicalReference": "server!PlayerCameraOrientation:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n        deltaTimeMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BASE_ENTITY_CONTROLLER.TICK_WITH_PLAYER_INPUT\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityControllerEventPayloads#\"BASE_ENTITY_CONTROLLER.TICK\":member",
              "docComment": "/**\n * Emitted when an entity is ticked.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityControllerEvent.TICK",
                  "canonicalReference": "server!BaseEntityControllerEvent.TICK:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        deltaTimeMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BASE_ENTITY_CONTROLLER.TICK\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BaseEntityOptions:interface",
          "docComment": "/**\n * The base options for an entity.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BaseEntityOptions "
            }
          ],
          "fileUrlPath": "src/world/entities/Entity.ts",
          "releaseTag": "Public",
          "name": "BaseEntityOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#controller:member",
              "docComment": "/**\n * The entity controller to use for the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "controller?: "
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityController",
                  "canonicalReference": "server!BaseEntityController:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "controller",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#name:member",
              "docComment": "/**\n * The name of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#opacity:member",
              "docComment": "/**\n * The opacity of the entity between 0 and 1. 0 is fully transparent, 1 is fully opaque.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "opacity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "opacity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#parent:member",
              "docComment": "/**\n * The parent entity of the entity, entities with a parent will ignore creating their own colliders.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parent?: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "parent",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#parentNodeName:member",
              "docComment": "/**\n * The name of the parent's node (if parent is a model entity) to attach the entity to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "parentNodeName?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "parentNodeName",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#rigidBodyOptions:member",
              "docComment": "/**\n * The rigid body options for the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rigidBodyOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyOptions",
                  "canonicalReference": "server!RigidBodyOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "rigidBodyOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#tag:member",
              "docComment": "/**\n * An arbitrary identifier tag of the entity. Useful for your own logic.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tag?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "tag",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#tintColor:member",
              "docComment": "/**\n * The tint color of the entity as a hex code.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tintColor?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "tintColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BaseRigidBodyOptions:interface",
          "docComment": "/**\n * The base options for a rigid body.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BaseRigidBodyOptions "
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "name": "BaseRigidBodyOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseRigidBodyOptions#colliders:member",
              "docComment": "/**\n * The colliders of the rigid body, provided as {@link ColliderOptions}.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colliders?: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderOptions",
                  "canonicalReference": "server!ColliderOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colliders",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseRigidBodyOptions#enabled:member",
              "docComment": "/**\n * Whether the rigid body is enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enabled?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "enabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseRigidBodyOptions#position:member",
              "docComment": "/**\n * The position of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "position?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "position",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseRigidBodyOptions#rotation:member",
              "docComment": "/**\n * The rotation of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "rotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseRigidBodyOptions#simulation:member",
              "docComment": "/**\n * The simulation the rigid body is in. If provided, the rigid body will be automatically added to the simulation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "simulation?: "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "simulation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseRigidBodyOptions#type:member",
              "docComment": "/**\n * The type of the rigid body, defaults to {@link RigidBodyType.DYNAMIC}.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type?: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyType",
                  "canonicalReference": "server!RigidBodyType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Block:class",
          "docComment": "/**\n * Represents a block in a world.\n *\n * @remarks\n *\n * Instances of this class are created internally but made publicly available through various public facing API methods.\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Block` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Block "
            }
          ],
          "fileUrlPath": "src/world/blocks/Block.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Block",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!Block#blockType:member",
              "docComment": "/**\n * The block type of the block.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly blockType: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "blockType",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Block#getNeighborGlobalCoordinateFromHitPoint:member(1)",
              "docComment": "/**\n * Gets the most adjacent neighbor global coordinate of this block based on a relative hit point, typically from a raycast.\n *\n * @param hitPoint - The hit point on this block to get the neighbor coordinate from.\n *\n * @returns A neighbor global coordinate of this block based on the hit point.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getNeighborGlobalCoordinateFromHitPoint(hitPoint: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "hitPoint",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getNeighborGlobalCoordinateFromHitPoint"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Block#globalCoordinate:member",
              "docComment": "/**\n * The global coordinate of the block.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "globalCoordinate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BlockColliderOptions:interface",
          "docComment": "/**\n * The options for a block collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "BlockColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockColliderOptions#halfExtents:member",
              "docComment": "/**\n * The half extents of the block collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "halfExtents?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "halfExtents",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.BLOCK",
                  "canonicalReference": "server!ColliderShape.BLOCK:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BlockEntityOptions:interface",
          "docComment": "/**\n * The options for creating a block entity.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockEntityOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseEntityOptions",
              "canonicalReference": "server!BaseEntityOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/entities/Entity.ts",
          "releaseTag": "Public",
          "name": "BlockEntityOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockEntityOptions#blockHalfExtents:member",
              "docComment": "/**\n * The half extents of the visual size of the block entity when blockTextureUri is set. If no rigidBodyOptions.colliders are provided, a block collider with the size of the half extents will be created.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "blockHalfExtents?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "blockHalfExtents",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockEntityOptions#blockTextureUri:member",
              "docComment": "/**\n * The texture uri of a entity if the entity is a block entity, if set rigidBodyOptions collider shape [0] must be a block\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "blockTextureUri?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "blockTextureUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!BlockType:class",
          "docComment": "/**\n * Represents a block type.\n *\n * @remarks\n *\n * Block types are created directly as instances. They support a variety of configuration options through the {@link BlockTypeOptions} constructor argument. Block types are registered with a {@link BlockTypeRegistry} instance, allowing you to create custom blocks with unique visual representations and behaviors.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link BlockTypeEventPayloads}\n *\n * @example\n * ```typescript\n * const stoneBlockTypeId = 10;\n * world.blockTypeRegistry.registerBlockType(stoneBlockTypeId, new BlockType({\n *   id: stoneBlockTypeId,\n *   textureUri: 'textures/stone.png',\n *   name: 'Stone',\n * }));\n *\n * // Create a stone block at coordinate 0, 1, 0\n * world.chunkLattice.setBlock({ x: 0, y: 1, z: 0 }, stoneBlockTypeId);\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class BlockType extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/blocks/BlockType.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "BlockType",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!BlockType:constructor(1)",
              "docComment": "/**\n * Creates a new block type instance.\n *\n * @param world - The world the block type is for.\n *\n * @param options - The options for the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeOptions",
                  "canonicalReference": "server!BlockTypeOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#colliderOptions:member",
              "docComment": "/**\n * The collider options for the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colliderOptions(): "
                },
                {
                  "kind": "Reference",
                  "text": "TrimeshColliderOptions",
                  "canonicalReference": "server!TrimeshColliderOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colliderOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#id:member",
              "docComment": "/**\n * The unique identifier for the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get id(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#isLiquid:member",
              "docComment": "/**\n * Whether the block type is a liquid.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isLiquid(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isLiquid",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#isMeshable:member",
              "docComment": "/**\n * Whether the block type is meshable.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isMeshable(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isMeshable",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#name:member",
              "docComment": "/**\n * The name of the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get name(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#textureUri:member",
              "docComment": "/**\n * The URI of the texture for the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get textureUri(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "textureUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!BlockTypeEvent:enum",
          "docComment": "/**\n * Event types a BlockType instance can emit. See {@link BlockTypeEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum BlockTypeEvent "
            }
          ],
          "fileUrlPath": "src/world/blocks/BlockType.ts",
          "releaseTag": "Public",
          "name": "BlockTypeEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BlockTypeEvent.ENTITY_COLLISION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENTITY_COLLISION = "
                },
                {
                  "kind": "Content",
                  "text": "\"BLOCK_TYPE.ENTITY_COLLISION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENTITY_COLLISION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BlockTypeEvent.ENTITY_CONTACT_FORCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENTITY_CONTACT_FORCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"BLOCK_TYPE.ENTITY_CONTACT_FORCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENTITY_CONTACT_FORCE"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BlockTypeEventPayloads:interface",
          "docComment": "/**\n * Event payloads for BlockType emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockTypeEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/blocks/BlockType.ts",
          "releaseTag": "Public",
          "name": "BlockTypeEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeEventPayloads#\"BLOCK_TYPE.ENTITY_COLLISION\":member",
              "docComment": "/**\n * Emitted when an entity collides with a block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeEvent.ENTITY_COLLISION",
                  "canonicalReference": "server!BlockTypeEvent.ENTITY_COLLISION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        blockType: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        started: boolean;\n        colliderHandleA: number;\n        colliderHandleB: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BLOCK_TYPE.ENTITY_COLLISION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeEventPayloads#\"BLOCK_TYPE.ENTITY_CONTACT_FORCE\":member",
              "docComment": "/**\n * Emitted when an entity's contact force is applied to a block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeEvent.ENTITY_CONTACT_FORCE",
                  "canonicalReference": "server!BlockTypeEvent.ENTITY_CONTACT_FORCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        blockType: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        contactForceData: "
                },
                {
                  "kind": "Reference",
                  "text": "ContactForceData",
                  "canonicalReference": "server!ContactForceData:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BLOCK_TYPE.ENTITY_CONTACT_FORCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BlockTypeOptions:interface",
          "docComment": "/**\n * Options for creating a block type instance.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockTypeOptions "
            }
          ],
          "fileUrlPath": "src/world/blocks/BlockType.ts",
          "releaseTag": "Public",
          "name": "BlockTypeOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeOptions#customColliderOptions:member",
              "docComment": "/**\n * The custom collider options for the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "customColliderOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "TrimeshColliderOptions",
                  "canonicalReference": "server!TrimeshColliderOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "customColliderOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeOptions#id:member",
              "docComment": "/**\n * The unique numeric identifier for the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "id: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeOptions#isLiquid:member",
              "docComment": "/**\n * Whether the block type is a liquid.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "isLiquid?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "isLiquid",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeOptions#name:member",
              "docComment": "/**\n * The name of the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeOptions#textureUri:member",
              "docComment": "/**\n * The URI of the texture asset for the block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "textureUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "textureUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!BlockTypeRegistry:class",
          "docComment": "/**\n * Manages known block types in a world.\n *\n * @remarks\n *\n * Block type registries are created internally as a singleton for each {@link World} instance in a game server. A block type registry allows you to register and retrieve block types by their unique id for a world.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link BlockTypeRegistryEventPayloads}\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `BlockTypeRegistry` class.\n *\n * @example\n * ```typescript\n * world.blockTypeRegistry.registerGenericBlockType({\n *   id: 15,\n *   textureUri: 'textures/dirt.png',\n *   name: 'Dirt',\n * });\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class BlockTypeRegistry extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/blocks/BlockTypeRegistry.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "BlockTypeRegistry",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!BlockTypeRegistry#getAllBlockTypes:member(1)",
              "docComment": "/**\n * Get all registered block types.\n *\n * @returns An array of all registered block types.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllBlockTypes(): "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllBlockTypes"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BlockTypeRegistry#getBlockType:member(1)",
              "docComment": "/**\n * Get a registered block type by its id.\n *\n * @param id - The id of the block type to get.\n *\n * @returns The block type with the given id.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getBlockType(id: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "id",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getBlockType"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BlockTypeRegistry#registerBlockType:member(1)",
              "docComment": "/**\n * Register a block type.\n *\n * @param blockType - The block type to register.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "registerBlockType(blockType: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "blockType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "registerBlockType"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BlockTypeRegistry#registerGenericBlockType:member(1)",
              "docComment": "/**\n * Register a generic block type.\n *\n * @param blockTypeOptions - The options for the block type.\n *\n * @returns The registered block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "registerGenericBlockType(blockTypeOptions: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeOptions",
                  "canonicalReference": "server!BlockTypeOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "blockTypeOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "registerGenericBlockType"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockTypeRegistry#world:member",
              "docComment": "/**\n * The world the block type registry is for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!BlockTypeRegistryEvent:enum",
          "docComment": "/**\n * Event types a BlockTypeRegistry instance can emit. See {@link BlockTypeRegistryEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum BlockTypeRegistryEvent "
            }
          ],
          "fileUrlPath": "src/world/blocks/BlockTypeRegistry.ts",
          "releaseTag": "Public",
          "name": "BlockTypeRegistryEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!BlockTypeRegistryEvent.REGISTER_BLOCK_TYPE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REGISTER_BLOCK_TYPE = "
                },
                {
                  "kind": "Content",
                  "text": "\"BLOCK_TYPE_REGISTRY.REGISTER_BLOCK_TYPE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "REGISTER_BLOCK_TYPE"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BlockTypeRegistryEventPayloads:interface",
          "docComment": "/**\n * Event payloads for BlockTypeRegistry emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockTypeRegistryEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/blocks/BlockTypeRegistry.ts",
          "releaseTag": "Public",
          "name": "BlockTypeRegistryEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeRegistryEventPayloads#\"BLOCK_TYPE_REGISTRY.REGISTER_BLOCK_TYPE\":member",
              "docComment": "/**\n * Emitted when a block type is registered.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeRegistryEvent.REGISTER_BLOCK_TYPE",
                  "canonicalReference": "server!BlockTypeRegistryEvent.REGISTER_BLOCK_TYPE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        blockTypeRegistry: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeRegistry",
                  "canonicalReference": "server!BlockTypeRegistry:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        id: number;\n        blockType: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BLOCK_TYPE_REGISTRY.REGISTER_BLOCK_TYPE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!CapsuleColliderOptions:interface",
          "docComment": "/**\n * The options for a capsule collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface CapsuleColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "CapsuleColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!CapsuleColliderOptions#halfHeight:member",
              "docComment": "/**\n * The half height of the capsule collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "halfHeight?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "halfHeight",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!CapsuleColliderOptions#radius:member",
              "docComment": "/**\n * The radius of the capsule collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "radius?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "radius",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!CapsuleColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.CAPSULE",
                  "canonicalReference": "server!ColliderShape.CAPSULE:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!ChatEvent:enum",
          "docComment": "/**\n * Event types a ChatManager instance can emit. See {@link ChatEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum ChatEvent "
            }
          ],
          "fileUrlPath": "src/world/chat/ChatManager.ts",
          "releaseTag": "Public",
          "name": "ChatEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ChatEvent.BROADCAST_MESSAGE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BROADCAST_MESSAGE = "
                },
                {
                  "kind": "Content",
                  "text": "\"CHAT.BROADCAST_MESSAGE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "BROADCAST_MESSAGE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ChatEvent.PLAYER_MESSAGE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAYER_MESSAGE = "
                },
                {
                  "kind": "Content",
                  "text": "\"CHAT.PLAYER_MESSAGE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAYER_MESSAGE"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!ChatEventPayloads:interface",
          "docComment": "/**\n * Event payloads for ChatManager emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ChatEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/chat/ChatManager.ts",
          "releaseTag": "Public",
          "name": "ChatEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ChatEventPayloads#\"CHAT.BROADCAST_MESSAGE\":member",
              "docComment": "/**\n * Emitted when a broadcast message is sent.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ChatEvent.BROADCAST_MESSAGE",
                  "canonicalReference": "server!ChatEvent.BROADCAST_MESSAGE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n        message: string;\n        color?: string;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"CHAT.BROADCAST_MESSAGE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ChatEventPayloads#\"CHAT.PLAYER_MESSAGE\":member",
              "docComment": "/**\n * Emitted when a message is sent to a specific player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ChatEvent.PLAYER_MESSAGE",
                  "canonicalReference": "server!ChatEvent.PLAYER_MESSAGE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        message: string;\n        color?: string;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"CHAT.PLAYER_MESSAGE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!ChatManager:class",
          "docComment": "/**\n * Manages chat and commands in a world.\n *\n * @remarks\n *\n * The ChatManager is created internally as a singleton for each {@link World} instance in a game server. The ChatManager allows you to broadcast messages, send messages to specific players, and register commands that can be used in chat to execute game logic.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link ChatEventPayloads}\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `ChatManager` class.\n *\n * @example\n * ```typescript\n * world.chatManager.registerCommand('/kick', (player, args, message) => {\n *   const admins = [ 'arkdev', 'testuser123' ];\n *   if (admins.includes(player.username)) {\n *     const targetUsername = args[0];\n *     const targetPlayer = world.playerManager.getConnectedPlayerByUsername(targetUsername);\n *\n *     if (targetPlayer) {\n *       targetPlayer.disconnect();\n *     }\n *   }\n * });\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class ChatManager extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/chat/ChatManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "ChatManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!ChatManager#registerCommand:member(1)",
              "docComment": "/**\n * Register a command and its callback.\n *\n * @param command - The command to register.\n *\n * @param callback - The callback function to execute when the command is used.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "registerCommand(command: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", callback: "
                },
                {
                  "kind": "Reference",
                  "text": "CommandCallback",
                  "canonicalReference": "server!CommandCallback:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "command",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "callback",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "registerCommand"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChatManager#sendBroadcastMessage:member(1)",
              "docComment": "/**\n * Send a system broadcast message to all players in the world.\n *\n * @param message - The message to send.\n *\n * @param color - The color of the message as a hex color code, excluding #.\n *\n * @example\n * ```typescript\n * chatManager.sendBroadcastMessage('Hello, world!', 'FF00AA');\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sendBroadcastMessage(message: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", color?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "message",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "color",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "sendBroadcastMessage"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChatManager#sendPlayerMessage:member(1)",
              "docComment": "/**\n * Send a system message to a specific player, only visible to them.\n *\n * @param player - The player to send the message to.\n *\n * @param message - The message to send.\n *\n * @param color - The color of the message as a hex color code, excluding #.\n *\n * @example\n * ```typescript\n * chatManager.sendPlayerMessage(player, 'Hello, player!', 'FF00AA');\n * ```\n *\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sendPlayerMessage(player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ", message: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", color?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "player",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "message",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "color",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "sendPlayerMessage"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChatManager#unregisterCommand:member(1)",
              "docComment": "/**\n * Unregister a command.\n *\n * @param command - The command to unregister.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "unregisterCommand(command: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "command",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "unregisterCommand"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Chunk:class",
          "docComment": "/**\n * A 16^3 chunk of blocks. Used to represent a world's terrain.\n *\n * @remarks\n *\n * Chunks make up the bulk of the terrain in a world. Chunks are fixed size, each containing 16^3 possible blocks as a 16x16x16 cube. Chunks can be spawned, despawned, have their unique blocks set or removed, and more. Chunks represent their internal block coordinates in local space, meaning only coordinates x: 0...15, y: 0...15, z: 0...15 are valid.\n *\n * The Chunk follows a spawn and despawn lifecycle pattern. When you create a chunk, when you're ready to load it in your world you use .spawn(). To remove it, you use .despawn().\n *\n * Use .setBlock() to set the block type id at a specific local cooridnate. Block type ids are ones that have been registered in the {@link BlockTypeRegistry} associated with the {@link World} the chunk belongs to. A block type id of 0 is used to represent no block. Removing a block is done by .setBlock(localCoordinate, 0).\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link ChunkEventPayloads}\n *\n * @example\n * ```typescript\n * // Assume we previously registered a stone block with type id of 10..\n *\n * const chunk = new Chunk();\n *\n * chunk.setBlock({ x: 0, y: 0, z: 0 }, 10); // Set the block at 0, 0, 0 to stone\n * chunk.spawn(world, { x: 16, y: 0, z: 16 }); // Spawn the chunk at global coordinate 16, 0, 16\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Chunk extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/blocks/Chunk.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Chunk",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Chunk:constructor(1)",
              "docComment": "/**\n * Creates a new chunk instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor();"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": []
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk.blockIndexToLocalCoordinate:member(1)",
              "docComment": "/**\n * Convert a block index to a local coordinate.\n *\n * @param index - The index of the block to convert.\n *\n * @returns The local coordinate of the block.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static blockIndexToLocalCoordinate(index: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "index",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "blockIndexToLocalCoordinate"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Chunk#blocks:member",
              "docComment": "/**\n * The blocks in the chunk as a flat Uint8Array[4096], each index as 0 or a block type id.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get blocks(): "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Uint8Array",
                  "canonicalReference": "!Uint8Array:interface"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "blocks",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk#despawn:member(1)",
              "docComment": "/**\n * Despawn the chunk from the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "despawn(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "despawn"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk#getBlockId:member(1)",
              "docComment": "/**\n * Get the block type id at a specific local coordinate.\n *\n * @param localCoordinate - The local coordinate of the block to get.\n *\n * @returns The block type id.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getBlockId(localCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "localCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getBlockId"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk.globalCoordinateToLocalCoordinate:member(1)",
              "docComment": "/**\n * Convert a global coordinate to a local coordinate.\n *\n * @param globalCoordinate - The global coordinate to convert.\n *\n * @returns The local coordinate.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static globalCoordinateToLocalCoordinate(globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "globalCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "globalCoordinateToLocalCoordinate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk.globalCoordinateToOriginCoordinate:member(1)",
              "docComment": "/**\n * Convert a global coordinate to an origin coordinate.\n *\n * @param globalCoordinate - The global coordinate to convert.\n *\n * @returns The origin coordinate.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static globalCoordinateToOriginCoordinate(globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "globalCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "globalCoordinateToOriginCoordinate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk#hasBlock:member(1)",
              "docComment": "/**\n * Check if a block exists at a specific local coordinate.\n *\n * @param localCoordinate - The local coordinate of the block to check.\n *\n * @returns Whether a block exists.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasBlock(localCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "localCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "hasBlock"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Chunk#isSimulated:member",
              "docComment": "/**\n * Whether the chunk is actively simulated in the internal physics engine.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSimulated(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSimulated",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Chunk#isSpawned:member",
              "docComment": "/**\n * Whether the chunk has been spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSpawned(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSpawned",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk.isValidOriginCoordinate:member(1)",
              "docComment": "/**\n * Check if an origin coordinate is valid.\n *\n * @param coordinate - The coordinate to check.\n *\n * @returns Whether the coordinate is valid.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static isValidOriginCoordinate(coordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "coordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "isValidOriginCoordinate"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Chunk#originCoordinate:member",
              "docComment": "/**\n * The origin coordinate of the chunk.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get originCoordinate(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "originCoordinate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk#setBlock:member(1)",
              "docComment": "/**\n * Set the block at a specific local coordinate by block type id.\n *\n * @param localCoordinate - The local coordinate of the block to set.\n *\n * @param blockTypeId - The block type id to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setBlock(localCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", blockTypeId: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "localCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "blockTypeId",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setBlock"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk#spawn:member(1)",
              "docComment": "/**\n * Spawn the chunk in the world.\n *\n * @param world - The world to spawn the chunk in.\n *\n * @param originCoordinate - The origin coordinate of the chunk.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "spawn(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ", originCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "originCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "spawn"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Chunk#world:member",
              "docComment": "/**\n * The world the chunk belongs to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!ChunkEvent:enum",
          "docComment": "/**\n * Event types a Chunk instance can emit. See {@link ChunkEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum ChunkEvent "
            }
          ],
          "fileUrlPath": "src/world/blocks/Chunk.ts",
          "releaseTag": "Public",
          "name": "ChunkEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ChunkEvent.DESPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DESPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"CHUNK.DESPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DESPAWN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ChunkEvent.SET_BLOCK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_BLOCK = "
                },
                {
                  "kind": "Content",
                  "text": "\"CHUNK.SET_BLOCK\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_BLOCK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ChunkEvent.SPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"CHUNK.SPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SPAWN"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!ChunkEventPayloads:interface",
          "docComment": "/**\n * Event payloads for Chunk emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ChunkEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/blocks/Chunk.ts",
          "releaseTag": "Public",
          "name": "ChunkEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ChunkEventPayloads#\"CHUNK.DESPAWN\":member",
              "docComment": "/**\n * Emitted when a chunk is despawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ChunkEvent.DESPAWN",
                  "canonicalReference": "server!ChunkEvent.DESPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        chunk: "
                },
                {
                  "kind": "Reference",
                  "text": "Chunk",
                  "canonicalReference": "server!Chunk:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"CHUNK.DESPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ChunkEventPayloads#\"CHUNK.SET_BLOCK\":member",
              "docComment": "/**\n * Emitted when a block is set in a chunk.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ChunkEvent.SET_BLOCK",
                  "canonicalReference": "server!ChunkEvent.SET_BLOCK:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        chunk: "
                },
                {
                  "kind": "Reference",
                  "text": "Chunk",
                  "canonicalReference": "server!Chunk:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n        localCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n        blockTypeId: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"CHUNK.SET_BLOCK\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ChunkEventPayloads#\"CHUNK.SPAWN\":member",
              "docComment": "/**\n * Emitted when a chunk is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ChunkEvent.SPAWN",
                  "canonicalReference": "server!ChunkEvent.SPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        chunk: "
                },
                {
                  "kind": "Reference",
                  "text": "Chunk",
                  "canonicalReference": "server!Chunk:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"CHUNK.SPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!ChunkLattice:class",
          "docComment": "/**\n * A lattice of chunks that represent a world's terrain.\n *\n * @remarks\n *\n * The ChunkLattice lattice tracks the current terrain of a world, comprised of {@link Chunk} instances.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class ChunkLattice "
            }
          ],
          "fileUrlPath": "src/world/blocks/ChunkLattice.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "ChunkLattice",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!ChunkLattice:constructor(1)",
              "docComment": "/**\n * Creates a new chunk lattice instance.\n *\n * @param world - The world the chunk lattice is for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#getAllChunks:member(1)",
              "docComment": "/**\n * Get all chunks in the lattice.\n *\n * @returns An array of all chunks in the lattice.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllChunks(): "
                },
                {
                  "kind": "Reference",
                  "text": "Chunk",
                  "canonicalReference": "server!Chunk:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllChunks"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#getBlockId:member(1)",
              "docComment": "/**\n * Get the block type id at a specific global coordinate.\n *\n * @param globalCoordinate - The global coordinate of the block to get.\n *\n * @returns The block type id, 0 if no block is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getBlockId(globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "globalCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getBlockId"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#getBlockType:member(1)",
              "docComment": "/**\n * Get the block type at a specific global coordinate.\n *\n * @param globalCoordinate - The global coordinate of the block to get.\n *\n * @returns The block type, null if no block is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getBlockType(globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": " | null"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "globalCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getBlockType"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#getChunk:member(1)",
              "docComment": "/**\n * Get a chunk by its origin coordinate.\n *\n * @param originCoordinate - The origin coordinate of the chunk to get.\n *\n * @returns The chunk at the given origin coordinate or undefined if not found.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getChunk(originCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Chunk",
                  "canonicalReference": "server!Chunk:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "originCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getChunk"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#hasBlock:member(1)",
              "docComment": "/**\n * Check if a block exists at a specific global coordinate.\n *\n * @param globalCoordinate - The global coordinate of the block to check.\n *\n * @returns Whether a block exists.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasBlock(globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "globalCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "hasBlock"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#hasChunk:member(1)",
              "docComment": "/**\n * Check if a chunk exists by its origin coordinate.\n *\n * @param originCoordinate - The origin coordinate of the chunk to check.\n *\n * @returns Whether the chunk exists.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasChunk(originCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "originCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "hasChunk"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#setBlock:member(1)",
              "docComment": "/**\n * Set the block at a global coordinate by block type id, automatically creating a chunk if it doesn't exist. Use block type id 0 for air.\n *\n * @param globalCoordinate - The global coordinate of the block to set.\n *\n * @param blockTypeId - The block type id to set. Use 0 to remove the block and replace with air.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setBlock(globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", blockTypeId: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "globalCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "blockTypeId",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setBlock"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!CoefficientCombineRule:enum",
          "docComment": "/**\n * The coefficient for friction or bounciness combine rule.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum CoefficientCombineRule "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "CoefficientCombineRule",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CoefficientCombineRule.Average:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Average = "
                },
                {
                  "kind": "Content",
                  "text": "0"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "Average"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CoefficientCombineRule.Max:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Max = "
                },
                {
                  "kind": "Content",
                  "text": "3"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "Max"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CoefficientCombineRule.Min:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Min = "
                },
                {
                  "kind": "Content",
                  "text": "1"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "Min"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CoefficientCombineRule.Multiply:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Multiply = "
                },
                {
                  "kind": "Content",
                  "text": "2"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "Multiply"
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Collider:class",
          "docComment": "/**\n * Represents a collider in a world's physics simulation.\n *\n * @remarks\n *\n * Colliders make up the foundation of the physical interactions in a world. They are highly configurable and have many aspects that can be adjusted both before simulation and while simulated. Colliders will most often be used through passing {@link ColliderOptions} to a {@link RigidBody} or an entity's {@link EntityOptions}.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Collider extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Collider",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Collider:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Collider` class\n *\n * @param colliderOptions - The options for the collider instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(colliderOptions: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderOptions",
                  "canonicalReference": "server!ColliderOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "colliderOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#addToSimulation:member(1)",
              "docComment": "/**\n * Adds the collider to the simulation.\n *\n * @param simulation - The simulation to add the collider to.\n *\n * @param parentRigidBody - The parent rigid body of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "addToSimulation(simulation: "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": ", parentRigidBody?: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBody",
                  "canonicalReference": "server!RigidBody:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "simulation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "parentRigidBody",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "addToSimulation"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#bounciness:member",
              "docComment": "/**\n * The bounciness of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get bounciness(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "bounciness",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#bouncinessCombineRule:member",
              "docComment": "/**\n * The bounciness combine rule of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get bouncinessCombineRule(): "
                },
                {
                  "kind": "Reference",
                  "text": "CoefficientCombineRule",
                  "canonicalReference": "server!CoefficientCombineRule:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "bouncinessCombineRule",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#collisionGroups:member",
              "docComment": "/**\n * The collision groups the collider belongs to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get collisionGroups(): "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "collisionGroups",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#enableCollisionEvents:member(1)",
              "docComment": "/**\n * Enables or disables collision events for the collider. This is automatically enabled if an on collision callback is set.\n *\n * @param enabled - Whether collision events are enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enableCollisionEvents(enabled: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "enabled",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "enableCollisionEvents"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#enableContactForceEvents:member(1)",
              "docComment": "/**\n * Enables or disables contact force events for the collider. This is automatically enabled if an on contact force callback is set.\n *\n * @param enabled - Whether contact force events are enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enableContactForceEvents(enabled: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "enabled",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "enableContactForceEvents"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#friction:member",
              "docComment": "/**\n * The friction of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get friction(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "friction",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#frictionCombineRule:member",
              "docComment": "/**\n * The friction combine rule of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get frictionCombineRule(): "
                },
                {
                  "kind": "Reference",
                  "text": "CoefficientCombineRule",
                  "canonicalReference": "server!CoefficientCombineRule:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "frictionCombineRule",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isEnabled:member",
              "docComment": "/**\n * Whether the collider is enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isEnabled(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isRemoved:member",
              "docComment": "/**\n * Whether the collider has been removed from the simulation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isRemoved(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isRemoved",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isSensor:member",
              "docComment": "/**\n * Whether the collider is a sensor.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSensor(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSensor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isSimulated:member",
              "docComment": "/**\n * Whether the collider is simulated.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSimulated(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSimulated",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider.optionsFromBlockHalfExtents:member(1)",
              "docComment": "/**\n * Creates a collider options object from a block's half extents.\n *\n * @param halfExtents - The half extents of the block.\n *\n * @returns The collider options object.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static optionsFromBlockHalfExtents(halfExtents: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderOptions",
                  "canonicalReference": "server!ColliderOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "halfExtents",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "optionsFromBlockHalfExtents"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider.optionsFromModelUri:member(1)",
              "docComment": "/**\n * Creates a collider options object from a modelUri with best approximate shape and size.\n *\n * @param modelUri - The URI of the model.\n *\n * @returns The collider options object.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static optionsFromModelUri(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", scale?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderOptions",
                  "canonicalReference": "server!ColliderOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "optionsFromModelUri"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#parentRigidBody:member",
              "docComment": "/**\n * The parent rigid body of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get parentRigidBody(): "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBody",
                  "canonicalReference": "server!RigidBody:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "parentRigidBody",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#rawCollider:member",
              "docComment": "/**\n * The raw collider object from the Rapier physics engine.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rawCollider(): "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Collider",
                  "canonicalReference": "@dimforge/rapier3d-compat-simd!Collider:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "rawCollider",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#relativePosition:member",
              "docComment": "/**\n * The relative position of the collider to its parent rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get relativePosition(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "relativePosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#relativeRotation:member",
              "docComment": "/**\n * The relative rotation of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get relativeRotation(): "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "relativeRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#removeFromSimulation:member(1)",
              "docComment": "/**\n * Removes the collider from the simulation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "removeFromSimulation(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "removeFromSimulation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setBounciness:member(1)",
              "docComment": "/**\n * Sets the bounciness of the collider.\n *\n * @param bounciness - The bounciness of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setBounciness(bounciness: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "bounciness",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setBounciness"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setBouncinessCombineRule:member(1)",
              "docComment": "/**\n * Sets the bounciness combine rule of the collider.\n *\n * @param bouncinessCombineRule - The bounciness combine rule of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setBouncinessCombineRule(bouncinessCombineRule: "
                },
                {
                  "kind": "Reference",
                  "text": "CoefficientCombineRule",
                  "canonicalReference": "server!CoefficientCombineRule:enum"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "bouncinessCombineRule",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setBouncinessCombineRule"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setCollisionGroups:member(1)",
              "docComment": "/**\n * Sets the collision groups of the collider.\n *\n * @param collisionGroups - The collision groups of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setCollisionGroups(collisionGroups: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "collisionGroups",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setCollisionGroups"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setEnabled:member(1)",
              "docComment": "/**\n * Sets whether the collider is enabled.\n *\n * @param enabled - Whether the collider is enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setEnabled(enabled: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "enabled",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setEnabled"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setFriction:member(1)",
              "docComment": "/**\n * Sets the friction of the collider.\n *\n * @param friction - The friction of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFriction(friction: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "friction",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFriction"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setFrictionCombineRule:member(1)",
              "docComment": "/**\n * Sets the friction combine rule of the collider.\n *\n * @param frictionCombineRule - The friction combine rule of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFrictionCombineRule(frictionCombineRule: "
                },
                {
                  "kind": "Reference",
                  "text": "CoefficientCombineRule",
                  "canonicalReference": "server!CoefficientCombineRule:enum"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "frictionCombineRule",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFrictionCombineRule"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setMass:member(1)",
              "docComment": "/**\n * Sets the mass of the collider.\n *\n * @param mass - The mass of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setMass(mass: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "mass",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setMass"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setOnCollision:member(1)",
              "docComment": "/**\n * Sets the on collision callback for the collider.\n *\n * @param callback - The on collision callback for the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOnCollision(callback: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionCallback",
                  "canonicalReference": "server!CollisionCallback:type"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "callback",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOnCollision"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setRelativePosition:member(1)",
              "docComment": "/**\n * Sets the position of the collider relative to its parent rigid body or the world origin.\n *\n * @remarks\n *\n * Colliders can be added as a child of a rigid body, or to the world directly. This position is relative to the parent rigid body or the world origin.\n *\n * @param position - The relative position of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setRelativePosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setRelativePosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setRelativeRotation:member(1)",
              "docComment": "/**\n * Sets the relative rotation of the collider to its parent rigid body or the world origin.\n *\n * @remarks\n *\n * Colliders can be added as a child of a rigid body, or to the world directly. This rotation is relative to the parent rigid body or the world origin.\n *\n * @param rotation - The relative rotation of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setRelativeRotation(rotation: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "rotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setRelativeRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setSensor:member(1)",
              "docComment": "/**\n * Sets whether the collider is a sensor.\n *\n * @param sensor - Whether the collider is a sensor.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSensor(sensor: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "sensor",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setSensor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setTag:member(1)",
              "docComment": "/**\n * Sets the tag of the collider.\n *\n * @param tag - The tag of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTag(tag: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "tag",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setTag"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#shape:member",
              "docComment": "/**\n * The shape of the collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get shape(): "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape",
                  "canonicalReference": "server!ColliderShape:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#tag:member",
              "docComment": "/**\n * An arbitrary identifier tag of the collider. Useful for your own logic.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get tag(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "tag",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!ColliderOptions:type",
          "docComment": "/**\n * The options for a collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ColliderOptions = "
            },
            {
              "kind": "Reference",
              "text": "BallColliderOptions",
              "canonicalReference": "server!BallColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "BlockColliderOptions",
              "canonicalReference": "server!BlockColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "CapsuleColliderOptions",
              "canonicalReference": "server!CapsuleColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "ConeColliderOptions",
              "canonicalReference": "server!ConeColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "CylinderColliderOptions",
              "canonicalReference": "server!CylinderColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "RoundCylinderColliderOptions",
              "canonicalReference": "server!RoundCylinderColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "TrimeshColliderOptions",
              "canonicalReference": "server!TrimeshColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "NoneColliderOptions",
              "canonicalReference": "server!NoneColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "ColliderOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 16
          }
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!ColliderShape:enum",
          "docComment": "/**\n * The shapes a collider can be.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum ColliderShape "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "ColliderShape",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.BALL:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BALL = "
                },
                {
                  "kind": "Content",
                  "text": "\"ball\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "BALL"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.BLOCK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BLOCK = "
                },
                {
                  "kind": "Content",
                  "text": "\"block\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "BLOCK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.CAPSULE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "CAPSULE = "
                },
                {
                  "kind": "Content",
                  "text": "\"capsule\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "CAPSULE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.CONE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "CONE = "
                },
                {
                  "kind": "Content",
                  "text": "\"cone\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "CONE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.CYLINDER:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "CYLINDER = "
                },
                {
                  "kind": "Content",
                  "text": "\"cylinder\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "CYLINDER"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.NONE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "NONE = "
                },
                {
                  "kind": "Content",
                  "text": "\"none\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "NONE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.ROUND_CYLINDER:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ROUND_CYLINDER = "
                },
                {
                  "kind": "Content",
                  "text": "\"round-cylinder\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ROUND_CYLINDER"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.TRIMESH:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "TRIMESH = "
                },
                {
                  "kind": "Content",
                  "text": "\"trimesh\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "TRIMESH"
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!CollisionCallback:type",
          "docComment": "/**\n * A callback function that is called when a collision occurs.\n *\n * @param other - The other object involved in the collision, a block or entity.\n *\n * @param started - Whether the collision has started or ended.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type CollisionCallback = "
            },
            {
              "kind": "Content",
              "text": "((other: "
            },
            {
              "kind": "Reference",
              "text": "BlockType",
              "canonicalReference": "server!BlockType:class"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "server!Entity:class"
            },
            {
              "kind": "Content",
              "text": ", started: boolean) => void) | ((other: "
            },
            {
              "kind": "Reference",
              "text": "BlockType",
              "canonicalReference": "server!BlockType:class"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "server!Entity:class"
            },
            {
              "kind": "Content",
              "text": ", started: boolean, colliderHandleA: number, colliderHandleB: number) => void)"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/ColliderMap.ts",
          "releaseTag": "Public",
          "name": "CollisionCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!CollisionGroup:enum",
          "docComment": "/**\n * The default collision groups.\n *\n * @remarks\n *\n * The collision groups are used to determine which objects collide and generate collision and contact force events. The default collision groups can be used for most entity and block interactions, but you may want to create your own for more complex scenarios. Up to 15 collision groups can be registered. Collision groups use pairwise filtering using bit masks.\n *\n * This filtering method is based on two 16-bit values: - The belongsTo groups (the 16 left-most bits of `self.0`). - The collidesWith mask (the 16 right-most bits of `self.0`).\n *\n * An interaction is allowed between two filters `a` and `b` two conditions are met simultaneously: - The belongsTo groups of `a` has at least one bit set to `1` in common with the collidesWith mask of `b`. - The belongsTo groups of `b` has at least one bit set to `1` in common with the collidesWith mask of `a`. In other words, interactions are allowed between two filter if the following condition is met:\n * ```\n * ((a >> 16) & b) != 0 && ((b >> 16) & a) != 0\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum CollisionGroup "
            }
          ],
          "fileUrlPath": "src/world/physics/CollisionGroupsBuilder.ts",
          "releaseTag": "Public",
          "name": "CollisionGroup",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.ALL:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ALL = "
                },
                {
                  "kind": "Content",
                  "text": "65535"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ALL"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.BLOCK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BLOCK = "
                },
                {
                  "kind": "Content",
                  "text": "1"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "BLOCK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "2"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.ENTITY_SENSOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENTITY_SENSOR = "
                },
                {
                  "kind": "Content",
                  "text": "4"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENTITY_SENSOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_1:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_1 = "
                },
                {
                  "kind": "Content",
                  "text": "16"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_1"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_10:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_10 = "
                },
                {
                  "kind": "Content",
                  "text": "8192"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_10"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_11:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_11 = "
                },
                {
                  "kind": "Content",
                  "text": "16384"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_11"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_12:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_12 = "
                },
                {
                  "kind": "Content",
                  "text": "32768"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_12"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_2:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_2 = "
                },
                {
                  "kind": "Content",
                  "text": "32"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_2"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_3:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_3 = "
                },
                {
                  "kind": "Content",
                  "text": "64"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_3"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_4:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_4 = "
                },
                {
                  "kind": "Content",
                  "text": "128"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_4"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_5:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_5 = "
                },
                {
                  "kind": "Content",
                  "text": "256"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_5"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_6:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_6 = "
                },
                {
                  "kind": "Content",
                  "text": "512"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_6"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_7:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_7 = "
                },
                {
                  "kind": "Content",
                  "text": "1024"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_7"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_8:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_8 = "
                },
                {
                  "kind": "Content",
                  "text": "2048"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_8"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_9:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_9 = "
                },
                {
                  "kind": "Content",
                  "text": "4096"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_9"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.PLAYER:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAYER = "
                },
                {
                  "kind": "Content",
                  "text": "8"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAYER"
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!CollisionGroups:type",
          "docComment": "/**\n * A set of collision groups.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type CollisionGroups = "
            },
            {
              "kind": "Content",
              "text": "{\n    belongsTo: "
            },
            {
              "kind": "Reference",
              "text": "CollisionGroup",
              "canonicalReference": "server!CollisionGroup:enum"
            },
            {
              "kind": "Content",
              "text": "[];\n    collidesWith: "
            },
            {
              "kind": "Reference",
              "text": "CollisionGroup",
              "canonicalReference": "server!CollisionGroup:enum"
            },
            {
              "kind": "Content",
              "text": "[];\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/CollisionGroupsBuilder.ts",
          "releaseTag": "Public",
          "name": "CollisionGroups",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!CollisionGroupsBuilder:class",
          "docComment": "/**\n * A helper class for building and decoding collision groups.\n *\n * @remarks\n *\n * This class should be used directly with its static methods. You can assign collision groups to colliders of entities and blocks to control optimized collision interactions and filterings between blocks and entities, and entities and other entities.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class CollisionGroupsBuilder "
            }
          ],
          "fileUrlPath": "src/world/physics/CollisionGroupsBuilder.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "CollisionGroupsBuilder",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!CollisionGroupsBuilder.buildRawCollisionGroups:member(1)",
              "docComment": "/**\n * Builds a raw set of collision groups from a set of collision groups.\n *\n * @param collisionGroups - The set of collision groups to build.\n *\n * @returns A raw set of collision groups represented as a 32-bit number.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static buildRawCollisionGroups(collisionGroups: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "RawCollisionGroups",
                  "canonicalReference": "server!RawCollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "collisionGroups",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "buildRawCollisionGroups"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!CollisionGroupsBuilder.decodeCollisionGroups:member(1)",
              "docComment": "/**\n * Decodes a set of collision groups into a set of their string equivalents.\n *\n * @param collisionGroups - The set of collision groups to decode.\n *\n * @returns A set of collision groups represented as their string equivalents.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static decodeCollisionGroups(collisionGroups: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "DecodedCollisionGroups",
                  "canonicalReference": "server!DecodedCollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "collisionGroups",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "decodeCollisionGroups"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!CollisionGroupsBuilder.decodeRawCollisionGroups:member(1)",
              "docComment": "/**\n * Decodes a raw set of collision groups into a set of collision groups.\n *\n * @param groups - The raw set of collision groups to decode.\n *\n * @returns A set of collision groups.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static decodeRawCollisionGroups(groups: "
                },
                {
                  "kind": "Reference",
                  "text": "RawCollisionGroups",
                  "canonicalReference": "server!RawCollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "groups",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "decodeRawCollisionGroups"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!CollisionGroupsBuilder.isDefaultCollisionGroups:member(1)",
              "docComment": "/**\n * Checks if the collision groups are the default collision groups.\n *\n * @param collisionGroups - The set of collision groups to check.\n *\n * @returns Whether the collision groups are the default collision groups.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static isDefaultCollisionGroups(collisionGroups: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "collisionGroups",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "isDefaultCollisionGroups"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!CommandCallback:type",
          "docComment": "/**\n * A callback function for a chat command.\n *\n * @param player - The player that sent the command.\n *\n * @param args - An array of arguments, comprised of all space separated text after the command.\n *\n * @param message - The full message of the command.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type CommandCallback = "
            },
            {
              "kind": "Content",
              "text": "(player: "
            },
            {
              "kind": "Reference",
              "text": "Player",
              "canonicalReference": "server!Player:class"
            },
            {
              "kind": "Content",
              "text": ", args: string[], message: string) => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/chat/ChatManager.ts",
          "releaseTag": "Public",
          "name": "CommandCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!ConeColliderOptions:interface",
          "docComment": "/**\n * The options for a cone collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ConeColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "ConeColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ConeColliderOptions#halfHeight:member",
              "docComment": "/**\n * The half height of the cone collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "halfHeight?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "halfHeight",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ConeColliderOptions#radius:member",
              "docComment": "/**\n * The radius of the cone collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "radius?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "radius",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ConeColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.CONE",
                  "canonicalReference": "server!ColliderShape.CONE:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!ContactForceData:type",
          "docComment": "/**\n * Data for contact forces.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ContactForceData = "
            },
            {
              "kind": "Content",
              "text": "{\n    totalForce: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.Vector",
              "canonicalReference": "@dimforge/rapier3d-compat-simd!Vector:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    totalForceMagnitude: number;\n    maxForceDirection: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.Vector",
              "canonicalReference": "@dimforge/rapier3d-compat-simd!Vector:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    maxForceMagnitude: number;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "ContactForceData",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!ContactManifold:type",
          "docComment": "/**\n * A contact manifold.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ContactManifold = "
            },
            {
              "kind": "Content",
              "text": "{\n    contactPoints: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": "[];\n    localNormalA: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    localNormalB: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    normal: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "ContactManifold",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!CylinderColliderOptions:interface",
          "docComment": "/**\n * The options for a cylinder collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface CylinderColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "CylinderColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!CylinderColliderOptions#halfHeight:member",
              "docComment": "/**\n * The half height of the cylinder collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "halfHeight?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "halfHeight",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!CylinderColliderOptions#radius:member",
              "docComment": "/**\n * The radius of the cylinder collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "radius?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "radius",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!CylinderColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.CYLINDER",
                  "canonicalReference": "server!ColliderShape.CYLINDER:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!DecodedCollisionGroups:type",
          "docComment": "/**\n * A decoded set of collision groups represented as their string equivalents.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type DecodedCollisionGroups = "
            },
            {
              "kind": "Content",
              "text": "{\n    belongsTo: string[];\n    collidesWith: string[];\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/CollisionGroupsBuilder.ts",
          "releaseTag": "Public",
          "name": "DecodedCollisionGroups",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Variable",
          "canonicalReference": "server!DEFAULT_ENTITY_RIGID_BODY_OPTIONS:var",
          "docComment": "/**\n * The default rigid body options for a model entity when EntityOptions.rigidBodyOptions is not provided.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "DEFAULT_ENTITY_RIGID_BODY_OPTIONS: "
            },
            {
              "kind": "Reference",
              "text": "RigidBodyOptions",
              "canonicalReference": "server!RigidBodyOptions:type"
            }
          ],
          "fileUrlPath": "src/world/entities/Entity.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "DEFAULT_ENTITY_RIGID_BODY_OPTIONS",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!DynamicRigidBodyOptions:interface",
          "docComment": "/**\n * The options for a dynamic rigid body, also the default type.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface DynamicRigidBodyOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRigidBodyOptions",
              "canonicalReference": "server!BaseRigidBodyOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "name": "DynamicRigidBodyOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#additionalMass:member",
              "docComment": "/**\n * The additional mass of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "additionalMass?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "additionalMass",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#additionalMassProperties:member",
              "docComment": "/**\n * The additional mass properties of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "additionalMassProperties?: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyAdditionalMassProperties",
                  "canonicalReference": "server!RigidBodyAdditionalMassProperties:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "additionalMassProperties",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#additionalSolverIterations:member",
              "docComment": "/**\n * The additional solver iterations of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "additionalSolverIterations?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "additionalSolverIterations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#angularDamping:member",
              "docComment": "/**\n * The angular damping of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "angularDamping?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "angularDamping",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#angularVelocity:member",
              "docComment": "/**\n * The angular velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "angularVelocity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "angularVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#ccdEnabled:member",
              "docComment": "/**\n * Whether the rigid body has continuous collision detection enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ccdEnabled?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "ccdEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#dominanceGroup:member",
              "docComment": "/**\n * The dominance group of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "dominanceGroup?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "dominanceGroup",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#enabledPositions:member",
              "docComment": "/**\n * The enabled axes of positional movement of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enabledPositions?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Boolean",
                  "canonicalReference": "server!Vector3Boolean:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "enabledPositions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#enabledRotations:member",
              "docComment": "/**\n * The enabled rotations of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enabledRotations?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Boolean",
                  "canonicalReference": "server!Vector3Boolean:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "enabledRotations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#gravityScale:member",
              "docComment": "/**\n * The gravity scale of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "gravityScale?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "gravityScale",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#linearDamping:member",
              "docComment": "/**\n * The linear damping of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "linearDamping?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "linearDamping",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#linearVelocity:member",
              "docComment": "/**\n * The linear velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "linearVelocity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "linearVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#sleeping:member",
              "docComment": "/**\n * Whether the rigid body is sleeping.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sleeping?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "sleeping",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#softCcdPrediction:member",
              "docComment": "/**\n * The soft continuous collision detection prediction of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "softCcdPrediction?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "softCcdPrediction",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DynamicRigidBodyOptions#type:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type?: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyType.DYNAMIC",
                  "canonicalReference": "server!RigidBodyType.DYNAMIC:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Entity:class",
          "docComment": "/**\n * Represents an entity in a world.\n *\n * @remarks\n *\n * Entities are highly configurable and controllable. All entities are created from a .gltf model asset and allow full control of their rigid body and attached collider dynamics.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link EntityEventPayloads}\n *\n * @example\n * ```typescript\n * const spider = new Entity({\n *   name: 'Spider',\n *   modelUri: 'models/spider.gltf',\n *   modelLoopedAnimations: [ 'walk' ],\n *   rigidBodyOptions: {\n *     type: RigidBodyType.DYNAMIC,\n *     enabledRotations: { x: false, y: true, z: false },\n *     colliders: [\n *       {\n *         shape: ColliderShape.ROUND_CYLINDER,\n *         borderRadius: 0.1,\n *         halfHeight: 0.225,\n *         radius: 0.5,\n *         tag: 'body',\n *       }\n *     ],\n *   },\n * });\n *\n * spider.spawn(world, { x: 20, y: 6, z: 10 });\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Entity extends "
            },
            {
              "kind": "Reference",
              "text": "RigidBody",
              "canonicalReference": "server!RigidBody:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/entities/Entity.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Entity",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Entity:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Entity` class\n *\n * @param options - The options for the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityOptions",
                  "canonicalReference": "server!EntityOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#blockHalfExtents:member",
              "docComment": "/**\n * The half extends of the visual size of the block entity when blockTextureUri is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get blockHalfExtents(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "blockHalfExtents",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#blockTextureUri:member",
              "docComment": "/**\n * The URI or path to the texture to be used, if this is set, the entity is a block entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get blockTextureUri(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "blockTextureUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#controller:member",
              "docComment": "/**\n * The controller for the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get controller(): "
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityController",
                  "canonicalReference": "server!BaseEntityController:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "controller",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#despawn:member(1)",
              "docComment": "/**\n * Despawns the entity and all children from the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "despawn(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "despawn"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#height:member",
              "docComment": "/**\n * The height of the entity's model or block entity's y*2 half extents.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get height(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "height",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#id:member",
              "docComment": "/**\n * The unique identifier for the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get id(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#isBlockEntity:member",
              "docComment": "/**\n * Whether the entity is a block entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isBlockEntity(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isBlockEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#isModelEntity:member",
              "docComment": "/**\n * Whether the entity is a model entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isModelEntity(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isModelEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#isSpawned:member",
              "docComment": "/**\n * Whether the entity is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSpawned(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSpawned",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#modelAnimationsPlaybackRate:member",
              "docComment": "/**\n * The playback rate of the entity's model animations.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelAnimationsPlaybackRate(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelAnimationsPlaybackRate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#modelHiddenNodes:member",
              "docComment": "/**\n * The nodes to hide on the entity's model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelHiddenNodes(): "
                },
                {
                  "kind": "Reference",
                  "text": "ReadonlySet",
                  "canonicalReference": "!ReadonlySet:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelHiddenNodes",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#modelLoopedAnimations:member",
              "docComment": "/**\n * The looped animations to start when the entity is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelLoopedAnimations(): "
                },
                {
                  "kind": "Reference",
                  "text": "ReadonlySet",
                  "canonicalReference": "!ReadonlySet:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#modelScale:member",
              "docComment": "/**\n * The scale of the entity's model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelScale(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelScale",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#modelUri:member",
              "docComment": "/**\n * The URI or path to the .gltf model asset to be used for the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelUri(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#name:member",
              "docComment": "/**\n * The name of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get name(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#opacity:member",
              "docComment": "/**\n * The opacity of the entity between 0 and 1. 0 is fully transparent, 1 is fully opaque.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get opacity(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "opacity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#parent:member",
              "docComment": "/**\n * The parent entity of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get parent(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "parent",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#parentNodeName:member",
              "docComment": "/**\n * The name of the parent's node (if parent is a model entity) this entity is attached to when spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get parentNodeName(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "parentNodeName",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setController:member(1)",
              "docComment": "/**\n * Sets the controller for the entity.\n *\n * @param controller - The controller to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setController(controller: "
                },
                {
                  "kind": "Reference",
                  "text": "BaseEntityController",
                  "canonicalReference": "server!BaseEntityController:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "controller",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setController"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setModelAnimationsPlaybackRate:member(1)",
              "docComment": "/**\n * Sets the playback rate of all animations on the entity's model.\n *\n * @remarks\n *\n * Defaults to 1. A positive value will play the animation forward, a negative value will play the animation in reverse. Any value may be used. You can make animations play faster by using larger values.\n *\n * @param playbackRate - The playback rate of the entity's model animations.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setModelAnimationsPlaybackRate(playbackRate: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "playbackRate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setModelAnimationsPlaybackRate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setModelHiddenNodes:member(1)",
              "docComment": "/**\n * Sets the nodes to hide on the entity's model. Matched nodes will be hidden for all players. Uses case insensitive substring matching.\n *\n * @param modelHiddenNodes - The nodes to hide on the entity's model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setModelHiddenNodes(modelHiddenNodes: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelHiddenNodes",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setModelHiddenNodes"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setOpacity:member(1)",
              "docComment": "/**\n * Sets the opacity of the entity.\n *\n * @param opacity - The opacity of the entity between 0 and 1. 0 is fully transparent, 1 is fully opaque.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOpacity(opacity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "opacity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOpacity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setParent:member(1)",
              "docComment": "/**\n * Sets the parent of the entity and resets this entity's position and rotation.\n *\n * @remarks\n *\n * When setting the parent, all forces, torques and velocities of this entity are reset. Additionally, this entity's type will be set to `KINEMATIC_VELOCITY` if it is not already. All colliders of this entity will be disabled when parent is not undefined. If the provided parent is undefined, this entity will be removed from its parent and all colliders will be re-enabled. When setting an undefined parent to remove this entity from its parent, this entity's type will be set to the last type it was set to before being a child.\n *\n * @param parent - The parent entity to set, or undefined to remove from an existing parent.\n *\n * @param parentNodeName - The name of the parent's node (if parent is a model entity) this entity will attach to.\n *\n * @param position - The position to set for the entity. If parent is provided, this is relative to the parent's attachment point.\n *\n * @param rotation - The rotation to set for the entity. If parent is provided, this is relative to the parent's rotation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setParent(parent: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ", parentNodeName?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", position?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", rotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "parent",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "parentNodeName",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": true
                },
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  },
                  "isOptional": true
                },
                {
                  "parameterName": "rotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 9
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setParent"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setTintColor:member(1)",
              "docComment": "/**\n * Sets the tint color of the entity.\n *\n * @param tintColor - The tint color of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTintColor(tintColor: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "tintColor",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setTintColor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#spawn:member(1)",
              "docComment": "/**\n * Spawns the entity in the world.\n *\n * @param world - The world to spawn the entity in.\n *\n * @param position - The position to spawn the entity at.\n *\n * @param rotation - The optional rotation to spawn the entity with.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "spawn(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ", position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", rotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "rotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "spawn"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#startModelLoopedAnimations:member(1)",
              "docComment": "/**\n * Starts looped animations for the entity, blending with other animations currently playing.\n *\n * @remarks\n *\n * This method will be ignored and do nothing if the entity is a block entity.\n *\n * @param animations - The animations to start.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "startModelLoopedAnimations(animations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "animations",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "startModelLoopedAnimations"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#startModelOneshotAnimations:member(1)",
              "docComment": "/**\n * Starts a oneshot animation for the entity, blending with other animations currently playing.\n *\n * @remarks\n *\n * This method will be ignored and do nothing if the entity is a block entity.\n *\n * @param animations - The animations to start.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "startModelOneshotAnimations(animations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "animations",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "startModelOneshotAnimations"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#stopModelAnimations:member(1)",
              "docComment": "/**\n * Stops the provided model animations for the entity.\n *\n * @remarks\n *\n * This method will be ignored and do nothing if the entity is a block entity.\n *\n * @param animations - The animations to stop.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stopModelAnimations(animations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "animations",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "stopModelAnimations"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#tag:member",
              "docComment": "/**\n * An arbitrary identifier tag of the entity. Useful for your own logic.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get tag(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "tag",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#tintColor:member",
              "docComment": "/**\n * The tint color of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get tintColor(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "tintColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#world:member",
              "docComment": "/**\n * The world the entity is in.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!EntityEvent:enum",
          "docComment": "/**\n * Event types an Entity instance can emit. See {@link EntityEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum EntityEvent "
            }
          ],
          "fileUrlPath": "src/world/entities/Entity.ts",
          "releaseTag": "Public",
          "name": "EntityEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.BLOCK_COLLISION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BLOCK_COLLISION = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.BLOCK_COLLISION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "BLOCK_COLLISION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.BLOCK_CONTACT_FORCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BLOCK_CONTACT_FORCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.BLOCK_CONTACT_FORCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "BLOCK_CONTACT_FORCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.DESPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DESPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.DESPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DESPAWN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.ENTITY_COLLISION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENTITY_COLLISION = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.ENTITY_COLLISION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENTITY_COLLISION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.ENTITY_CONTACT_FORCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENTITY_CONTACT_FORCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.ENTITY_CONTACT_FORCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENTITY_CONTACT_FORCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_MODEL_ANIMATIONS_PLAYBACK_RATE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_MODEL_ANIMATIONS_PLAYBACK_RATE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_MODEL_ANIMATIONS_PLAYBACK_RATE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_MODEL_ANIMATIONS_PLAYBACK_RATE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_MODEL_HIDDEN_NODES:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_MODEL_HIDDEN_NODES = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_MODEL_HIDDEN_NODES\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_MODEL_HIDDEN_NODES"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_OPACITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OPACITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_OPACITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OPACITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_PARENT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_PARENT = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_PARENT\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_PARENT"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_TINT_COLOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TINT_COLOR = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_TINT_COLOR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TINT_COLOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SPAWN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.START_MODEL_LOOPED_ANIMATIONS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "START_MODEL_LOOPED_ANIMATIONS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.START_MODEL_LOOPED_ANIMATIONS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "START_MODEL_LOOPED_ANIMATIONS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.START_MODEL_ONESHOT_ANIMATIONS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "START_MODEL_ONESHOT_ANIMATIONS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.START_MODEL_ONESHOT_ANIMATIONS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "START_MODEL_ONESHOT_ANIMATIONS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.STOP_MODEL_ANIMATIONS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "STOP_MODEL_ANIMATIONS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.STOP_MODEL_ANIMATIONS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "STOP_MODEL_ANIMATIONS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.TICK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "TICK = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.TICK\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "TICK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.UPDATE_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "UPDATE_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.UPDATE_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "UPDATE_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.UPDATE_ROTATION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "UPDATE_ROTATION = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.UPDATE_ROTATION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "UPDATE_ROTATION"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!EntityEventPayloads:interface",
          "docComment": "/**\n * Event payloads for Entity emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface EntityEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/entities/Entity.ts",
          "releaseTag": "Public",
          "name": "EntityEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.BLOCK_COLLISION\":member",
              "docComment": "/**\n * Emitted when an entity collides with a block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.BLOCK_COLLISION",
                  "canonicalReference": "server!EntityEvent.BLOCK_COLLISION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        blockType: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        started: boolean;\n        colliderHandleA: number;\n        colliderHandleB: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.BLOCK_COLLISION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.BLOCK_CONTACT_FORCE\":member",
              "docComment": "/**\n * Emitted when an entity's contact force is applied to a block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.BLOCK_CONTACT_FORCE",
                  "canonicalReference": "server!EntityEvent.BLOCK_CONTACT_FORCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        blockType: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        contactForceData: "
                },
                {
                  "kind": "Reference",
                  "text": "ContactForceData",
                  "canonicalReference": "server!ContactForceData:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.BLOCK_CONTACT_FORCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.DESPAWN\":member",
              "docComment": "/**\n * Emitted when an entity is despawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.DESPAWN",
                  "canonicalReference": "server!EntityEvent.DESPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.DESPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.ENTITY_COLLISION\":member",
              "docComment": "/**\n * Emitted when an entity collides with another entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.ENTITY_COLLISION",
                  "canonicalReference": "server!EntityEvent.ENTITY_COLLISION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        otherEntity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        started: boolean;\n        colliderHandleA: number;\n        colliderHandleB: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.ENTITY_COLLISION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.ENTITY_CONTACT_FORCE\":member",
              "docComment": "/**\n * Emitted when an entity's contact force is applied to another entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.ENTITY_CONTACT_FORCE",
                  "canonicalReference": "server!EntityEvent.ENTITY_CONTACT_FORCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        otherEntity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        contactForceData: "
                },
                {
                  "kind": "Reference",
                  "text": "ContactForceData",
                  "canonicalReference": "server!ContactForceData:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.ENTITY_CONTACT_FORCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_MODEL_ANIMATIONS_PLAYBACK_RATE\":member",
              "docComment": "/**\n * Emitted when the playback rate of the entity's model animations is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_MODEL_ANIMATIONS_PLAYBACK_RATE",
                  "canonicalReference": "server!EntityEvent.SET_MODEL_ANIMATIONS_PLAYBACK_RATE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        playbackRate: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_MODEL_ANIMATIONS_PLAYBACK_RATE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_MODEL_HIDDEN_NODES\":member",
              "docComment": "/**\n * Emitted when the nodes of the entity's model are set to be hidden.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_MODEL_HIDDEN_NODES",
                  "canonicalReference": "server!EntityEvent.SET_MODEL_HIDDEN_NODES:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        modelHiddenNodes: "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_MODEL_HIDDEN_NODES\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_OPACITY\":member",
              "docComment": "/**\n * Emitted when the opacity of the entity is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_OPACITY",
                  "canonicalReference": "server!EntityEvent.SET_OPACITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        opacity: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_OPACITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_PARENT\":member",
              "docComment": "/**\n * Emitted when the parent of the entity is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_PARENT",
                  "canonicalReference": "server!EntityEvent.SET_PARENT:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        parent: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n        parentNodeName: string | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_PARENT\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_TINT_COLOR\":member",
              "docComment": "/**\n * Emitted when the tint color of the entity is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_TINT_COLOR",
                  "canonicalReference": "server!EntityEvent.SET_TINT_COLOR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        tintColor: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_TINT_COLOR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SPAWN\":member",
              "docComment": "/**\n * Emitted when the entity is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SPAWN",
                  "canonicalReference": "server!EntityEvent.SPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.START_MODEL_LOOPED_ANIMATIONS\":member",
              "docComment": "/**\n * Emitted when the looped animations of the entity's model are started.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.START_MODEL_LOOPED_ANIMATIONS",
                  "canonicalReference": "server!EntityEvent.START_MODEL_LOOPED_ANIMATIONS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        animations: "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.START_MODEL_LOOPED_ANIMATIONS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.START_MODEL_ONESHOT_ANIMATIONS\":member",
              "docComment": "/**\n * Emitted when the oneshot animations of the entity's model are started.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.START_MODEL_ONESHOT_ANIMATIONS",
                  "canonicalReference": "server!EntityEvent.START_MODEL_ONESHOT_ANIMATIONS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        animations: "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.START_MODEL_ONESHOT_ANIMATIONS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.STOP_MODEL_ANIMATIONS\":member",
              "docComment": "/**\n * Emitted when the model animations of the entity are stopped.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.STOP_MODEL_ANIMATIONS",
                  "canonicalReference": "server!EntityEvent.STOP_MODEL_ANIMATIONS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        animations: "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.STOP_MODEL_ANIMATIONS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.TICK\":member",
              "docComment": "/**\n * Emitted when the entity is ticked.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.TICK",
                  "canonicalReference": "server!EntityEvent.TICK:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        tickDeltaMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.TICK\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.UPDATE_POSITION\":member",
              "docComment": "/**\n * Emitted when the position of the entity is updated at the end of the tick, either directly or by physics.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.UPDATE_POSITION",
                  "canonicalReference": "server!EntityEvent.UPDATE_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.UPDATE_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.UPDATE_ROTATION\":member",
              "docComment": "/**\n * Emitted when the rotation of the entity is updated at the end of the tick, either directly or by physics.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.UPDATE_ROTATION",
                  "canonicalReference": "server!EntityEvent.UPDATE_ROTATION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        rotation: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.UPDATE_ROTATION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!EntityManager:class",
          "docComment": "/**\n * Manages entities in a world.\n *\n * @remarks\n *\n * The EntityManager is created internally as a singleton for each {@link World} instance in a game server. It allows retrieval of all entities, player entities, and more.\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `EntityManager` class.\n *\n * @example\n * ```typescript\n * // Get all entities in the world\n * const entityManager = world.entityManager;\n * const entities = entityManager.getAllEntities();\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class EntityManager "
            }
          ],
          "fileUrlPath": "src/world/entities/EntityManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "EntityManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!EntityManager#getAllEntities:member(1)",
              "docComment": "/**\n * Gets all spawned entities in the world.\n *\n * @returns All spawned entities in the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllEntities(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllEntities"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityManager#getAllPlayerEntities:member(1)",
              "docComment": "/**\n * Gets all spawned player entities in the world.\n *\n * @returns All spawned player entities in the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllPlayerEntities(): "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntity",
                  "canonicalReference": "server!PlayerEntity:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllPlayerEntities"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityManager#getEntitiesByTag:member(1)",
              "docComment": "/**\n * Gets all spawned entities in the world with a specific tag.\n *\n * @param tag - The tag to get the entities for.\n *\n * @returns All spawned entities in the world with the provided tag.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getEntitiesByTag(tag: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "tag",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getEntitiesByTag"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityManager#getEntitiesByTagSubstring:member(1)",
              "docComment": "/**\n * Gets all spawned entities in the world with a tag that includes a specific substring.\n *\n * @param tagSubstring - The tag substring to get the entities for.\n *\n * @returns All spawned entities in the world with a tag that includes the provided substring.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getEntitiesByTagSubstring(tagSubstring: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "tagSubstring",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getEntitiesByTagSubstring"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityManager#getEntity:member(1)",
              "docComment": "/**\n * Gets a spawned entity in the world by its id.\n *\n * @param id - The id of the entity to get.\n *\n * @returns The spawned entity with the provided id, or undefined if no entity is found.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getEntity<T extends "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ">(id: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "T | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "id",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityManager#getEntityChildren:member(1)",
              "docComment": "/**\n * Gets all child entities of an entity.\n *\n * @param entity - The entity to get the children for.\n *\n * @returns All child entities of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getEntityChildren(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getEntityChildren"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityManager#getPlayerEntitiesByPlayer:member(1)",
              "docComment": "/**\n * Gets all spawned entities in the world assigned to the provided player.\n *\n * @param player - The player to get the entities for.\n *\n * @returns All spawned entities in the world assigned to the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getPlayerEntitiesByPlayer(player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntity",
                  "canonicalReference": "server!PlayerEntity:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "player",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getPlayerEntitiesByPlayer"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityManager#world:member",
              "docComment": "/**\n * The world the entity manager is for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!EntityOptions:type",
          "docComment": "/**\n * The options for creating an Entity instance.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type EntityOptions = "
            },
            {
              "kind": "Reference",
              "text": "BlockEntityOptions",
              "canonicalReference": "server!BlockEntityOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "ModelEntityOptions",
              "canonicalReference": "server!ModelEntityOptions:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/Entity.ts",
          "releaseTag": "Public",
          "name": "EntityOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!ErrorHandler:class",
          "docComment": "/**\n * Manages error and warning logging.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class ErrorHandler "
            }
          ],
          "fileUrlPath": "src/errors/ErrorHandler.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "ErrorHandler",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!ErrorHandler.error:member(1)",
              "docComment": "/**\n * Logs a formatted error message with stack trace to help debug issues\n *\n * @param message - The error message to display\n *\n * @param context - Optional context information about the error\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static error(message: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", context?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "message",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "error"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ErrorHandler.fatalError:member(1)",
              "docComment": "/**\n * Logs a formatted fatal error message with stack trace and throws the error\n *\n * @param message - The error message to display\n *\n * @param context - Optional context information about the error\n *\n * @throws\n *\n * The created Error object\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fatalError(message: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", context?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "never"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "message",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fatalError"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ErrorHandler.warning:member(1)",
              "docComment": "/**\n * Logs a formatted warning message to alert about potential issues\n *\n * @param message - The warning message to display\n *\n * @param context - Optional context information about the warning\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static warning(message: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", context?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "message",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "context",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "warning"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!EventPayloads:interface",
          "docComment": "/**\n * The payloads for all events in the game server.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface EventPayloads extends "
            },
            {
              "kind": "Reference",
              "text": "AudioEventPayloads",
              "canonicalReference": "server!AudioEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "BaseEntityControllerEventPayloads",
              "canonicalReference": "server!BaseEntityControllerEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "BlockTypeEventPayloads",
              "canonicalReference": "server!BlockTypeEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "BlockTypeRegistryEventPayloads",
              "canonicalReference": "server!BlockTypeRegistryEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "ChatEventPayloads",
              "canonicalReference": "server!ChatEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "ChunkEventPayloads",
              "canonicalReference": "server!ChunkEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "ConnectionEventPayloads",
              "canonicalReference": "server!~ConnectionEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "EntityEventPayloads",
              "canonicalReference": "server!EntityEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "GameServerEventPayloads",
              "canonicalReference": "server!GameServerEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "PlayerCameraEventPayloads",
              "canonicalReference": "server!PlayerCameraEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "PlayerEventPayloads",
              "canonicalReference": "server!PlayerEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "PlayerManagerEventPayloads",
              "canonicalReference": "server!PlayerManagerEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "PlayerUIEventPayloads",
              "canonicalReference": "server!PlayerUIEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "SceneUIEventPayloads",
              "canonicalReference": "server!SceneUIEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "SimulationEventPayloads",
              "canonicalReference": "server!SimulationEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "SocketEventPayloads",
              "canonicalReference": "server!~SocketEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "LightEventPayloads",
              "canonicalReference": "server!LightEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "WebServerEventPayloads",
              "canonicalReference": "server!~WebServerEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "WorldEventPayloads",
              "canonicalReference": "server!WorldEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "WorldLoopEventPayloads",
              "canonicalReference": "server!WorldLoopEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/events/Events.ts",
          "releaseTag": "Public",
          "name": "EventPayloads",
          "preserveMemberOrder": false,
          "members": [],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            },
            {
              "startIndex": 3,
              "endIndex": 4
            },
            {
              "startIndex": 5,
              "endIndex": 6
            },
            {
              "startIndex": 7,
              "endIndex": 8
            },
            {
              "startIndex": 9,
              "endIndex": 10
            },
            {
              "startIndex": 11,
              "endIndex": 12
            },
            {
              "startIndex": 13,
              "endIndex": 14
            },
            {
              "startIndex": 15,
              "endIndex": 16
            },
            {
              "startIndex": 17,
              "endIndex": 18
            },
            {
              "startIndex": 19,
              "endIndex": 20
            },
            {
              "startIndex": 21,
              "endIndex": 22
            },
            {
              "startIndex": 23,
              "endIndex": 24
            },
            {
              "startIndex": 25,
              "endIndex": 26
            },
            {
              "startIndex": 27,
              "endIndex": 28
            },
            {
              "startIndex": 29,
              "endIndex": 30
            },
            {
              "startIndex": 31,
              "endIndex": 32
            },
            {
              "startIndex": 33,
              "endIndex": 34
            },
            {
              "startIndex": 35,
              "endIndex": 36
            },
            {
              "startIndex": 37,
              "endIndex": 38
            },
            {
              "startIndex": 39,
              "endIndex": 40
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!EventRouter:class",
          "docComment": "/**\n * Manages event emission and assigned listener callbacks.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class EventRouter "
            }
          ],
          "fileUrlPath": "src/events/EventRouter.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "EventRouter",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#emit:member(1)",
              "docComment": "/**\n * Emit an event, invoking all registered listeners for the event type.\n *\n * @param eventType - The type of event to emit.\n *\n * @param payload - The payload to emit.\n *\n * @returns `true` if any listeners were found and invoked, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emit<TEventType extends "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": ">(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "TEventType"
                },
                {
                  "kind": "Content",
                  "text": ", payload: "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "[TEventType]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "payload",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 8
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "emit"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#emitWithGlobal:member(1)",
              "docComment": "/**\n * Emits an event to the local and global server instance event routers.\n *\n * @param eventType - The type of event to emit.\n *\n * @param payload - The payload to emit.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emitWithGlobal<TEventType extends "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": ">(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "TEventType"
                },
                {
                  "kind": "Content",
                  "text": ", payload: "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "[TEventType]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "payload",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 8
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "emitWithGlobal"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#emitWithWorld:member(1)",
              "docComment": "/**\n * Emits an event to local and provided world event routers.\n *\n * @param world - The world to broadcast the event to.\n *\n * @param eventType - The type of event to broadcast.\n *\n * @param payload - The payload to broadcast.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emitWithWorld<TEventType extends "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": ">(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ", eventType: "
                },
                {
                  "kind": "Content",
                  "text": "TEventType"
                },
                {
                  "kind": "Content",
                  "text": ", payload: "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "[TEventType]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 11,
                "endIndex": 12
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "payload",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 10
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "emitWithWorld"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#hasListeners:member(1)",
              "docComment": "/**\n * Check if there are listeners for a specific event type.\n *\n * @param eventType - The type of event to check for listeners.\n *\n * @returns `true` if listeners are found, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasListeners(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "hasListeners"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#listenerCount:member(1)",
              "docComment": "/**\n * Get the number of listeners for a specific event type.\n *\n * @param eventType - The type of event to get the listener count for.\n *\n * @returns The number of listeners for the event type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "listenerCount(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "listenerCount"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#listeners:member(1)",
              "docComment": "/**\n * Get all listeners for a specific event type.\n *\n * @param eventType - The type of event to get listeners for.\n *\n * @returns All listeners for the event type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "listeners(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "EventEmitter.EventListener",
                  "canonicalReference": "eventemitter3!EventEmitter.EventListener:type"
                },
                {
                  "kind": "Content",
                  "text": "<any, string>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "listeners"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#off:member(1)",
              "docComment": "/**\n * Remove a listener for a specific event type.\n *\n * @param eventType - The type of event to remove the listener from.\n *\n * @param listener - The listener function to remove.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "off<TEventType extends "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": ">(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "TEventType"
                },
                {
                  "kind": "Content",
                  "text": ", listener: "
                },
                {
                  "kind": "Content",
                  "text": "(payload: "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "[TEventType]) => void"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "listener",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 9
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "off"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#offAll:member(1)",
              "docComment": "/**\n * Remove all listeners or all listeners for a provided event type.\n *\n * @param eventType - The type of event to remove all listeners from.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "offAll(eventType?: "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "offAll"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#on:member(1)",
              "docComment": "/**\n * Register a listener for a specific event type.\n *\n * @remarks\n *\n * Listeners are invoked in the order they are registered.\n *\n * @param eventType - The type of event to listen for.\n *\n * @param listener - The listener function to invoke when the event is emitted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "on<TEventType extends "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": ">(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "TEventType"
                },
                {
                  "kind": "Content",
                  "text": ", listener: "
                },
                {
                  "kind": "Content",
                  "text": "(payload: "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "[TEventType]) => void"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "listener",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 9
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "on"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#once:member(1)",
              "docComment": "/**\n * Register a listener for a specific event type that will be invoked once.\n *\n * @param eventType - The type of event to listen for.\n *\n * @param listener - The listener function to invoke when the event is emitted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "once<TEventType extends "
                },
                {
                  "kind": "Content",
                  "text": "keyof "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": ">(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "TEventType"
                },
                {
                  "kind": "Content",
                  "text": ", listener: "
                },
                {
                  "kind": "Content",
                  "text": "(payload: "
                },
                {
                  "kind": "Reference",
                  "text": "EventPayloads",
                  "canonicalReference": "server!EventPayloads:interface"
                },
                {
                  "kind": "Content",
                  "text": "[TEventType]) => void"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 10,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "listener",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 9
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "once"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!FaceCallback:type",
          "docComment": "/**\n * A callback function called when the entity associated with the SimpleEntityController updates its rotation as it is attempting to face a target coordinate.\n *\n * @param currentRotation - The current rotation of the entity.\n *\n * @param targetRotation - The target rotation of the entity.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type FaceCallback = "
            },
            {
              "kind": "Content",
              "text": "(currentRotation: "
            },
            {
              "kind": "Reference",
              "text": "QuaternionLike",
              "canonicalReference": "server!QuaternionLike:interface"
            },
            {
              "kind": "Content",
              "text": ", targetRotation: "
            },
            {
              "kind": "Reference",
              "text": "QuaternionLike",
              "canonicalReference": "server!QuaternionLike:interface"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "FaceCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!FaceCompleteCallback:type",
          "docComment": "/**\n * A callback function called when the entity associated with the SimpleEntityController finishes rotating and is now facing a target coordinate.\n *\n * @param endRotation - The rotation of the entity after it has finished rotating.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type FaceCompleteCallback = "
            },
            {
              "kind": "Content",
              "text": "(endRotation: "
            },
            {
              "kind": "Reference",
              "text": "QuaternionLike",
              "canonicalReference": "server!QuaternionLike:interface"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "FaceCompleteCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!FaceOptions:type",
          "docComment": "/**\n * Options for the {@link SimpleEntityController.face} method.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type FaceOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    faceCallback?: "
            },
            {
              "kind": "Reference",
              "text": "FaceCallback",
              "canonicalReference": "server!FaceCallback:type"
            },
            {
              "kind": "Content",
              "text": ";\n    faceCompleteCallback?: "
            },
            {
              "kind": "Reference",
              "text": "FaceCompleteCallback",
              "canonicalReference": "server!FaceCompleteCallback:type"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "FaceOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!FixedRigidBodyOptions:interface",
          "docComment": "/**\n * The options for a fixed rigid body.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface FixedRigidBodyOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRigidBodyOptions",
              "canonicalReference": "server!BaseRigidBodyOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "name": "FixedRigidBodyOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!FixedRigidBodyOptions#type:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyType.FIXED",
                  "canonicalReference": "server!RigidBodyType.FIXED:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!GameServer:class",
          "docComment": "/**\n * Manages the game and associated worlds and systems.\n *\n * @remarks\n *\n * This class is used as a singleton and should be accessed via the `instance` property\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `GameServer` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class GameServer "
            }
          ],
          "fileUrlPath": "src/GameServer.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "GameServer",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!GameServer.instance:member",
              "docComment": "/**\n * The singleton instance of the game server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static get instance(): "
                },
                {
                  "kind": "Reference",
                  "text": "GameServer",
                  "canonicalReference": "server!GameServer:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "instance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": true,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!GameServer#modelRegistry:member",
              "docComment": "/**\n * The model manager for the game server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelRegistry(): "
                },
                {
                  "kind": "Reference",
                  "text": "ModelRegistry",
                  "canonicalReference": "server!ModelRegistry:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelRegistry",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!GameServer#playerManager:member",
              "docComment": "/**\n * The player manager for the game server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get playerManager(): "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerManager",
                  "canonicalReference": "server!PlayerManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "playerManager",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!GameServer#webServer:member",
              "docComment": "/**\n * The web server for the game server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get webServer(): "
                },
                {
                  "kind": "Reference",
                  "text": "WebServer",
                  "canonicalReference": "server!WebServer:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "webServer",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!GameServer#worlds:member",
              "docComment": "/**\n * The worlds managed by the game server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get worlds(): "
                },
                {
                  "kind": "Content",
                  "text": "{\n        [id: string]: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "worlds",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!GameServerEvent:enum",
          "docComment": "/**\n * Event types a GameServer instance can emit to the global event router. See {@link GameServerEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum GameServerEvent "
            }
          ],
          "fileUrlPath": "src/GameServer.ts",
          "releaseTag": "Public",
          "name": "GameServerEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!GameServerEvent.START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "START = "
                },
                {
                  "kind": "Content",
                  "text": "\"GAMESERVER.START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "START"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!GameServerEvent.STOP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "STOP = "
                },
                {
                  "kind": "Content",
                  "text": "\"GAMESERVER.STOP\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "STOP"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!GameServerEventPayloads:interface",
          "docComment": "/**\n * Event payloads for GameServer emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface GameServerEventPayloads "
            }
          ],
          "fileUrlPath": "src/GameServer.ts",
          "releaseTag": "Public",
          "name": "GameServerEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!GameServerEventPayloads#\"GAMESERVER.START\":member",
              "docComment": "/**\n * Emitted when the game server starts.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "GameServerEvent.START",
                  "canonicalReference": "server!GameServerEvent.START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        startedAtMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"GAMESERVER.START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!GameServerEventPayloads#\"GAMESERVER.STOP\":member",
              "docComment": "/**\n * Emitted when the game server stops.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "GameServerEvent.STOP",
                  "canonicalReference": "server!GameServerEvent.STOP:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        stoppedAtMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"GAMESERVER.STOP\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!KinematicPositionRigidBodyOptions:interface",
          "docComment": "/**\n * The options for a kinematic position rigid body.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface KinematicPositionRigidBodyOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRigidBodyOptions",
              "canonicalReference": "server!BaseRigidBodyOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "name": "KinematicPositionRigidBodyOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!KinematicPositionRigidBodyOptions#type:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyType.KINEMATIC_POSITION",
                  "canonicalReference": "server!RigidBodyType.KINEMATIC_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!KinematicVelocityRigidBodyOptions:interface",
          "docComment": "/**\n * The options for a kinematic velocity rigid body.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface KinematicVelocityRigidBodyOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseRigidBodyOptions",
              "canonicalReference": "server!BaseRigidBodyOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "name": "KinematicVelocityRigidBodyOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!KinematicVelocityRigidBodyOptions#angularVelocity:member",
              "docComment": "/**\n * The angular velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "angularVelocity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "angularVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!KinematicVelocityRigidBodyOptions#linearVelocity:member",
              "docComment": "/**\n * The linear velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "linearVelocity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "linearVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!KinematicVelocityRigidBodyOptions#type:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyType.KINEMATIC_VELOCITY",
                  "canonicalReference": "server!RigidBodyType.KINEMATIC_VELOCITY:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Light:class",
          "docComment": "/**\n * Represents a light in a world. Lights can be point lights or spotlights.\n *\n * @remarks\n *\n * Lights are created directly as instances. They support a variety of configuration options through the {@link LightOptions} constructor argument.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link LightEventPayloads}\n *\n * @example\n * ```typescript\n * const light = new Light({\n *   attachedToEntity: playerEntity,\n *   color: { r: 255, g: 0, b: 0 },\n *   intensity: 5,\n *   offset: { x: 0, y: 1, z: 0 },\n * });\n *\n * light.spawn(world);\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Light extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/lights/Light.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Light",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Light:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Light` class\n *\n * @param options - The options for the Light instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "LightOptions",
                  "canonicalReference": "server!LightOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#angle:member",
              "docComment": "/**\n * If type is spotlight, the angle of the spotlight.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get angle(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "angle",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#attachedToEntity:member",
              "docComment": "/**\n * The entity to which the Light is attached if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get attachedToEntity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "attachedToEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#color:member",
              "docComment": "/**\n * The color of the light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get color(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "color",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#despawn:member(1)",
              "docComment": "/**\n * Despawns the Light from the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "despawn(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "despawn"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#distance:member",
              "docComment": "/**\n * The maximum distance the light will illuminate. 0 does not limit distance. Defaults to 0.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get distance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "distance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#id:member",
              "docComment": "/**\n * The unique identifier for the Light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get id(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#intensity:member",
              "docComment": "/**\n * The intensity of the light in candela (cd). Defaults to 1\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get intensity(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "intensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#isSpawned:member",
              "docComment": "/**\n * Whether the Light is spawned into the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSpawned(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSpawned",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#offset:member",
              "docComment": "/**\n * The offset of the light from the attached entity or position.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get offset(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "offset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#penumbra:member",
              "docComment": "/**\n * If type is spotlight, the penumbra of the spotlight.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get penumbra(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "penumbra",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#position:member",
              "docComment": "/**\n * The position of the light in the world if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get position(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "position",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setAngle:member(1)",
              "docComment": "/**\n * Sets the angle of the spotlight if the light type is spotlight.\n *\n * @param angle - The angle of the spotlight.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAngle(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAngle"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setAttachedToEntity:member(1)",
              "docComment": "/**\n * Sets the entity to which the Light is attached.\n *\n * @param entity - The entity to attach the Light to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAttachedToEntity(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAttachedToEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setColor:member(1)",
              "docComment": "/**\n * Sets the color of the light.\n *\n * @param color - The color of the light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColor(color: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "color",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setDistance:member(1)",
              "docComment": "/**\n * Sets the maximum distance the light will illuminate.\n *\n * @param distance - The maximum distance the light will illuminate.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setDistance(distance: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "distance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setDistance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setIntensity:member(1)",
              "docComment": "/**\n * Sets the intensity of the light.\n *\n * @param intensity - The intensity of the light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setIntensity(intensity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "intensity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setIntensity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setOffset:member(1)",
              "docComment": "/**\n * Sets the offset of the light from the attached entity or position.\n *\n * @param offset - The offset of the light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOffset(offset: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "offset",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOffset"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setPenumbra:member(1)",
              "docComment": "/**\n * Sets the penumbra of the spotlight if the light type is spotlight.\n *\n * @param penumbra - The penumbra of the spotlight.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPenumbra(penumbra: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "penumbra",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPenumbra"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setPosition:member(1)",
              "docComment": "/**\n * Sets the position of the light.\n *\n * @param position - The position of the light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setTrackedEntity:member(1)",
              "docComment": "/**\n * Sets the entity the spotlight will constantly point at if the light type is spotlight.\n *\n * @param entity - The entity the spotlight will constantly point at.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTrackedEntity(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setTrackedEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#setTrackedPosition:member(1)",
              "docComment": "/**\n * Sets the position the spotlight will constantly point at if the light type is spotlight.\n *\n * @param position - The position the spotlight will constantly point at.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTrackedPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setTrackedPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Light#spawn:member(1)",
              "docComment": "/**\n * Spawns the Light into the world.\n *\n * @param world - The world to spawn the Light into.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "spawn(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "spawn"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#trackedEntity:member",
              "docComment": "/**\n * If type is spotlight, the entity the spotlight will constantly point at.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get trackedEntity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "trackedEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#trackedPosition:member",
              "docComment": "/**\n * If type is spotlight, the position the spotlight will constantly point at.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get trackedPosition(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "trackedPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#type:member",
              "docComment": "/**\n * The type of light. Defaults to point light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get type(): "
                },
                {
                  "kind": "Reference",
                  "text": "LightType",
                  "canonicalReference": "server!LightType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Light#world:member",
              "docComment": "/**\n * The world the Light is spawned into.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!LightEvent:enum",
          "docComment": "/**\n * Event types a Light instance can emit. See {@link LightEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum LightEvent "
            }
          ],
          "fileUrlPath": "src/world/lights/Light.ts",
          "releaseTag": "Public",
          "name": "LightEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.DESPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DESPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.DESPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DESPAWN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_ANGLE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ANGLE = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_ANGLE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ANGLE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_ATTACHED_TO_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ATTACHED_TO_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_ATTACHED_TO_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ATTACHED_TO_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_COLOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_COLOR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_DISTANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_DISTANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_DISTANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_DISTANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_INTENSITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_INTENSITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_INTENSITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_INTENSITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_OFFSET:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OFFSET = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_OFFSET\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OFFSET"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_PENUMBRA:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_PENUMBRA = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_PENUMBRA\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_PENUMBRA"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_TRACKED_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TRACKED_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_TRACKED_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TRACKED_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SET_TRACKED_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TRACKED_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SET_TRACKED_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TRACKED_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightEvent.SPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"LIGHT.SPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SPAWN"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!LightEventPayloads:interface",
          "docComment": "/**\n * Event payloads for Light emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface LightEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/lights/Light.ts",
          "releaseTag": "Public",
          "name": "LightEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.DESPAWN\":member",
              "docComment": "/**\n * Emitted when a light is despawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.DESPAWN",
                  "canonicalReference": "server!LightEvent.DESPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.DESPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_ANGLE\":member",
              "docComment": "/**\n * Emitted when the angle of the spotlight is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_ANGLE",
                  "canonicalReference": "server!LightEvent.SET_ANGLE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        angle: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_ANGLE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_ATTACHED_TO_ENTITY\":member",
              "docComment": "/**\n * Emitted when the light is attached to an entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_ATTACHED_TO_ENTITY",
                  "canonicalReference": "server!LightEvent.SET_ATTACHED_TO_ENTITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_ATTACHED_TO_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_COLOR\":member",
              "docComment": "/**\n * Emitted when the color of the light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_COLOR",
                  "canonicalReference": "server!LightEvent.SET_COLOR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        color: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_COLOR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_DISTANCE\":member",
              "docComment": "/**\n * Emitted when the maximum distance the light will illuminate is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_DISTANCE",
                  "canonicalReference": "server!LightEvent.SET_DISTANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        distance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_DISTANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_INTENSITY\":member",
              "docComment": "/**\n * Emitted when the intensity of the light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_INTENSITY",
                  "canonicalReference": "server!LightEvent.SET_INTENSITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        intensity: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_INTENSITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_OFFSET\":member",
              "docComment": "/**\n * Emitted when the offset of the light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_OFFSET",
                  "canonicalReference": "server!LightEvent.SET_OFFSET:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        offset: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_OFFSET\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_PENUMBRA\":member",
              "docComment": "/**\n * Emitted when the penumbra of the spotlight is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_PENUMBRA",
                  "canonicalReference": "server!LightEvent.SET_PENUMBRA:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        penumbra: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_PENUMBRA\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_POSITION\":member",
              "docComment": "/**\n * Emitted when the position of the light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_POSITION",
                  "canonicalReference": "server!LightEvent.SET_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_TRACKED_ENTITY\":member",
              "docComment": "/**\n * Emitted when the tracked entity of the spotlight is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_TRACKED_ENTITY",
                  "canonicalReference": "server!LightEvent.SET_TRACKED_ENTITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_TRACKED_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SET_TRACKED_POSITION\":member",
              "docComment": "/**\n * Emitted when the tracked position of the spotlight is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SET_TRACKED_POSITION",
                  "canonicalReference": "server!LightEvent.SET_TRACKED_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SET_TRACKED_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightEventPayloads#\"LIGHT.SPAWN\":member",
              "docComment": "/**\n * Emitted when a light is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "LightEvent.SPAWN",
                  "canonicalReference": "server!LightEvent.SPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        light: "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"LIGHT.SPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!LightManager:class",
          "docComment": "/**\n * Manages Light instances in a world.\n *\n * @remarks\n *\n * The LightManager is created internally as a singleton for each {@link World} instance in a game server. It allows retrieval of all loaded Light instances, entity attached Light instances, and more.\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `LightManager` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class LightManager "
            }
          ],
          "fileUrlPath": "src/world/lights/LightManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "LightManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!LightManager#getAllEntityAttachedLights:member(1)",
              "docComment": "/**\n * Retrieves all spawned Light instances attached to a specific entity.\n *\n * @param entity - The entity to get attached Light instances for.\n *\n * @returns An array of Light instances.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllEntityAttachedLights(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllEntityAttachedLights"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!LightManager#getAllLights:member(1)",
              "docComment": "/**\n * Retrieves all spawned Light instances for the world.\n *\n * @returns An array of Light instances.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllLights(): "
                },
                {
                  "kind": "Reference",
                  "text": "Light",
                  "canonicalReference": "server!Light:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllLights"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!LightManager#world:member",
              "docComment": "/**\n * The world the LightManager is for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!LightOptions:interface",
          "docComment": "/**\n * Options for creating a Light instance.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface LightOptions "
            }
          ],
          "fileUrlPath": "src/world/lights/Light.ts",
          "releaseTag": "Public",
          "name": "LightOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#angle:member",
              "docComment": "/**\n * If type is spotlight, the angle of the spotlight.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "angle?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "angle",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#attachedToEntity:member",
              "docComment": "/**\n * If set, the light will be attached to this entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "attachedToEntity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "attachedToEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#color:member",
              "docComment": "/**\n * The color of the light. Defaults to white.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "color?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "color",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#distance:member",
              "docComment": "/**\n * The maximum distance the light will illuminate. 0 does not limit distance. Defaults to 0.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "distance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "distance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#intensity:member",
              "docComment": "/**\n * The intensity of the light in candela (cd). Defaults to 1\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "intensity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "intensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#offset:member",
              "docComment": "/**\n * The offset of the light from the attached entity or position.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "offset?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "offset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#penumbra:member",
              "docComment": "/**\n * If type is spotlight, the penumbra of the spotlight. Defaults to 0\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "penumbra?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "penumbra",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#position:member",
              "docComment": "/**\n * If set, the light will be attached at this position.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "position?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "position",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#trackedEntity:member",
              "docComment": "/**\n * If type is spotlight, the entity the spotlight will constantly point at.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "trackedEntity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "trackedEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#trackedPosition:member",
              "docComment": "/**\n * If type is spotlight, the position the spotlight will constantly point at.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "trackedPosition?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "trackedPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!LightOptions#type:member",
              "docComment": "/**\n * The type of light. Defaults to point light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type?: "
                },
                {
                  "kind": "Reference",
                  "text": "LightType",
                  "canonicalReference": "server!LightType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!LightType:enum",
          "docComment": "/**\n * The types a Light can be.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum LightType "
            }
          ],
          "fileUrlPath": "src/world/lights/Light.ts",
          "releaseTag": "Public",
          "name": "LightType",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightType.POINTLIGHT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "POINTLIGHT = "
                },
                {
                  "kind": "Content",
                  "text": "0"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "POINTLIGHT"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!LightType.SPOTLIGHT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SPOTLIGHT = "
                },
                {
                  "kind": "Content",
                  "text": "1"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SPOTLIGHT"
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Matrix2:class",
          "docComment": "/**\n * Represents a 2x2 matrix.\n *\n * @remarks\n *\n * All matrix methods result in mutation of the matrix instance. This class extends `Float32Array` to provide an efficient way to create and manipulate a 2x2 matrix. Various convenience methods are provided for common matrix operations.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Matrix2 extends "
            },
            {
              "kind": "Reference",
              "text": "Float32Array",
              "canonicalReference": "!Float32Array:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/shared/classes/Matrix2.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Matrix2",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Matrix2:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Matrix2` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(m00: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m01: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m10: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m11: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "m00",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m01",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m10",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m11",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#add:member(1)",
              "docComment": "/**\n * Adds a matrix to the current matrix.\n *\n * @param matrix2 - The matrix to add to the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "add(matrix2: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "add"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#adjoint:member(1)",
              "docComment": "/**\n * Sets the adjugate of the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "adjoint(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "adjoint"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#clone:member(1)",
              "docComment": "/**\n * Clones the current matrix.\n *\n * @returns A clone of the current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clone(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "clone"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#copy:member(1)",
              "docComment": "/**\n * Copies a matrix to the current matrix.\n *\n * @param matrix2 - The matrix2 to copy to the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "copy(matrix2: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "copy"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2.create:member(1)",
              "docComment": "/**\n * Creates a new `Matrix2` instance.\n *\n * @returns A new `Matrix2` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static create(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "create"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Matrix2#determinant:member",
              "docComment": "/**\n * The determinant of the matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get determinant(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "determinant",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#equals:member(1)",
              "docComment": "/**\n * Checks if the current matrix is approximately equal to another matrix.\n *\n * @param matrix2 - The matrix to compare to the current matrix.\n *\n * @returns `true` if the current matrix is equal to the provided matrix, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "equals(matrix2: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "equals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#exactEquals:member(1)",
              "docComment": "/**\n * Checks if the current matrix is exactly equal to another matrix.\n *\n * @param matrix2 - The matrix to compare to the current matrix.\n *\n * @returns `true` if the current matrix is equal to the provided matrix, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "exactEquals(matrix2: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "exactEquals"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Matrix2#frobeniusNorm:member",
              "docComment": "/**\n * The frobenius normal of the matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get frobeniusNorm(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "frobeniusNorm",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2.fromRotation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix2` instance from a rotation of identity matrix.\n *\n * @param angle - The angle in radians to rotate the matrix by.\n *\n * @returns A new `Matrix2` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromRotation(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2.fromScaling:member(1)",
              "docComment": "/**\n * Creates a new `Matrix2` instance from a scale of identity matrix.\n *\n * @param scale - The scale of the matrix.\n *\n * @returns A new `Matrix2` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromScaling(scale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromScaling"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#identity:member(1)",
              "docComment": "/**\n * Sets the current matrix to the identity matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "identity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "identity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#invert:member(1)",
              "docComment": "/**\n * Inverts the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invert(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "invert"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#multiply:member(1)",
              "docComment": "/**\n * Multiplies the current matrix by another matrix.\n *\n * @param matrix2 - The matrix to multiply the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiply(matrix2: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiply"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#multiplyScalar:member(1)",
              "docComment": "/**\n * Multiplies each element of the current matrix by a scalar value.\n *\n * @param scalar - The scalar value to multiply the current matrix elements by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiplyScalar(scalar: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scalar",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiplyScalar"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#rotate:member(1)",
              "docComment": "/**\n * Rotates the current matrix by an angle in radians.\n *\n * @param angle - The angle in radians to rotate the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotate(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#subtract:member(1)",
              "docComment": "/**\n * Subtracts a matrix from the current matrix.\n *\n * @param matrix2 - The matrix to subtract from the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "subtract(matrix2: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "subtract"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#toString:member(1)",
              "docComment": "/**\n * Returns a string representation of the current matrix.\n *\n * @returns A string representation of the current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix2#transpose:member(1)",
              "docComment": "/**\n * Transposes the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transpose(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "transpose"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Matrix3:class",
          "docComment": "/**\n * Represents a 3x3 matrix.\n *\n * @remarks\n *\n * All matrix methods result in mutation of the matrix instance. This class extends `Float32Array` to provide an efficient way to create and manipulate a 3x3 matrix. Various convenience methods are provided for common matrix operations.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Matrix3 extends "
            },
            {
              "kind": "Reference",
              "text": "Float32Array",
              "canonicalReference": "!Float32Array:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/shared/classes/Matrix3.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Matrix3",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Matrix3:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Matrix3` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(m00: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m01: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m02: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m10: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m11: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m12: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m20: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m21: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m22: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "m00",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m01",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m02",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m10",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m11",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m12",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m20",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m21",
                  "parameterTypeTokenRange": {
                    "startIndex": 15,
                    "endIndex": 16
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m22",
                  "parameterTypeTokenRange": {
                    "startIndex": 17,
                    "endIndex": 18
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#add:member(1)",
              "docComment": "/**\n * Adds a matrix to the current matrix.\n *\n * @param matrix3 - The matrix to add to the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "add(matrix3: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "add"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#adjoint:member(1)",
              "docComment": "/**\n * Sets the adjugate of the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "adjoint(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "adjoint"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#clone:member(1)",
              "docComment": "/**\n * Clones the current matrix.\n *\n * @returns A clone of the current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clone(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "clone"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#copy:member(1)",
              "docComment": "/**\n * Copies a matrix to the current matrix.\n *\n * @param matrix3 - The matrix to copy to the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "copy(matrix3: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "copy"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3.create:member(1)",
              "docComment": "/**\n * Creates a new `Matrix3` instance.\n *\n * @returns A new `Matrix3` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static create(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "create"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Matrix3#determinant:member",
              "docComment": "/**\n * The determinant of the matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get determinant(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "determinant",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#equals:member(1)",
              "docComment": "/**\n * Checks if the current matrix is approximately equal to another matrix.\n *\n * @param matrix3 - The matrix to compare to the current matrix.\n *\n * @returns `true` if the current matrix is equal to the provided matrix, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "equals(matrix3: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "equals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#exactEquals:member(1)",
              "docComment": "/**\n * Checks if the current matrix is exactly equal to another matrix.\n *\n * @param matrix3 - The matrix to compare to the current matrix.\n *\n * @returns `true` if the current matrix is equal to the provided matrix, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "exactEquals(matrix3: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "exactEquals"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Matrix3#frobeniusNorm:member",
              "docComment": "/**\n * The frobenius norm of the matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get frobeniusNorm(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "frobeniusNorm",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3.fromMatrix4:member(1)",
              "docComment": "/**\n * Creates a new `Matrix3` instance from a `Matrix4` instance.\n *\n * @param matrix4 - The `Matrix4` instance to create the `Matrix3` instance from.\n *\n * @returns A new `Matrix3` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromMatrix4(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromMatrix4"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3.fromQuaternion:member(1)",
              "docComment": "/**\n * Creates a new `Matrix3` instance from a `Quaternion` instance.\n *\n * @param quaternion - The `Quaternion` instance to create the `Matrix3` instance from.\n *\n * @returns A new `Matrix3` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromQuaternion(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromQuaternion"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3.fromRotation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix3` instance from a rotation of identity matrix.\n *\n * @param angle - The angle in radians to rotate the matrix by.\n *\n * @returns A new `Matrix3` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromRotation(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3.fromScaling:member(1)",
              "docComment": "/**\n * Creates a new `Matrix3` instance from a scale of identity matrix.\n *\n * @param scale - The scale of the matrix.\n *\n * @returns A new `Matrix3` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromScaling(scale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromScaling"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3.fromTranslation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix3` instance from a translation of identity matrix. This is used only when working with two-dimensional homogeneous coordinates, which is why the `translation` parameter is a `Vector2`.\n *\n * @param translation - The translation of the matrix.\n *\n * @returns A new `Matrix3` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromTranslation(translation: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "translation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromTranslation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#identity:member(1)",
              "docComment": "/**\n * Sets the current matrix to the identity matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "identity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "identity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#invert:member(1)",
              "docComment": "/**\n * Inverts the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invert(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "invert"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#multiply:member(1)",
              "docComment": "/**\n * Multiplies the current matrix by another matrix.\n *\n * @param matrix3 - The matrix to multiply the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiply(matrix3: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiply"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#multiplyScalar:member(1)",
              "docComment": "/**\n * Multiplies each element of the current matrix by a scalar value.\n *\n * @param scalar - The scalar value to multiply the current matrix elements by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiplyScalar(scalar: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scalar",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiplyScalar"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#projection:member(1)",
              "docComment": "/**\n * Sets the current matrix to a orthographic projection matrix with the given bounds.\n *\n * @param width - The width of the projection.\n *\n * @param height - The height of the projection.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "projection(width: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", height: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "width",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "height",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "projection"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#rotate:member(1)",
              "docComment": "/**\n * Rotates the current matrix by an angle in radians.\n *\n * @param angle - The angle in radians to rotate the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotate(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#subtract:member(1)",
              "docComment": "/**\n * Subtracts a matrix from the current matrix.\n *\n * @param matrix3 - The matrix to subtract from the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "subtract(matrix3: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "subtract"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#toString:member(1)",
              "docComment": "/**\n * Returns a string representation of the current matrix.\n *\n * @returns A string representation of the current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#transformVector:member(1)",
              "docComment": "/**\n * Multiplies the provided vector3 by this matrix. This modifies the vector in-place, but also returns the transformed vector.\n *\n * @param vector - The vector to multiply by this.\n *\n * @returns The transformed vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transformVector(vector: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "transformVector"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix3#transpose:member(1)",
              "docComment": "/**\n * Transposes the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transpose(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "transpose"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Matrix4:class",
          "docComment": "/**\n * Represents a 4x4 matrix.\n *\n * @remarks\n *\n * All matrix methods result in mutation of the matrix instance. This class extends `Float32Array` to provide an efficient way to create and manipulate a 4x4 matrix. Various convenience methods are provided for common matrix operations.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Matrix4 extends "
            },
            {
              "kind": "Reference",
              "text": "Float32Array",
              "canonicalReference": "!Float32Array:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/shared/classes/Matrix4.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Matrix4",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Matrix4:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Matrix4` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(m00: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m01: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m02: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m03: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m10: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m11: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m12: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m13: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m20: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m21: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m22: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m23: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m30: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m31: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m32: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", m33: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "m00",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m01",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m02",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m03",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m10",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m11",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m12",
                  "parameterTypeTokenRange": {
                    "startIndex": 13,
                    "endIndex": 14
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m13",
                  "parameterTypeTokenRange": {
                    "startIndex": 15,
                    "endIndex": 16
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m20",
                  "parameterTypeTokenRange": {
                    "startIndex": 17,
                    "endIndex": 18
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m21",
                  "parameterTypeTokenRange": {
                    "startIndex": 19,
                    "endIndex": 20
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m22",
                  "parameterTypeTokenRange": {
                    "startIndex": 21,
                    "endIndex": 22
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m23",
                  "parameterTypeTokenRange": {
                    "startIndex": 23,
                    "endIndex": 24
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m30",
                  "parameterTypeTokenRange": {
                    "startIndex": 25,
                    "endIndex": 26
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m31",
                  "parameterTypeTokenRange": {
                    "startIndex": 27,
                    "endIndex": 28
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m32",
                  "parameterTypeTokenRange": {
                    "startIndex": 29,
                    "endIndex": 30
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "m33",
                  "parameterTypeTokenRange": {
                    "startIndex": 31,
                    "endIndex": 32
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#add:member(1)",
              "docComment": "/**\n * Adds a matrix to the current matrix.\n *\n * @param matrix4 - The matrix to add to the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "add(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "add"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#adjoint:member(1)",
              "docComment": "/**\n * Sets the adjugate of the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "adjoint(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "adjoint"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#clone:member(1)",
              "docComment": "/**\n * Clones the current matrix.\n *\n * @returns A clone of the current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clone(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "clone"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#copy:member(1)",
              "docComment": "/**\n * Copies a matrix to the current matrix.\n *\n * @param matrix4 - The matrix to copy to the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "copy(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "copy"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.create:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static create(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "create"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Matrix4#determinant:member",
              "docComment": "/**\n * The determinant of the matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get determinant(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "determinant",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#equals:member(1)",
              "docComment": "/**\n * Checks if the current matrix is approximately equal to another matrix.\n *\n * @param matrix4 - The matrix to compare to the current matrix.\n *\n * @returns `true` if the current matrix is equal to the provided matrix, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "equals(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "equals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#exactEquals:member(1)",
              "docComment": "/**\n * Checks if the current matrix is exactly equal to another matrix.\n *\n * @param matrix4 - The matrix to compare to the current matrix.\n *\n * @returns `true` if the current matrix is equal to the provided matrix, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "exactEquals(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "exactEquals"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Matrix4#frobeniusNorm:member",
              "docComment": "/**\n * The frobenius norm of the matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get frobeniusNorm(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "frobeniusNorm",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromQuaternion:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from a `Quaternion` object.\n *\n * @param quaternion - The `Quaternion` object to create the `Matrix4` instance from.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromQuaternion(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromQuaternion"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromRotation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from an angle and axis.\n *\n * @param angle - The angle in radians to rotate the matrix by.\n *\n * @param axis - The axis to rotate the matrix around.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromRotation(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", axis: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "axis",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromRotationTranslation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from a rotation and translation.\n *\n * @param rotation - The rotation of the matrix.\n *\n * @param translation - The translation of the matrix.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromRotationTranslation(rotation: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ", translation: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "rotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "translation",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromRotationTranslation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromRotationTranslationScale:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from a rotation, translation, and scale.\n *\n * @param rotation - The rotation of the matrix.\n *\n * @param translation - The translation of the matrix.\n *\n * @param scale - The scale of the matrix.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromRotationTranslationScale(rotation: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ", translation: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", scale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "rotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "translation",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromRotationTranslationScale"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromRotationTranslationScaleOrigin:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from a rotation, translation, scale, and origin.\n *\n * @param rotation - The rotation of the matrix.\n *\n * @param translation - The translation of the matrix.\n *\n * @param scale - The scale of the matrix.\n *\n * @param origin - The origin of the matrix.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromRotationTranslationScaleOrigin(rotation: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ", translation: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", scale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", origin: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "rotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "translation",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "origin",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromRotationTranslationScaleOrigin"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromScaling:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from a scale of identity matrix.\n *\n * @param scale - The scale of the matrix.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromScaling(scale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromScaling"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromTranslation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from a translation of identity matrix.\n *\n * @param translation - The translation of the matrix.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromTranslation(translation: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "translation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromTranslation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromXRotation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from an x-rotation of identity matrix.\n *\n * @param angle - The angle in radians to rotate the matrix by.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromXRotation(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromXRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromYRotation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from a y-rotation of identity matrix.\n *\n * @param angle - The angle in radians to rotate the matrix by.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromYRotation(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromYRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4.fromZRotation:member(1)",
              "docComment": "/**\n * Creates a new `Matrix4` instance from a z-rotation of identity matrix.\n *\n * @param angle - The angle in radians to rotate the matrix by.\n *\n * @returns A new `Matrix4` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromZRotation(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromZRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#frustrum:member(1)",
              "docComment": "/**\n * Sets the current matrix to a frustrum matrix with the given bounds.\n *\n * @param left - The left bound of the projection.\n *\n * @param right - The right bound of the projection.\n *\n * @param bottom - The bottom bound of the projection.\n *\n * @param top - The top bound of the projection.\n *\n * @param near - The near bound of the projection.\n *\n * @param far - The far bound of the projection.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "frustrum(left: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", right: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", bottom: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", top: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", near: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", far: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 13,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "left",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "right",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "bottom",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "top",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "near",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "far",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "frustrum"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#identity:member(1)",
              "docComment": "/**\n * Sets the current matrix to the identity matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "identity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "identity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#invert:member(1)",
              "docComment": "/**\n * Inverts the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invert(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "invert"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#lookAt:member(1)",
              "docComment": "/**\n * Sets the current matrix to a look-at matrix with the given eye, center, and up vectors.\n *\n * @param eye - The eye vector of the camera.\n *\n * @param center - The center vector of the camera.\n *\n * @param up - The up vector of the camera.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lookAt(eye: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", center: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", up: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eye",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "center",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "up",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "lookAt"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#multiply:member(1)",
              "docComment": "/**\n * Multiplies the current matrix by another matrix.\n *\n * @param matrix4 - The matrix to multiply the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiply(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiply"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#multiplyScalar:member(1)",
              "docComment": "/**\n * Multiplies each element of the current matrix by a scalar value.\n *\n * @param scalar - The scalar value to multiply the current matrix elements by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiplyScalar(scalar: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scalar",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiplyScalar"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#orthographic:member(1)",
              "docComment": "/**\n * Sets the current matrix to an orthographic projection matrix with the given bounds.\n *\n * @param left - The left bound of the frustum.\n *\n * @param right - The right bound of the frustum.\n *\n * @param bottom - The bottom bound of the frustum.\n *\n * @param top - The top bound of the frustum.\n *\n * @param near - The near bound of the frustum.\n *\n * @param far - The far bound of the frustum.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "orthographic(left: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", right: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", bottom: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", top: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", near: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", far: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 13,
                "endIndex": 14
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "left",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "right",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "bottom",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "top",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "near",
                  "parameterTypeTokenRange": {
                    "startIndex": 9,
                    "endIndex": 10
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "far",
                  "parameterTypeTokenRange": {
                    "startIndex": 11,
                    "endIndex": 12
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "orthographic"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#perspective:member(1)",
              "docComment": "/**\n * Sets the current matrix to a perspective matrix with the given field of view, aspect ratio, and near and far bounds.\n *\n * @param fovy - The field of view of the projection.\n *\n * @param aspect - The aspect ratio of the projection.\n *\n * @param near - The near bound of the projection.\n *\n * @param far - The far bound of the projection.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "perspective(fovy: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", aspect: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", near: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", far: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "fovy",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "aspect",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "near",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "far",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "perspective"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#rotate:member(1)",
              "docComment": "/**\n * Rotates the current matrix by an angle in radians around an axis.\n *\n * @param angle - The angle in radians to rotate the current matrix by.\n *\n * @param axis - The axis to rotate the current matrix around.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotate(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", axis: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "axis",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#rotateX:member(1)",
              "docComment": "/**\n * Rotates the current matrix by an angle in radians around the x-axis.\n *\n * @param angle - The angle in radians to rotate the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateX(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateX"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#rotateY:member(1)",
              "docComment": "/**\n * Rotates the current matrix by an angle in radians around the y-axis.\n *\n * @param angle - The angle in radians to rotate the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateY(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateY"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#rotateZ:member(1)",
              "docComment": "/**\n * Rotates the current matrix by an angle in radians around the z-axis.\n *\n * @param angle - The angle in radians to rotate the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateZ(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateZ"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#scale:member(1)",
              "docComment": "/**\n * Scales the current matrix by a vector.\n *\n * @param vector3 - The vector to scale the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "scale(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "scale"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#subtract:member(1)",
              "docComment": "/**\n * Subtracts a matrix from the current matrix.\n *\n * @param matrix4 - The matrix to subtract from the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "subtract(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "subtract"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#targetTo:member(1)",
              "docComment": "/**\n * Sets the current matrix to a matrix that looks at a target.\n *\n * @param eye - The eye vector of the camera.\n *\n * @param center - The center vector of the camera.\n *\n * @param up - The up vector of the camera.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "targetTo(eye: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", center: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", up: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eye",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "center",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "up",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "targetTo"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#toString:member(1)",
              "docComment": "/**\n * Returns a string representation of the current matrix.\n *\n * @returns A string representation of the current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#translate:member(1)",
              "docComment": "/**\n * Translates the current matrix by a vector.\n *\n * @param vector3 - The vector to translate the current matrix by.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "translate(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "translate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Matrix4#transpose:member(1)",
              "docComment": "/**\n * Transposes the current matrix.\n *\n * @returns The current matrix.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transpose(): "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "transpose"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!ModelEntityOptions:interface",
          "docComment": "/**\n * The options for creating a model entity.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ModelEntityOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseEntityOptions",
              "canonicalReference": "server!BaseEntityOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/entities/Entity.ts",
          "releaseTag": "Public",
          "name": "ModelEntityOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelAnimationsPlaybackRate:member",
              "docComment": "/**\n * The playback rate of the entity's model animations.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelAnimationsPlaybackRate?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelAnimationsPlaybackRate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelHiddenNodes:member",
              "docComment": "/**\n * The nodes to hide on the entity's model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelHiddenNodes?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelHiddenNodes",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelLoopedAnimations:member",
              "docComment": "/**\n * The looped animations to start when the entity is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelLoopedAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelScale:member",
              "docComment": "/**\n * The scale of the entity's model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelScale?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelScale",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelUri:member",
              "docComment": "/**\n * The URI or path to the .gltf model asset to be used for the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelUri?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!ModelRegistry:class",
          "docComment": "/**\n * Manages model data for all known models of the game.\n *\n * @remarks\n *\n * The ModelRegistry is created internally as a global singletone accessible with the static property `ModelRegistry.instance`.\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `ModelRegistry` class.\n *\n * @example\n * ```typescript\n * import { ModelRegistry } from 'hytopia';\n *\n * const modelRegistry = ModelRegistry.instance;\n * const boundingBox = modelRegistry.getBoundingBox('models/player.gltf');\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class ModelRegistry "
            }
          ],
          "fileUrlPath": "src/models/ModelRegistry.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "ModelRegistry",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!ModelRegistry#getBoundingBox:member(1)",
              "docComment": "/**\n * Retrieves the bounding box of a model.\n *\n * @param modelUri - The URI of the model to retrieve the bounding box for.\n *\n * @returns The bounding box of the model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getBoundingBox(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ModelBoundingBox",
                  "canonicalReference": "server!~ModelBoundingBox:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getBoundingBox"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ModelRegistry#getHeight:member(1)",
              "docComment": "/**\n * Retrieves the Y-axis height of a model for a scale of 1.\n *\n * @param modelUri - The URI of the model to retrieve the height for.\n *\n * @returns The height of the model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getHeight(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getHeight"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ModelRegistry#getNodeNames:member(1)",
              "docComment": "/**\n * Retrieves the names of all nodes in a model.\n *\n * @param modelUri - The URI of the model to retrieve the node names for.\n *\n * @returns The names of all nodes in the model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getNodeNames(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getNodeNames"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ModelRegistry.instance:member",
              "docComment": "/**\n * The global ModelRegistry instance as a singleton.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static readonly instance: "
                },
                {
                  "kind": "Reference",
                  "text": "ModelRegistry",
                  "canonicalReference": "server!ModelRegistry:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "instance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": true,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ModelRegistry#modelHasNode:member(1)",
              "docComment": "/**\n * Checks if a model has a node with the given name.\n *\n * @param modelUri - The URI of the model to check.\n *\n * @param nodeName - The name of the node to check for.\n *\n * @returns Whether the model has a node with the given name.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelHasNode(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", nodeName: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "nodeName",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "modelHasNode"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ModelRegistry#optimize:member",
              "docComment": "/**\n * Whether to use optimized models when they are loaded.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "optimize: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "optimize",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ModelRegistry#optimizeEveryStart:member",
              "docComment": "/**\n * Whether to always run model optimization on server start.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "optimizeEveryStart: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "optimizeEveryStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!MoveCallback:type",
          "docComment": "/**\n * A callback function called when the entity associated with the SimpleEntityController updates its position as it is attempting to move to a target coordinate.\n *\n * @param currentPosition - The current position of the entity.\n *\n * @param targetPosition - The target position of the entity.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type MoveCallback = "
            },
            {
              "kind": "Content",
              "text": "(currentPosition: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ", targetPosition: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "MoveCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!MoveCompleteCallback:type",
          "docComment": "/**\n * A callback function called when the entity associated with the SimpleEntityController reaches the target coordinate. An entity must reach the x,y,z coordinate for the callback to be called.\n *\n * @param endPosition - The position of the entity after it has finished moving.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type MoveCompleteCallback = "
            },
            {
              "kind": "Content",
              "text": "(endPosition: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "MoveCompleteCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!MoveOptions:type",
          "docComment": "/**\n * Options for the {@link SimpleEntityController.move} method.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type MoveOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    moveCallback?: "
            },
            {
              "kind": "Reference",
              "text": "MoveCallback",
              "canonicalReference": "server!MoveCallback:type"
            },
            {
              "kind": "Content",
              "text": ";\n    moveCompleteCallback?: "
            },
            {
              "kind": "Reference",
              "text": "MoveCompleteCallback",
              "canonicalReference": "server!MoveCompleteCallback:type"
            },
            {
              "kind": "Content",
              "text": ";\n    moveIgnoreAxes?: {\n        x?: boolean;\n        y?: boolean;\n        z?: boolean;\n    };\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "MoveOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!NoneColliderOptions:interface",
          "docComment": "/**\n * The options for an error type \"none\" collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface NoneColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "NoneColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!NoneColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.NONE",
                  "canonicalReference": "server!ColliderShape.NONE:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PathfindAbortCallback:type",
          "docComment": "/**\n * A callback function called when the pathfinding algorithm aborts.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PathfindAbortCallback = "
            },
            {
              "kind": "Content",
              "text": "() => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "name": "PathfindAbortCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PathfindCompleteCallback:type",
          "docComment": "/**\n * A callback function called when the entity associated with the PathfindingEntityController finishes pathfinding and is now at the target coordinate.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PathfindCompleteCallback = "
            },
            {
              "kind": "Content",
              "text": "() => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "name": "PathfindCompleteCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PathfindingEntityController:class",
          "docComment": "/**\n * A pathfinding entity controller built on top of {@link SimpleEntityController}.\n *\n * @remarks\n *\n * This class implements pathfinding using the A* algorithm. Pathfinding when frequently called can cause performance issues, use it sparingly. The .pathfind() method should only need to be called once in nearly all cases when attempting to move an entity to a target coordinate.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class PathfindingEntityController extends "
            },
            {
              "kind": "Reference",
              "text": "SimpleEntityController",
              "canonicalReference": "server!SimpleEntityController:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PathfindingEntityController",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#debug:member",
              "docComment": "/**\n * Whether to enable debug mode or not. When debug mode is enabled, the pathfinding algorithm will log debug information to the console. Defaults to false.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get debug(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "debug",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#maxFall:member",
              "docComment": "/**\n * The maximum fall distance the entity can fall.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get maxFall(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "maxFall",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#maxJump:member",
              "docComment": "/**\n * The maximum jump distance the entity can jump.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get maxJump(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "maxJump",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#maxOpenSetIterations:member",
              "docComment": "/**\n * The maximum number of open set iterations that can be processed before aborting pathfinding. Defaults to 200.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get maxOpenSetIterations(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "maxOpenSetIterations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PathfindingEntityController#pathfind:member(1)",
              "docComment": "/**\n * Calculate a path and move to the target if a path is found. Returns true if a path is found, false if no path is found.\n *\n * @param target - The target coordinate to pathfind to.\n *\n * @param speed - The speed of the entity.\n *\n * @param options - The pathfinding options.\n *\n * @returns Whether the path was found.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "pathfind(target: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", speed: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "PathfindingOptions",
                  "canonicalReference": "server!PathfindingOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "target",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "speed",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "pathfind"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#speed:member",
              "docComment": "/**\n * The speed of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get speed(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "speed",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#target:member",
              "docComment": "/**\n * The target coordinate to pathfind to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get target(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "target",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#verticalPenalty:member",
              "docComment": "/**\n * The vertical penalty for the pathfinding algorithm. A higher value will prefer paths with less vertical movement.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get verticalPenalty(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "verticalPenalty",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#waypointNextIndex:member",
              "docComment": "/**\n * The index representing the next waypoint moving towards of the current set of waypoints being followed.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get waypointNextIndex(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "waypointNextIndex",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#waypoints:member",
              "docComment": "/**\n * The current waypoints being followed.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get waypoints(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "waypoints",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#waypointTimeoutMs:member",
              "docComment": "/**\n * The timeout in milliseconds for a waypoint to be considered reached. Defaults to 2000ms divided by the speed of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get waypointTimeoutMs(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "waypointTimeoutMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PathfindingOptions:type",
          "docComment": "/**\n * Options for the {@link PathfindingEntityController.pathfind} method.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PathfindingOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    debug?: boolean;\n    maxFall?: number;\n    maxJump?: number;\n    maxOpenSetIterations?: number;\n    pathfindAbortCallback?: "
            },
            {
              "kind": "Reference",
              "text": "PathfindAbortCallback",
              "canonicalReference": "server!PathfindAbortCallback:type"
            },
            {
              "kind": "Content",
              "text": ";\n    pathfindCompleteCallback?: "
            },
            {
              "kind": "Reference",
              "text": "PathfindCompleteCallback",
              "canonicalReference": "server!PathfindCompleteCallback:type"
            },
            {
              "kind": "Content",
              "text": ";\n    verticalPenalty?: number;\n    waypointMoveCompleteCallback?: "
            },
            {
              "kind": "Reference",
              "text": "WaypointMoveCompleteCallback",
              "canonicalReference": "server!WaypointMoveCompleteCallback:type"
            },
            {
              "kind": "Content",
              "text": ";\n    waypointMoveSkippedCallback?: "
            },
            {
              "kind": "Reference",
              "text": "WaypointMoveSkippedCallback",
              "canonicalReference": "server!WaypointMoveSkippedCallback:type"
            },
            {
              "kind": "Content",
              "text": ";\n    waypointTimeoutMs?: number;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "name": "PathfindingOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PersistenceManager:class",
          "docComment": "/**\n * Manages persistence of player and global data.\n *\n * @remarks\n *\n * This class is a singleton accessible with the static property `PersistenceManager.instance`. Convenience methods are also available on the `Player` and `GameServer` classes.\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `PersistenceManager` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class PersistenceManager "
            }
          ],
          "fileUrlPath": "src/persistence/PersistenceManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PersistenceManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!PersistenceManager#getGlobalData:member(1)",
              "docComment": "/**\n * Get global data from the data persistence service.\n *\n * @param key - The key to get the data from.\n *\n * @returns The data from the persistence layer.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getGlobalData(key: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown> | void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getGlobalData"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PersistenceManager#getPlayerData:member(1)",
              "docComment": "/**\n * Get player data from the data persistence service.\n *\n * @param player - The player to get the data from.\n *\n * @returns The data from the persistence layer.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getPlayerData(player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown> | void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "player",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getPlayerData"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PersistenceManager.instance:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static readonly instance: "
                },
                {
                  "kind": "Reference",
                  "text": "PersistenceManager",
                  "canonicalReference": "server!PersistenceManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "instance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": true,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PersistenceManager#setGlobalData:member(1)",
              "docComment": "/**\n * Set global data in the data persistence service. This data is available and shared by all lobbies of your game.\n *\n * @param key - The key to set the data to.\n *\n * @param data - The data to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setGlobalData(key: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", data: "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown>"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown> | void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "data",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 5
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setGlobalData"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PersistenceManager#setPlayerData:member(1)",
              "docComment": "/**\n * Set player data in the data persistence service. This data is persisted even after a player disconnects, and is retrievable no matter the lobby for your game that they join.\n *\n * @param player - The player to set the data to.\n *\n * @param data - The data to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPlayerData(player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ", data: "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown>"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown> | void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "player",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "data",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 5
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPlayerData"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Player:class",
          "docComment": "/**\n * A player in the game.\n *\n * @remarks\n *\n * Players are automatically created when they connect and authenticate with the game server. This is all handled internally.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link PlayerEventPayloads}\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Player` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Player extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/players/Player.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Player",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!Player#camera:member",
              "docComment": "/**\n * The camera for the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly camera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "camera",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#disconnect:member(1)",
              "docComment": "/**\n * Disconnects the player from the game server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "disconnect(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "disconnect"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#getPersistedData:member(1)",
              "docComment": "/**\n * Get the persisted data for the player.\n *\n * @remarks\n *\n * This method is asynchronous and returns a promise that resolves to the player data.\n *\n * @returns The persisted data for the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getPersistedData(): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown> | void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getPersistedData"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Player#id:member",
              "docComment": "/**\n * The unique HYTOPIA UUID for the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly id: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Player#input:member",
              "docComment": "/**\n * The current {@link PlayerInput} of the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get input(): "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerInput",
                  "canonicalReference": "server!PlayerInput:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "input",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#joinWorld:member(1)",
              "docComment": "/**\n * Joins a player to a world.\n *\n * @remarks\n *\n * If the player is already in a {@link World}, they will be removed from their current world before joining the new world.\n *\n * @param world - The world to join the player to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "joinWorld(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "joinWorld"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#leaveWorld:member(1)",
              "docComment": "/**\n * Removes the player from the current {@link World} they are in.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "leaveWorld(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "leaveWorld"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Player#profilePictureUrl:member",
              "docComment": "/**\n * The profile picture URL for the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly profilePictureUrl: "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "profilePictureUrl",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#setPersistedData:member(1)",
              "docComment": "/**\n * Set the persisted data for the player. This data can later be retrieved using {@link Player.getPersistedData}, even if a player disconnects and rejoin a game in the future, or joins a different HYTOPIA managed lobby of your game.\n *\n * @remarks\n *\n * This method is asynchronous and returns a promise that resolves to the player data.\n *\n * @param data - The data to set.\n *\n * @returns The persisted data for the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPersistedData(data: "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown>"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown> | void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "data",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPersistedData"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Player#ui:member",
              "docComment": "/**\n * The UI for the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly ui: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUI",
                  "canonicalReference": "server!PlayerUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "ui",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Player#username:member",
              "docComment": "/**\n * The unique HYTOPIA username for the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly username: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "username",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Player#world:member",
              "docComment": "/**\n * The current {@link World} the player is in.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PlayerCamera:class",
          "docComment": "/**\n * The camera for a Player.\n *\n * @remarks\n *\n * The camera is used to render the player's view of the world. The player's camera exposes functionality to control the camera of a player. All player objects have a camera, accessible via {@link Player.camera}.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link PlayerCameraEventPayloads}\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `PlayerCamera` class.\n *\n * @example\n * ```typescript\n * player.camera.setMode(PlayerCameraMode.FIRST_PERSON);\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class PlayerCamera extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/players/PlayerCamera.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PlayerCamera",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#attachedToEntity:member",
              "docComment": "/**\n * The entity the camera is attached to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get attachedToEntity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "attachedToEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#attachedToPosition:member",
              "docComment": "/**\n * The position the camera is attached to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get attachedToPosition(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "attachedToPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#facingDirection:member",
              "docComment": "/**\n * The facing direction vector of the camera based on its current orientation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get facingDirection(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "facingDirection",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#filmOffset:member",
              "docComment": "/**\n * The film offset of the camera. A positive value shifts the camera right, a negative value shifts it left.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get filmOffset(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "filmOffset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#forwardOffset:member",
              "docComment": "/**\n * Only used in first-person mode. The forward offset of the camera. A positive number shifts the camera forward, a negative number shifts it backward.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get forwardOffset(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "forwardOffset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#fov:member",
              "docComment": "/**\n * The field of view of the camera.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get fov(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "fov",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#lookAtEntity:member(1)",
              "docComment": "/**\n * Makes the camera look at an entity. If the camera was previously tracking an entity or position, it will stop tracking.\n *\n * @param entity - The entity to look at.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lookAtEntity(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "lookAtEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#lookAtPosition:member(1)",
              "docComment": "/**\n * Makes the camera look at a position. If the camera was previously tracking an entity or position, it will stop tracking.\n *\n * @param position - The position to look at.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lookAtPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "lookAtPosition"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#mode:member",
              "docComment": "/**\n * The mode of the camera.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get mode(): "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraMode",
                  "canonicalReference": "server!PlayerCameraMode:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "mode",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#modelHiddenNodes:member",
              "docComment": "/**\n * The nodes of the model the camera is attached to that will not be rendered for the player. Uses case insensitive substring matching.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelHiddenNodes(): "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelHiddenNodes",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#offset:member",
              "docComment": "/**\n * The relative offset of the camera from the entity or position it is attached to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get offset(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "offset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#orientation:member",
              "docComment": "/**\n * The current orientation of the camera.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get orientation(): "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraOrientation",
                  "canonicalReference": "server!PlayerCameraOrientation:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "orientation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#player:member",
              "docComment": "/**\n * The player that the camera belongs to.\n *\n * @readonly\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "player",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setAttachedToEntity:member(1)",
              "docComment": "/**\n * Sets the entity the camera is attached to.\n *\n * @param entity - The entity to attach the camera to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAttachedToEntity(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAttachedToEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setAttachedToPosition:member(1)",
              "docComment": "/**\n * Sets the position the camera is attached to.\n *\n * @param position - The position to attach the camera to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAttachedToPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAttachedToPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setFilmOffset:member(1)",
              "docComment": "/**\n * Sets the film offset of the camera. A positive value shifts the camera right, a negative value shifts it left.\n *\n * @param filmOffset - The film offset to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFilmOffset(filmOffset: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "filmOffset",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFilmOffset"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setForwardOffset:member(1)",
              "docComment": "/**\n * Only used in first-person mode. Sets the forward offset of the camera. A positive value shifts the camera forward, a negative value shifts it backward.\n *\n * @param forwardOffset - The forward offset to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setForwardOffset(forwardOffset: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "forwardOffset",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setForwardOffset"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setFov:member(1)",
              "docComment": "/**\n * Sets the field of view of the camera.\n *\n * @param fov - The field of view to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFov(fov: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "fov",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFov"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setMode:member(1)",
              "docComment": "/**\n * Sets the mode of the camera.\n *\n * @param mode - The mode to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setMode(mode: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraMode",
                  "canonicalReference": "server!PlayerCameraMode:enum"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "mode",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setMode"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setModelHiddenNodes:member(1)",
              "docComment": "/**\n * Sets the nodes of the model the camera is attached to that will not be rendered for the player. Uses case insensitive substring matching.\n *\n * @param modelHiddenNodes - Determines nodes to hide that match these case insensitive substrings.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setModelHiddenNodes(modelHiddenNodes: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelHiddenNodes",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setModelHiddenNodes"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setOffset:member(1)",
              "docComment": "/**\n * Sets the relative offset of the camera from the entity or position it is attached to.\n *\n * @param offset - The offset to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOffset(offset: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "offset",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOffset"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setTrackedEntity:member(1)",
              "docComment": "/**\n * Sets the entity the camera will constantly look at, even if the camera attached or tracked entity moves.\n *\n * @param entity - The entity to track or undefined to stop tracking.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTrackedEntity(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setTrackedEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setTrackedPosition:member(1)",
              "docComment": "/**\n * Sets the position the camera will constantly look at, even if the camera attached entity moves.\n *\n * @param position - The position to track or undefined to stop tracking.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTrackedPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setTrackedPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setZoom:member(1)",
              "docComment": "/**\n * Sets the zoom of the camera.\n *\n * @param zoom - The zoom to set, 0 to infinity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setZoom(zoom: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "zoom",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setZoom"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#trackedEntity:member",
              "docComment": "/**\n * The entity the camera will constantly look at, even if the camera attached or tracked entity moves.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get trackedEntity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "trackedEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#trackedPosition:member",
              "docComment": "/**\n * The position the camera will constantly look at, even if the camera attached entity moves.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get trackedPosition(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "trackedPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#zoom:member",
              "docComment": "/**\n * The zoom of the camera.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get zoom(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "zoom",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!PlayerCameraEvent:enum",
          "docComment": "/**\n * Event types a PlayerCamera can emit. See {@link PlayerCameraEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum PlayerCameraEvent "
            }
          ],
          "fileUrlPath": "src/players/PlayerCamera.ts",
          "releaseTag": "Public",
          "name": "PlayerCameraEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.LOOK_AT_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "LOOK_AT_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.LOOK_AT_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "LOOK_AT_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.LOOK_AT_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "LOOK_AT_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.LOOK_AT_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "LOOK_AT_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_ATTACHED_TO_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ATTACHED_TO_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_ATTACHED_TO_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ATTACHED_TO_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_ATTACHED_TO_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ATTACHED_TO_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_ATTACHED_TO_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ATTACHED_TO_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_FILM_OFFSET:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_FILM_OFFSET = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_FILM_OFFSET\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_FILM_OFFSET"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_FORWARD_OFFSET:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_FORWARD_OFFSET = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_FORWARD_OFFSET\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_FORWARD_OFFSET"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_FOV:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_FOV = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_FOV\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_FOV"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_MODE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_MODE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_MODE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_MODE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_MODEL_HIDDEN_NODES:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_MODEL_HIDDEN_NODES = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_MODEL_HIDDEN_NODES\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_MODEL_HIDDEN_NODES"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_OFFSET:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OFFSET = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_OFFSET\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OFFSET"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_TRACKED_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TRACKED_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_TRACKED_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TRACKED_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_TRACKED_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TRACKED_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_TRACKED_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TRACKED_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_ZOOM:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ZOOM = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_ZOOM\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ZOOM"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!PlayerCameraEventPayloads:interface",
          "docComment": "/**\n * Event payloads for PlayerCamera emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface PlayerCameraEventPayloads "
            }
          ],
          "fileUrlPath": "src/players/PlayerCamera.ts",
          "releaseTag": "Public",
          "name": "PlayerCameraEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.LOOK_AT_ENTITY\":member",
              "docComment": "/**\n * Emitted when the camera looks at an entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.LOOK_AT_ENTITY",
                  "canonicalReference": "server!PlayerCameraEvent.LOOK_AT_ENTITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.LOOK_AT_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.LOOK_AT_POSITION\":member",
              "docComment": "/**\n * Emitted when the camera looks at a position.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.LOOK_AT_POSITION",
                  "canonicalReference": "server!PlayerCameraEvent.LOOK_AT_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.LOOK_AT_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_ATTACHED_TO_ENTITY\":member",
              "docComment": "/**\n * Emitted when the camera is attached to an entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_ATTACHED_TO_ENTITY",
                  "canonicalReference": "server!PlayerCameraEvent.SET_ATTACHED_TO_ENTITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_ATTACHED_TO_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_ATTACHED_TO_POSITION\":member",
              "docComment": "/**\n * Emitted when the camera is attached to a position.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_ATTACHED_TO_POSITION",
                  "canonicalReference": "server!PlayerCameraEvent.SET_ATTACHED_TO_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_ATTACHED_TO_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_FILM_OFFSET\":member",
              "docComment": "/**\n * Emitted when the film offset of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_FILM_OFFSET",
                  "canonicalReference": "server!PlayerCameraEvent.SET_FILM_OFFSET:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        filmOffset: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_FILM_OFFSET\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_FORWARD_OFFSET\":member",
              "docComment": "/**\n * Emitted when the forward offset of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_FORWARD_OFFSET",
                  "canonicalReference": "server!PlayerCameraEvent.SET_FORWARD_OFFSET:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        forwardOffset: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_FORWARD_OFFSET\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_FOV\":member",
              "docComment": "/**\n * Emitted when the field of view of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_FOV",
                  "canonicalReference": "server!PlayerCameraEvent.SET_FOV:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        fov: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_FOV\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_MODE\":member",
              "docComment": "/**\n * Emitted when the mode of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_MODE",
                  "canonicalReference": "server!PlayerCameraEvent.SET_MODE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        mode: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraMode",
                  "canonicalReference": "server!PlayerCameraMode:enum"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_MODE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_MODEL_HIDDEN_NODES\":member",
              "docComment": "/**\n * Emitted when the nodes of the model the camera is attached to are set to be hidden.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_MODEL_HIDDEN_NODES",
                  "canonicalReference": "server!PlayerCameraEvent.SET_MODEL_HIDDEN_NODES:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        modelHiddenNodes: "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_MODEL_HIDDEN_NODES\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_OFFSET\":member",
              "docComment": "/**\n * Emitted when the offset of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_OFFSET",
                  "canonicalReference": "server!PlayerCameraEvent.SET_OFFSET:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        offset: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_OFFSET\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_TRACKED_ENTITY\":member",
              "docComment": "/**\n * Emitted when the tracked entity of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_TRACKED_ENTITY",
                  "canonicalReference": "server!PlayerCameraEvent.SET_TRACKED_ENTITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_TRACKED_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_TRACKED_POSITION\":member",
              "docComment": "/**\n * Emitted when the tracked position of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_TRACKED_POSITION",
                  "canonicalReference": "server!PlayerCameraEvent.SET_TRACKED_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_TRACKED_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_ZOOM\":member",
              "docComment": "/**\n * Emitted when the zoom of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_ZOOM",
                  "canonicalReference": "server!PlayerCameraEvent.SET_ZOOM:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        zoom: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_ZOOM\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!PlayerCameraMode:enum",
          "docComment": "/**\n * The mode of the camera.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum PlayerCameraMode "
            }
          ],
          "fileUrlPath": "src/players/PlayerCamera.ts",
          "releaseTag": "Public",
          "name": "PlayerCameraMode",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraMode.FIRST_PERSON:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "FIRST_PERSON = "
                },
                {
                  "kind": "Content",
                  "text": "0"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "FIRST_PERSON"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraMode.SPECTATOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SPECTATOR = "
                },
                {
                  "kind": "Content",
                  "text": "2"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SPECTATOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraMode.THIRD_PERSON:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "THIRD_PERSON = "
                },
                {
                  "kind": "Content",
                  "text": "1"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "THIRD_PERSON"
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PlayerCameraOrientation:type",
          "docComment": "/**\n * The camera orientation state of a Player.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PlayerCameraOrientation = "
            },
            {
              "kind": "Content",
              "text": "{\n    pitch: number;\n    yaw: number;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/players/PlayerCamera.ts",
          "releaseTag": "Public",
          "name": "PlayerCameraOrientation",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PlayerEntity:class",
          "docComment": "/**\n * Represents an entity controlled by a player in a world.\n *\n * @remarks\n *\n * Player entities extend the {@link Entity} class. They can be created and assigned to a player when a player joins a world. PlayerEntity automatically handles mapping player inputs to the associated entity controller of the entity, calling the entity controller's onTickPlayerMovement method when player input has changed.\n *\n * @example\n * ```typescript\n * world.onPlayerJoin = player => {\n *   const playerEntity = new PlayerEntity({\n *     player,\n *     name: 'Player',\n *     modelUri: 'models/player-with-gun.gltf',\n *     modelLoopedAnimations: [ 'idle' ],\n *     modelScale: 0.5,\n *   });\n *\n *   playerEntity.spawn(world, { x: 10, y: 20, z: 15 });\n * };\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class PlayerEntity extends "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "server!Entity:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/entities/PlayerEntity.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PlayerEntity",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!PlayerEntity:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `PlayerEntity` class\n *\n * @param options - The options for the player entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntityOptions",
                  "canonicalReference": "server!PlayerEntityOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntity#nametagSceneUI:member",
              "docComment": "/**\n * The SceneUI instance for the player entity's nametag.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly nametagSceneUI: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "nametagSceneUI",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntity#player:member",
              "docComment": "/**\n * The player the player entity is assigned to and controlled by.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "player",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PlayerEntityController:class",
          "docComment": "/**\n * The player entity controller implementation.\n *\n * @remarks\n *\n * This class extends {@link BaseEntityController} and implements the default movement logic for a entity. This is used as the default for players when they join your game. This class may be extended if you'd like to implement additional logic on top of the PlayerEntityController implementation.\n *\n * @example\n * ```typescript\n * // Create a custom entity controller for myEntity, prior to spawning it.\n * myEntity.setController(new PlayerEntityController(myEntity, {\n *   jumpVelocity: 10,\n *   runVelocity: 8,\n *   walkVelocity: 4,\n * }));\n *\n * // Spawn the entity in the world.\n * myEntity.spawn(world, { x: 53, y: 10, z: 23 });\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class PlayerEntityController extends "
            },
            {
              "kind": "Reference",
              "text": "BaseEntityController",
              "canonicalReference": "server!BaseEntityController:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/PlayerEntityController.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PlayerEntityController",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!PlayerEntityController:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `PlayerEntityController` class\n *\n * @param options - Options for the controller.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntityControllerOptions",
                  "canonicalReference": "server!PlayerEntityControllerOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerEntityController#attach:member(1)",
              "docComment": "/**\n * Called when the controller is attached to an entity.\n *\n * @param entity - The entity to attach the controller to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "attach(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "attach"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#autoCancelMouseLeftClick:member",
              "docComment": "/**\n * Whether to automatically cancel left click input after first processed tick, defaults to true.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "autoCancelMouseLeftClick: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "autoCancelMouseLeftClick",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#canJump:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can jump.\n *\n * @param playerEntityController - The entity controller instance.\n *\n * @returns Whether the entity of the entity controller can jump.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "canJump: "
                },
                {
                  "kind": "Content",
                  "text": "(playerEntityController: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntityController",
                  "canonicalReference": "server!PlayerEntityController:class"
                },
                {
                  "kind": "Content",
                  "text": ") => boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "canJump",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#canRun:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can run.\n *\n * @param playerEntityController - The entity controller instance.\n *\n * @returns Whether the entity of the entity controller can run.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "canRun: "
                },
                {
                  "kind": "Content",
                  "text": "(playerEntityController: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntityController",
                  "canonicalReference": "server!PlayerEntityController:class"
                },
                {
                  "kind": "Content",
                  "text": ") => boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "canRun",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#canWalk:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can walk.\n *\n * @param playerEntityController - The entity controller instance.\n *\n * @returns Whether the entity of the entity controller can walk.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "canWalk: "
                },
                {
                  "kind": "Content",
                  "text": "(playerEntityController: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntityController",
                  "canonicalReference": "server!PlayerEntityController:class"
                },
                {
                  "kind": "Content",
                  "text": ") => boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "canWalk",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#idleLoopedAnimations:member",
              "docComment": "/**\n * The looped animation(s) that will play when the entity is idle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "idleLoopedAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "idleLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#interactOneshotAnimations:member",
              "docComment": "/**\n * The oneshot animation(s) that will play when the entity interacts (left click)\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "interactOneshotAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "interactOneshotAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#isGrounded:member",
              "docComment": "/**\n * Whether the entity is grounded.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isGrounded(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isGrounded",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#isOnPlatform:member",
              "docComment": "/**\n * Whether the entity is on a platform, a platform is any entity with a kinematic rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isOnPlatform(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isOnPlatform",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#jumpOneshotAnimations:member",
              "docComment": "/**\n * The oneshot animation(s) that will play when the entity is jumping.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jumpOneshotAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "jumpOneshotAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#jumpVelocity:member",
              "docComment": "/**\n * The upward velocity applied to the entity when it jumps.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jumpVelocity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "jumpVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#platform:member",
              "docComment": "/**\n * The platform the entity is on, if any.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get platform(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "platform",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#runLoopedAnimations:member",
              "docComment": "/**\n * The looped animation(s) that will play when the entity is running.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "runLoopedAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "runLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#runVelocity:member",
              "docComment": "/**\n * The normalized horizontal velocity applied to the entity when it runs.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "runVelocity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "runVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerEntityController#spawn:member(1)",
              "docComment": "/**\n * Called when the controlled entity is spawned. In PlayerEntityController, this function is used to create the colliders for the entity for wall and ground detection.\n *\n * @param entity - The entity that is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "spawn(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "spawn"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#sticksToPlatforms:member",
              "docComment": "/**\n * Whether the entity sticks to platforms.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sticksToPlatforms: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "sticksToPlatforms",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerEntityController#tickWithPlayerInput:member(1)",
              "docComment": "/**\n * Ticks the player movement for the entity controller, overriding the default implementation. If the entity to tick is a child entity, only the event will be emitted but the default movement logic will not be applied.\n *\n * @param entity - The entity to tick.\n *\n * @param input - The current input state of the player.\n *\n * @param cameraOrientation - The current camera orientation state of the player.\n *\n * @param deltaTimeMs - The delta time in milliseconds since the last tick.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tickWithPlayerInput(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEntity",
                  "canonicalReference": "server!PlayerEntity:class"
                },
                {
                  "kind": "Content",
                  "text": ", input: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerInput",
                  "canonicalReference": "server!PlayerInput:type"
                },
                {
                  "kind": "Content",
                  "text": ", cameraOrientation: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraOrientation",
                  "canonicalReference": "server!PlayerCameraOrientation:type"
                },
                {
                  "kind": "Content",
                  "text": ", deltaTimeMs: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 10
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "input",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "cameraOrientation",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "deltaTimeMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "tickWithPlayerInput"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#walkLoopedAnimations:member",
              "docComment": "/**\n * The looped animation(s) that will play when the entity is walking.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "walkLoopedAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "walkLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntityController#walkVelocity:member",
              "docComment": "/**\n * The normalized horizontal velocity applied to the entity when it walks.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "walkVelocity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "walkVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!PlayerEntityControllerOptions:interface",
          "docComment": "/**\n * Options for creating a PlayerEntityController instance.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface PlayerEntityControllerOptions "
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/PlayerEntityController.ts",
          "releaseTag": "Public",
          "name": "PlayerEntityControllerOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#autoCancelMouseLeftClick:member",
              "docComment": "/**\n * Whether to automatically cancel left click input after first processed tick, defaults to true.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "autoCancelMouseLeftClick?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "autoCancelMouseLeftClick",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#canJump:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can jump.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "canJump?: "
                },
                {
                  "kind": "Content",
                  "text": "() => boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "canJump",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#canRun:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can run.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "canRun?: "
                },
                {
                  "kind": "Content",
                  "text": "() => boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "canRun",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#canWalk:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can walk.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "canWalk?: "
                },
                {
                  "kind": "Content",
                  "text": "() => boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "canWalk",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#idleLoopedAnimations:member",
              "docComment": "/**\n * Overrides the animation(s) that will play when the entity is idle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "idleLoopedAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "idleLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#interactOneshotAnimations:member",
              "docComment": "/**\n * Overrides the animation(s) that will play when the entity interacts (left click)\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "interactOneshotAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "interactOneshotAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#jumpOneshotAnimations:member",
              "docComment": "/**\n * Overrides the animation(s) that will play when the entity is jumping.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jumpOneshotAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "jumpOneshotAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#jumpVelocity:member",
              "docComment": "/**\n * The upward velocity applied to the entity when it jumps.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jumpVelocity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "jumpVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#runLoopedAnimations:member",
              "docComment": "/**\n * Overrides the animation(s) that will play when the entity is running.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "runLoopedAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "runLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#runVelocity:member",
              "docComment": "/**\n * The normalized horizontal velocity applied to the entity when it runs.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "runVelocity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "runVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#sticksToPlatforms:member",
              "docComment": "/**\n * Whether the entity sticks to platforms, defaults to true.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sticksToPlatforms?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "sticksToPlatforms",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#walkLoopedAnimations:member",
              "docComment": "/**\n * Overrides the animation(s) that will play when the entity is walking.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "walkLoopedAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "walkLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEntityControllerOptions#walkVelocity:member",
              "docComment": "/**\n * The normalized horizontal velocity applied to the entity when it walks.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "walkVelocity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "walkVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PlayerEntityOptions:type",
          "docComment": "/**\n * Options for creating a PlayerEntity instance.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PlayerEntityOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    player: "
            },
            {
              "kind": "Reference",
              "text": "Player",
              "canonicalReference": "server!Player:class"
            },
            {
              "kind": "Content",
              "text": ";\n} & "
            },
            {
              "kind": "Reference",
              "text": "EntityOptions",
              "canonicalReference": "server!EntityOptions:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/PlayerEntity.ts",
          "releaseTag": "Public",
          "name": "PlayerEntityOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          }
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!PlayerEvent:enum",
          "docComment": "/**\n * Event types a Player can emit. See {@link PlayerEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum PlayerEvent "
            }
          ],
          "fileUrlPath": "src/players/Player.ts",
          "releaseTag": "Public",
          "name": "PlayerEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerEvent.CHAT_MESSAGE_SEND:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "CHAT_MESSAGE_SEND = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER.CHAT_MESSAGE_SEND\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "CHAT_MESSAGE_SEND"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerEvent.JOINED_WORLD:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "JOINED_WORLD = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER.JOINED_WORLD\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "JOINED_WORLD"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerEvent.LEFT_WORLD:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "LEFT_WORLD = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER.LEFT_WORLD\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "LEFT_WORLD"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerEvent.REQUEST_SYNC:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_SYNC = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER.REQUEST_SYNC\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "REQUEST_SYNC"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!PlayerEventPayloads:interface",
          "docComment": "/**\n * Event payloads for Player emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface PlayerEventPayloads "
            }
          ],
          "fileUrlPath": "src/players/Player.ts",
          "releaseTag": "Public",
          "name": "PlayerEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEventPayloads#\"PLAYER.CHAT_MESSAGE_SEND\":member",
              "docComment": "/**\n * Emitted when a player sends a chat message.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEvent.CHAT_MESSAGE_SEND",
                  "canonicalReference": "server!PlayerEvent.CHAT_MESSAGE_SEND:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        message: string;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER.CHAT_MESSAGE_SEND\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEventPayloads#\"PLAYER.JOINED_WORLD\":member",
              "docComment": "/**\n * Emitted when a player joins a world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEvent.JOINED_WORLD",
                  "canonicalReference": "server!PlayerEvent.JOINED_WORLD:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER.JOINED_WORLD\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEventPayloads#\"PLAYER.LEFT_WORLD\":member",
              "docComment": "/**\n * Emitted when a player leaves a world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEvent.LEFT_WORLD",
                  "canonicalReference": "server!PlayerEvent.LEFT_WORLD:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER.LEFT_WORLD\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEventPayloads#\"PLAYER.REQUEST_SYNC\":member",
              "docComment": "/**\n * Emitted when a player's client requests a round trip time synchronization.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEvent.REQUEST_SYNC",
                  "canonicalReference": "server!PlayerEvent.REQUEST_SYNC:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        receivedAt: number;\n        receivedAtMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER.REQUEST_SYNC\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PlayerInput:type",
          "docComment": "/**\n * The input state of a Player; keys from SUPPORTED_INPUT_KEYS.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PlayerInput = "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Record",
              "canonicalReference": "!Record:type"
            },
            {
              "kind": "Content",
              "text": "<keyof "
            },
            {
              "kind": "Reference",
              "text": "InputSchema",
              "canonicalReference": "@hytopia.com/server-protocol!InputSchema:type"
            },
            {
              "kind": "Content",
              "text": ", boolean>>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/players/Player.ts",
          "releaseTag": "Public",
          "name": "PlayerInput",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 7
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PlayerManager:class",
          "docComment": "/**\n * Manages all connected players in a game server.\n *\n * @remarks\n *\n * The PlayerManager is created internally as a global singleton accessible with the static property `PlayerManager.instance`.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link PlayerManagerEventPayloads}\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `PlayerManager` class.\n *\n * @example\n * ```typescript\n * import { PlayerManager } from 'hytopia';\n *\n * const playerManager = PlayerManager.instance;\n * const connectedPlayers = playerManager.getConnectedPlayers();\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class PlayerManager "
            }
          ],
          "fileUrlPath": "src/players/PlayerManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PlayerManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerManager#getConnectedPlayerByUsername:member(1)",
              "docComment": "/**\n * Get a connected player by their username (case insensitive).\n *\n * @param username - The username of the player to get.\n *\n * @returns The connected player with the given username or undefined if not found.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getConnectedPlayerByUsername(username: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "username",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getConnectedPlayerByUsername"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerManager#getConnectedPlayers:member(1)",
              "docComment": "/**\n * Get all connected players.\n *\n * @returns An array of all connected players.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getConnectedPlayers(): "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getConnectedPlayers"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerManager#getConnectedPlayersByWorld:member(1)",
              "docComment": "/**\n * Get all connected players in a specific world.\n *\n * @param world - The world to get connected players for.\n *\n * @returns An array of all connected players in the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getConnectedPlayersByWorld(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getConnectedPlayersByWorld"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerManager.instance:member",
              "docComment": "/**\n * The global PlayerManager instance as a singleton.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static readonly instance: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerManager",
                  "canonicalReference": "server!PlayerManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "instance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": true,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!PlayerManagerEventPayloads:interface",
          "docComment": "/**\n * Event payloads for PlayerManager emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface PlayerManagerEventPayloads "
            }
          ],
          "fileUrlPath": "src/players/PlayerManager.ts",
          "releaseTag": "Public",
          "name": "PlayerManagerEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerManagerEventPayloads#\"PLAYER_MANAGER.PLAYER_CONNECTED\":member",
              "docComment": "/**\n * Emitted when a player connects to the server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerManagerEvent.PLAYER_CONNECTED",
                  "canonicalReference": "server!PlayerManagerEvent.PLAYER_CONNECTED:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_MANAGER.PLAYER_CONNECTED\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerManagerEventPayloads#\"PLAYER_MANAGER.PLAYER_DISCONNECTED\":member",
              "docComment": "/**\n * Emitted when a player disconnects from the server.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerManagerEvent.PLAYER_DISCONNECTED",
                  "canonicalReference": "server!PlayerManagerEvent.PLAYER_DISCONNECTED:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_MANAGER.PLAYER_DISCONNECTED\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PlayerUI:class",
          "docComment": "/**\n * The UI for a player.\n *\n * @remarks\n *\n * UI allows control of all in-game overlays a player sees. UI is controlled by HTML, CSS and JavaScript files you provide in your `assets` folder.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link PlayerUIEventPayloads}\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `PlayerUI` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class PlayerUI extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/players/PlayerUI.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PlayerUI",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerUI#load:member(1)",
              "docComment": "/**\n * Loads client UI for the player.\n *\n * @param htmlUri - The ui html uri to load.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "load(htmlUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "htmlUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "load"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerUI#lockPointer:member(1)",
              "docComment": "/**\n * Locks or unlocks the player's mouse pointer. If the pointer is unlocked with lockPointer(false), the player will not be able to use in-game inputs or camera controls from the mouse pointer until `player.ui.lockPointer(true)`, or in your game's client UI html with `hytopia.lockPointer(true)`.\n *\n * @param lock - Set true to lock the pointer, false to unlock it.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lockPointer(lock: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "lock",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "lockPointer"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerUI#player:member",
              "docComment": "/**\n * The player that the UI belongs to.\n *\n * @readonly\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "player",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerUI#sendData:member(1)",
              "docComment": "/**\n * Sends data to the player's client UI.\n *\n * @param data - The data to send to the client UI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sendData(data: "
                },
                {
                  "kind": "Content",
                  "text": "object"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "data",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "sendData"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!PlayerUIEvent:enum",
          "docComment": "/**\n * Event types a PlayerUI can emit. See {@link PlayerUIEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum PlayerUIEvent "
            }
          ],
          "fileUrlPath": "src/players/PlayerUI.ts",
          "releaseTag": "Public",
          "name": "PlayerUIEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerUIEvent.DATA:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DATA = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_UI.DATA\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DATA"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerUIEvent.LOAD:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "LOAD = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_UI.LOAD\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "LOAD"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerUIEvent.LOCK_POINTER:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "LOCK_POINTER = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_UI.LOCK_POINTER\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "LOCK_POINTER"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerUIEvent.SEND_DATA:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SEND_DATA = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_UI.SEND_DATA\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SEND_DATA"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!PlayerUIEventPayloads:interface",
          "docComment": "/**\n * Event payloads for PlayerUI emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface PlayerUIEventPayloads "
            }
          ],
          "fileUrlPath": "src/players/PlayerUI.ts",
          "releaseTag": "Public",
          "name": "PlayerUIEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerUIEventPayloads#\"PLAYER_UI.DATA\":member",
              "docComment": "/**\n * Emitted when data is received by the server from the player's client UI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUIEvent.DATA",
                  "canonicalReference": "server!PlayerUIEvent.DATA:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerUI: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUI",
                  "canonicalReference": "server!PlayerUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        data: "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, any>;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_UI.DATA\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerUIEventPayloads#\"PLAYER_UI.LOAD\":member",
              "docComment": "/**\n * Emitted when the player's client UI is loaded.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUIEvent.LOAD",
                  "canonicalReference": "server!PlayerUIEvent.LOAD:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerUI: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUI",
                  "canonicalReference": "server!PlayerUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        htmlUri: string;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_UI.LOAD\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerUIEventPayloads#\"PLAYER_UI.LOCK_POINTER\":member",
              "docComment": "/**\n * Emitted when the player's mouse pointer is locked or unlocked.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUIEvent.LOCK_POINTER",
                  "canonicalReference": "server!PlayerUIEvent.LOCK_POINTER:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerUI: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUI",
                  "canonicalReference": "server!PlayerUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        lock: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_UI.LOCK_POINTER\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerUIEventPayloads#\"PLAYER_UI.SEND_DATA\":member",
              "docComment": "/**\n * Emitted when data is sent from the server to the player's client UI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUIEvent.SEND_DATA",
                  "canonicalReference": "server!PlayerUIEvent.SEND_DATA:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerUI: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUI",
                  "canonicalReference": "server!PlayerUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        data: "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, any>;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_UI.SEND_DATA\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "server!PORT:var",
          "docComment": "/**\n * The port the server will run on. You can override this in your .env by setting PORT. When deployed in production to HYTOPIA servers, any .env value will be ignored and 8080 will be used.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "PORT: "
            },
            {
              "kind": "Content",
              "text": "string | 8080"
            }
          ],
          "fileUrlPath": "src/networking/WebServer.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "PORT",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Quaternion:class",
          "docComment": "/**\n * Represents a quaternion.\n *\n * @remarks\n *\n * All quaternion methods result in mutation of the quaternion instance. This class extends `Float32Array` to provide an efficient way to create and manipulate a quaternion. Various convenience methods are provided for common quaternion operations.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Quaternion extends "
            },
            {
              "kind": "Reference",
              "text": "Float32Array",
              "canonicalReference": "!Float32Array:interface"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "QuaternionLike",
              "canonicalReference": "server!QuaternionLike:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/shared/classes/Quaternion.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Quaternion",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Quaternion:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Quaternion` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(x: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", y: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", z: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", w: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "x",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "y",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "z",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "w",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#clone:member(1)",
              "docComment": "/**\n * Creates a clone of the current quaternion.\n *\n * @returns A new `Quaternion` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clone(): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "clone"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#conjugate:member(1)",
              "docComment": "/**\n * Conjugates the current quaternion.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "conjugate(): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "conjugate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#copy:member(1)",
              "docComment": "/**\n * Copies the components of a `QuaternionLike` object to the current quaternion.\n *\n * @param quaternionLike - The `QuaternionLike` object to copy the components from.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "copy(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "copy"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#dot:member(1)",
              "docComment": "/**\n * Calculates the dot product of the current quaternion and another quaternion.\n *\n * @param quaternionLike - The quaternion to calculate the dot product with.\n *\n * @returns The dot product.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "dot(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "dot"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#equals:member(1)",
              "docComment": "/**\n * Checks if the current quaternion is approximately equal to another quaternion.\n *\n * @param quaternionLike - The quaternion to check against.\n *\n * @returns `true` if the quaternions are approximately equal, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "equals(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "equals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#exactEquals:member(1)",
              "docComment": "/**\n * Checks if the current quaternion is exactly equal to another quaternion.\n *\n * @param quaternionLike - The quaternion to check against.\n *\n * @returns `true` if the quaternions are exactly equal, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "exactEquals(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "exactEquals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#exponential:member(1)",
              "docComment": "/**\n * Calculates and sets the current quaternion to its exponential.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "exponential(): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "exponential"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion.fromEuler:member(1)",
              "docComment": "/**\n * Creates a quaternion from Euler angles.\n *\n * @param x - The x-component of the Euler angles in degrees.\n *\n * @param y - The y-component of the Euler angles in degrees.\n *\n * @param z - The z-component of the Euler angles in degrees.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromEuler(x: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", y: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", z: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "x",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "y",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "z",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromEuler"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion.fromQuaternionLike:member(1)",
              "docComment": "/**\n * Creates a quaternion from a `QuaternionLike` object.\n *\n * @param quaternionLike - The `QuaternionLike` object to create the quaternion from.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromQuaternionLike(quaternionLike: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternionLike",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromQuaternionLike"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#getAngle:member(1)",
              "docComment": "/**\n * Calculates and returns the angle between the current quaternion and another quaternion.\n *\n * @param quaternionLike - The quaternion to calculate the angle with.\n *\n * @returns The angle in degrees.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAngle(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAngle"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#identity:member(1)",
              "docComment": "/**\n * Sets the current quaternion to the identity quaternion.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "identity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "identity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#invert:member(1)",
              "docComment": "/**\n * Inverts each component of the quaternion.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invert(): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "invert"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Quaternion#length:member",
              "docComment": "/**\n * The length of the quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get length(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "length",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#lerp:member(1)",
              "docComment": "/**\n * Linearly interpolates between the current quaternion and another quaternion.\n *\n * @param quaternionLike - The quaternion to interpolate with.\n *\n * @param t - The interpolation factor.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lerp(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ", t: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "t",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "lerp"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#logarithm:member(1)",
              "docComment": "/**\n * Sets the current quaternion to its natural logarithm.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "logarithm(): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "logarithm"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Quaternion#magnitude:member",
              "docComment": "/**\n * The magnitude of the quaternion. Alias for `.length`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get magnitude(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "magnitude",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#multiply:member(1)",
              "docComment": "/**\n * Multiplies the quaternion by another quaternion.\n *\n * @param quaternionLike - The quaternion to multiply by.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiply(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiply"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#normalize:member(1)",
              "docComment": "/**\n * Normalizes the quaternion.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "normalize(): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "normalize"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#power:member(1)",
              "docComment": "/**\n * Raises the current quaternion to a power.\n *\n * @param exponent - The exponent to raise the quaternion to.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "power(exponent: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "exponent",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "power"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#randomize:member(1)",
              "docComment": "/**\n * Randomizes the current quaternion.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "randomize(): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "randomize"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#rotateX:member(1)",
              "docComment": "/**\n * Rotates the quaternion around the x-axis.\n *\n * @param angle - The angle to rotate in degrees.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateX(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateX"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#rotateY:member(1)",
              "docComment": "/**\n * Rotates the quaternion around the y-axis.\n *\n * @param angle - The angle to rotate in degrees.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateY(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateY"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#rotateZ:member(1)",
              "docComment": "/**\n * Rotates the quaternion around the z-axis.\n *\n * @param angle - The angle to rotate in degrees.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateZ(angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateZ"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#scale:member(1)",
              "docComment": "/**\n * Scales the quaternion by a scalar value.\n *\n * @param scale - The scalar value to scale the quaternion by.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "scale(scale: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "scale"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#setAxisAngle:member(1)",
              "docComment": "/**\n * Sets the current quaternion to the angle and rotation axis.\n *\n * @param axis - The axis to rotate around.\n *\n * @param angle - The angle to rotate in radians.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAxisAngle(axis: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "axis",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAxisAngle"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#slerp:member(1)",
              "docComment": "/**\n * Spherically interpolates between the current quaternion and another quaternion.\n *\n * @param quaternion - The quaternion to interpolate with.\n *\n * @param t - The interpolation factor.\n *\n * @returns The current quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "slerp(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ", t: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "t",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "slerp"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Quaternion#squaredLength:member",
              "docComment": "/**\n * The squared length of the quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get squaredLength(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "squaredLength",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Quaternion#squaredMagnitude:member",
              "docComment": "/**\n * The squared magnitude of the quaternion. Alias for `.squaredLength`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get squaredMagnitude(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "squaredMagnitude",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#toString:member(1)",
              "docComment": "/**\n * Returns a string representation of the quaternion in x,y,z,w format.\n *\n * @returns A string representation of the quaternion in the format x,y,z,w.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Quaternion#transformVector:member(1)",
              "docComment": "/**\n * Rotates the provided vector by the rotation this quaternion represents. This modifies the vector in-place, but also returns the rotated vector.\n *\n * @param vector - the vector to rotate\n *\n * @returns the rotated vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transformVector(vector: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "transformVector"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Quaternion#w:member",
              "docComment": "/**\n * The w-component of the quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get w(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset w(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "w",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Quaternion#x:member",
              "docComment": "/**\n * The x-component of the quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get x(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset x(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "x",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Quaternion#y:member",
              "docComment": "/**\n * The y-component of the quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get y(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset y(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "y",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Quaternion#z:member",
              "docComment": "/**\n * The z-component of the quaternion.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get z(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset z(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "z",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!QuaternionLike:interface",
          "docComment": "/**\n * A quaternion.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface QuaternionLike "
            }
          ],
          "fileUrlPath": "src/shared/types/math/QuaternionLike.ts",
          "releaseTag": "Public",
          "name": "QuaternionLike",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!QuaternionLike#w:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "w: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "w",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!QuaternionLike#x:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "x: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "x",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!QuaternionLike#y:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "y: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "y",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!QuaternionLike#z:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "z: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "z",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RawCollisionGroups:type",
          "docComment": "/**\n * A raw set of collision groups represented as a 32-bit number.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RawCollisionGroups = "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.InteractionGroups",
              "canonicalReference": "@dimforge/rapier3d-compat-simd!InteractionGroups:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/CollisionGroupsBuilder.ts",
          "releaseTag": "Public",
          "name": "RawCollisionGroups",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RaycastHit:type",
          "docComment": "/**\n * A hit result from a raycast.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RaycastHit = "
            },
            {
              "kind": "Content",
              "text": "{\n    hitBlock?: "
            },
            {
              "kind": "Reference",
              "text": "Block",
              "canonicalReference": "server!Block:class"
            },
            {
              "kind": "Content",
              "text": ";\n    hitEntity?: "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "server!Entity:class"
            },
            {
              "kind": "Content",
              "text": ";\n    hitPoint: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    hitDistance: number;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "RaycastHit",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 8
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RaycastOptions:type",
          "docComment": "/**\n * Options for raycasting.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RaycastOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    ignoresSensors?: boolean;\n    filterFlags?: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.QueryFilterFlags",
              "canonicalReference": "@dimforge/rapier3d-compat-simd!QueryFilterFlags:enum"
            },
            {
              "kind": "Content",
              "text": ";\n    filterGroups?: number;\n    filterExcludeCollider?: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.Collider",
              "canonicalReference": "@dimforge/rapier3d-compat-simd!Collider:class"
            },
            {
              "kind": "Content",
              "text": ";\n    filterExcludeRigidBody?: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.RigidBody",
              "canonicalReference": "@dimforge/rapier3d-compat-simd!RigidBody:class"
            },
            {
              "kind": "Content",
              "text": ";\n    filterPredicate?: (collider: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.Collider",
              "canonicalReference": "@dimforge/rapier3d-compat-simd!Collider:class"
            },
            {
              "kind": "Content",
              "text": ") => boolean;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "RaycastOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!RgbColor:interface",
          "docComment": "/**\n * A RGB color.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface RgbColor "
            }
          ],
          "fileUrlPath": "src/shared/types/RgbColor.ts",
          "releaseTag": "Public",
          "name": "RgbColor",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!RgbColor#b:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "b: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "b",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!RgbColor#g:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "g: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "g",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!RgbColor#r:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "r: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "r",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!RigidBody:class",
          "docComment": "/**\n * Represents a rigid body in a world's physics simulation.\n *\n * @remarks\n *\n * Rigid bodies are the core of the physics simulation. They are used to represent physical objects (IE: entities) that can interact with each other.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class RigidBody extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "RigidBody",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!RigidBody:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `RigidBody` class\n *\n * @param options - The options for the rigid body instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyOptions",
                  "canonicalReference": "server!RigidBodyOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#addChildColliderToSimulation:member(1)",
              "docComment": "/**\n * Adds an unsimulated child collider to the rigid body for the simulation it belongs to.\n *\n * @param collider - The child collider to add to the rigid body for the simulation it belongs to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "addChildColliderToSimulation(collider: "
                },
                {
                  "kind": "Reference",
                  "text": "Collider",
                  "canonicalReference": "server!Collider:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "collider",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "addChildColliderToSimulation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#addForce:member(1)",
              "docComment": "/**\n * Adds a force to the rigid body.\n *\n * @param force - The force to add to the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "addForce(force: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "force",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "addForce"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#additionalMass:member",
              "docComment": "/**\n * The additional mass of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get additionalMass(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "additionalMass",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#additionalSolverIterations:member",
              "docComment": "/**\n * The additional solver iterations of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get additionalSolverIterations(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "additionalSolverIterations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#addTorque:member(1)",
              "docComment": "/**\n * Adds a torque to the rigid body.\n *\n * @param torque - The torque to add to the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "addTorque(torque: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "torque",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "addTorque"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#addToSimulation:member(1)",
              "docComment": "/**\n * Adds the rigid body to a simulation.\n *\n * @param simulation - The simulation to add the rigid body to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "addToSimulation(simulation: "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "simulation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "addToSimulation"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#angularDamping:member",
              "docComment": "/**\n * The angular damping of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get angularDamping(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "angularDamping",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#angularVelocity:member",
              "docComment": "/**\n * The angular velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get angularVelocity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "angularVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#applyImpulse:member(1)",
              "docComment": "/**\n * Applies an impulse to the rigid body.\n *\n * @param impulse - The impulse to apply to the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "applyImpulse(impulse: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "impulse",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "applyImpulse"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#applyImpulseAtPoint:member(1)",
              "docComment": "/**\n * Applies an impulse to the rigid body at a point.\n *\n * @param impulse - The impulse to apply to the rigid body.\n *\n * @param point - The point at which to apply the impulse.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "applyImpulseAtPoint(impulse: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", point: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "impulse",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "point",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "applyImpulseAtPoint"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#applyTorqueImpulse:member(1)",
              "docComment": "/**\n * Applies a torque impulse to the rigid body.\n *\n * @param impulse - The torque impulse to apply to the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "applyTorqueImpulse(impulse: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "impulse",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "applyTorqueImpulse"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#colliders:member",
              "docComment": "/**\n * The colliders of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colliders(): "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Collider",
                  "canonicalReference": "server!Collider:class"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colliders",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#createAndAddChildCollider:member(1)",
              "docComment": "/**\n * Creates and adds a child collider to the rigid body for the simulation it belongs to.\n *\n * @remarks\n *\n * If the rigid body is not simulated, the collider will be added to the rigid body as a pending child collider and also simulated when the rigid body is simulated.\n *\n * @param colliderOptions - The options for the child collider to add.\n *\n * @returns The child collider that was added to the rigid body, or null if failed.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "createAndAddChildCollider(colliderOptions: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderOptions",
                  "canonicalReference": "server!ColliderOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Collider",
                  "canonicalReference": "server!Collider:class"
                },
                {
                  "kind": "Content",
                  "text": " | null"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "colliderOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "createAndAddChildCollider"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#createAndAddChildCollidersToSimulation:member(1)",
              "docComment": "/**\n * Creates and adds multiple child colliders to the rigid body for the simulation it belongs to.\n *\n * @param colliderOptions - The options for the child colliders to add to the rigid body.\n *\n * @returns The child colliders that were added to the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "createAndAddChildCollidersToSimulation(colliderOptions: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderOptions",
                  "canonicalReference": "server!ColliderOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Collider",
                  "canonicalReference": "server!Collider:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "colliderOptions",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "createAndAddChildCollidersToSimulation"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#directionFromRotation:member",
              "docComment": "/**\n * The direction from the rotation of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get directionFromRotation(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "directionFromRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#dominanceGroup:member",
              "docComment": "/**\n * The dominance group of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get dominanceGroup(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "dominanceGroup",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#effectiveAngularInertia:member",
              "docComment": "/**\n * The effective angular inertia of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get effectiveAngularInertia(): "
                },
                {
                  "kind": "Reference",
                  "text": "SpdMatrix3",
                  "canonicalReference": "server!SpdMatrix3:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "effectiveAngularInertia",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#effectiveInverseMass:member",
              "docComment": "/**\n * The effective inverse mass of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get effectiveInverseMass(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "effectiveInverseMass",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#effectiveWorldInversePrincipalAngularInertiaSqrt:member",
              "docComment": "/**\n * The effective world inverse principal angular inertia square root of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get effectiveWorldInversePrincipalAngularInertiaSqrt(): "
                },
                {
                  "kind": "Reference",
                  "text": "SpdMatrix3",
                  "canonicalReference": "server!SpdMatrix3:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "effectiveWorldInversePrincipalAngularInertiaSqrt",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#enabledPositions:member",
              "docComment": "/**\n * The enabled axes of positional movement of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get enabledPositions(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Boolean",
                  "canonicalReference": "server!Vector3Boolean:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "enabledPositions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#enabledRotations:member",
              "docComment": "/**\n * The enabled axes of rotational movement of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get enabledRotations(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Boolean",
                  "canonicalReference": "server!Vector3Boolean:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "enabledRotations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#getCollidersByTag:member(1)",
              "docComment": "/**\n * Gets the colliders of the rigid body by tag.\n *\n * @param tag - The tag to filter by.\n *\n * @returns The colliders of the rigid body with the given tag.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getCollidersByTag(tag: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Collider",
                  "canonicalReference": "server!Collider:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "tag",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getCollidersByTag"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#gravityScale:member",
              "docComment": "/**\n * The gravity scale of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get gravityScale(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "gravityScale",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#inverseMass:member",
              "docComment": "/**\n * The inverse mass of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get inverseMass(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "inverseMass",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#inversePrincipalAngularInertiaSqrt:member",
              "docComment": "/**\n * The inverse principal angular inertia square root of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get inversePrincipalAngularInertiaSqrt(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "inversePrincipalAngularInertiaSqrt",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isCcdEnabled:member",
              "docComment": "/**\n * Whether the rigid body has continuous collision detection enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isCcdEnabled(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isCcdEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isDynamic:member",
              "docComment": "/**\n * Whether the rigid body is dynamic.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isDynamic(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isDynamic",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isEnabled:member",
              "docComment": "/**\n * Whether the rigid body is enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isEnabled(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isFixed:member",
              "docComment": "/**\n * Whether the rigid body is fixed.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isFixed(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isFixed",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isKinematic:member",
              "docComment": "/**\n * Whether the rigid body is kinematic.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isKinematic(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isKinematic",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isKinematicPositionBased:member",
              "docComment": "/**\n * Whether the rigid body is kinematic position based.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isKinematicPositionBased(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isKinematicPositionBased",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isKinematicVelocityBased:member",
              "docComment": "/**\n * Whether the rigid body is kinematic velocity based.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isKinematicVelocityBased(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isKinematicVelocityBased",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isMoving:member",
              "docComment": "/**\n * Whether the rigid body is moving.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isMoving(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isMoving",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isRemoved:member",
              "docComment": "/**\n * Whether the rigid body has been removed from the simulation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isRemoved(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isRemoved",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isSimulated:member",
              "docComment": "/**\n * Whether the rigid body is simulated.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSimulated(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSimulated",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#isSleeping:member",
              "docComment": "/**\n * Whether the rigid body is sleeping.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSleeping(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSleeping",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#linearDamping:member",
              "docComment": "/**\n * The linear damping of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get linearDamping(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "linearDamping",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#linearVelocity:member",
              "docComment": "/**\n * The linear velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get linearVelocity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "linearVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#localCenterOfMass:member",
              "docComment": "/**\n * The local center of mass of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get localCenterOfMass(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "localCenterOfMass",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#lockAllPositions:member(1)",
              "docComment": "/**\n * Locks all positional movement of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lockAllPositions(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "lockAllPositions"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#lockAllRotations:member(1)",
              "docComment": "/**\n * Locks all rotations of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lockAllRotations(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "lockAllRotations"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#mass:member",
              "docComment": "/**\n * The mass of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get mass(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "mass",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#nextKinematicPosition:member",
              "docComment": "/**\n * The next kinematic position of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get nextKinematicPosition(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "nextKinematicPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#nextKinematicRotation:member",
              "docComment": "/**\n * The next kinematic rotation of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get nextKinematicRotation(): "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "nextKinematicRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#numColliders:member",
              "docComment": "/**\n * The number of colliders in the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get numColliders(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "numColliders",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#position:member",
              "docComment": "/**\n * The position of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get position(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "position",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#principalAngularInertia:member",
              "docComment": "/**\n * The principal angular inertia of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get principalAngularInertia(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "principalAngularInertia",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#principalAngularInertiaLocalFrame:member",
              "docComment": "/**\n * The principal angular inertia local frame of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get principalAngularInertiaLocalFrame(): "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "principalAngularInertiaLocalFrame",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#rawRigidBody:member",
              "docComment": "/**\n * The raw RAPIER rigid body instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rawRigidBody(): "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.RigidBody",
                  "canonicalReference": "@dimforge/rapier3d-compat-simd!RigidBody:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "rawRigidBody",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#removeFromSimulation:member(1)",
              "docComment": "/**\n * Removes the rigid body from the simulation it belongs to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "removeFromSimulation(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "removeFromSimulation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#resetAngularVelocity:member(1)",
              "docComment": "/**\n * Resets the angular velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "resetAngularVelocity(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "resetAngularVelocity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#resetForces:member(1)",
              "docComment": "/**\n * Resets the forces actiong on the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "resetForces(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "resetForces"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#resetLinearVelocity:member(1)",
              "docComment": "/**\n * Resets the linear velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "resetLinearVelocity(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "resetLinearVelocity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#resetTorques:member(1)",
              "docComment": "/**\n * Resets the torques acting on the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "resetTorques(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "resetTorques"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#rotation:member",
              "docComment": "/**\n * The rotation of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rotation(): "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "rotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setAdditionalMass:member(1)",
              "docComment": "/**\n * Sets the additional mass of the rigid body.\n *\n * @param additionalMass - The additional mass of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAdditionalMass(additionalMass: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "additionalMass",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAdditionalMass"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setAdditionalMassProperties:member(1)",
              "docComment": "/**\n * Sets the additional mass properties of the rigid body.\n *\n * @param additionalMassProperties - The additional mass properties of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAdditionalMassProperties(additionalMassProperties: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyAdditionalMassProperties",
                  "canonicalReference": "server!RigidBodyAdditionalMassProperties:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "additionalMassProperties",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAdditionalMassProperties"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setAdditionalSolverIterations:member(1)",
              "docComment": "/**\n * Sets the additional solver iterations of the rigid body.\n *\n * @param solverIterations - The additional solver iterations of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAdditionalSolverIterations(solverIterations: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "solverIterations",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAdditionalSolverIterations"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setAngularDamping:member(1)",
              "docComment": "/**\n * Sets the angular damping of the rigid body.\n *\n * @param angularDamping - The angular damping of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAngularDamping(angularDamping: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angularDamping",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAngularDamping"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setAngularVelocity:member(1)",
              "docComment": "/**\n * Sets the angular velocity of the rigid body.\n *\n * @param angularVelocity - The angular velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAngularVelocity(angularVelocity: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "angularVelocity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAngularVelocity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setCcdEnabled:member(1)",
              "docComment": "/**\n * Sets whether the rigid body has continuous collision detection enabled.\n *\n * @param ccdEnabled - Whether the rigid body has continuous collision detection enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setCcdEnabled(ccdEnabled: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "ccdEnabled",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setCcdEnabled"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setCollisionGroupsForSensorColliders:member(1)",
              "docComment": "/**\n * Sets the collision groups for sensor colliders of the rigid body.\n *\n * @param collisionGroups - The collision groups for sensor colliders of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setCollisionGroupsForSensorColliders(collisionGroups: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "collisionGroups",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setCollisionGroupsForSensorColliders"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setCollisionGroupsForSolidColliders:member(1)",
              "docComment": "/**\n * Sets the collision groups for solid colliders (non-sensor) of the rigid body.\n *\n * @param collisionGroups - The collision groups for solid colliders of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setCollisionGroupsForSolidColliders(collisionGroups: "
                },
                {
                  "kind": "Reference",
                  "text": "CollisionGroups",
                  "canonicalReference": "server!CollisionGroups:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "collisionGroups",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setCollisionGroupsForSolidColliders"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setDominanceGroup:member(1)",
              "docComment": "/**\n * Sets the dominance group of the rigid body.\n *\n * @param dominanceGroup - The dominance group of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setDominanceGroup(dominanceGroup: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "dominanceGroup",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setDominanceGroup"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setEnabled:member(1)",
              "docComment": "/**\n * Sets whether the rigid body is enabled.\n *\n * @param enabled - Whether the rigid body is enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setEnabled(enabled: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "enabled",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setEnabled"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setEnabledPositions:member(1)",
              "docComment": "/**\n * Sets whether the rigid body has enabled positional movement.\n *\n * @param enabledPositions - Whether the rigid body has enabled positional movement.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setEnabledPositions(enabledPositions: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Boolean",
                  "canonicalReference": "server!Vector3Boolean:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "enabledPositions",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setEnabledPositions"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setEnabledRotations:member(1)",
              "docComment": "/**\n * Sets whether the rigid body has enabled rotations.\n *\n * @param enabledRotations - Whether the rigid body has enabled rotations.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setEnabledRotations(enabledRotations: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Boolean",
                  "canonicalReference": "server!Vector3Boolean:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "enabledRotations",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setEnabledRotations"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setGravityScale:member(1)",
              "docComment": "/**\n * Sets the gravity scale of the rigid body.\n *\n * @param gravityScale - The gravity scale of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setGravityScale(gravityScale: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "gravityScale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setGravityScale"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setLinearDamping:member(1)",
              "docComment": "/**\n * Sets the linear damping of the rigid body.\n *\n * @param linearDamping - The linear damping of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLinearDamping(linearDamping: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "linearDamping",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLinearDamping"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setLinearVelocity:member(1)",
              "docComment": "/**\n * Sets the linear velocity of the rigid body.\n *\n * @param linearVelocity - The linear velocity of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLinearVelocity(linearVelocity: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "linearVelocity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLinearVelocity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setNextKinematicPosition:member(1)",
              "docComment": "/**\n * Sets the next kinematic position of the rigid body.\n *\n * @param nextKinematicPosition - The next kinematic position of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setNextKinematicPosition(nextKinematicPosition: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "nextKinematicPosition",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setNextKinematicPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setNextKinematicRotation:member(1)",
              "docComment": "/**\n * Sets the next kinematic rotation of the rigid body.\n *\n * @param nextKinematicRotation - The next kinematic rotation of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setNextKinematicRotation(nextKinematicRotation: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "nextKinematicRotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setNextKinematicRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setPosition:member(1)",
              "docComment": "/**\n * Sets the position of the rigid body.\n *\n * @param position - The position of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setRotation:member(1)",
              "docComment": "/**\n * Sets the rotation of the rigid body.\n *\n * @param rotation - The rotation of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setRotation(rotation: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "rotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setSleeping:member(1)",
              "docComment": "/**\n * Sets whether the rigid body is sleeping.\n *\n * @param sleeping - Whether the rigid body is sleeping.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSleeping(sleeping: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "sleeping",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setSleeping"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setSoftCcdPrediction:member(1)",
              "docComment": "/**\n * Sets the soft ccd prediction of the rigid body.\n *\n * @param softCcdPrediction - The soft ccd prediction of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSoftCcdPrediction(softCcdPrediction: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "softCcdPrediction",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setSoftCcdPrediction"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#setType:member(1)",
              "docComment": "/**\n * Sets the type of the rigid body.\n *\n * @param type - The type of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setType(type: "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyType",
                  "canonicalReference": "server!RigidBodyType:enum"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "type",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setType"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#sleep:member(1)",
              "docComment": "/**\n * Explicitly puts the rigid body to sleep. Physics otherwise optimizes sleeping.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sleep(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "sleep"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#softCcdPrediction:member",
              "docComment": "/**\n * The soft continuous collision detection prediction of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get softCcdPrediction(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "softCcdPrediction",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#type:member",
              "docComment": "/**\n * The type of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get type(): "
                },
                {
                  "kind": "Reference",
                  "text": "RigidBodyType",
                  "canonicalReference": "server!RigidBodyType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!RigidBody#wakeUp:member(1)",
              "docComment": "/**\n * Wakes up the rigid body. Physics otherwise optimizes waking it when necessary.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "wakeUp(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "wakeUp"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#worldCenterOfMass:member",
              "docComment": "/**\n * The world center of mass of the rigid body.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get worldCenterOfMass(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "worldCenterOfMass",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RigidBodyAdditionalMassProperties:type",
          "docComment": "/**\n * Additional mass properties for a RigidBody.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RigidBodyAdditionalMassProperties = "
            },
            {
              "kind": "Content",
              "text": "{\n    additionalMass: number;\n    centerOfMass: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    principalAngularInertia: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    principalAngularInertiaLocalFrame: "
            },
            {
              "kind": "Reference",
              "text": "QuaternionLike",
              "canonicalReference": "server!QuaternionLike:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "name": "RigidBodyAdditionalMassProperties",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 8
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RigidBodyOptions:type",
          "docComment": "/**\n * The options for a rigid body.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RigidBodyOptions = "
            },
            {
              "kind": "Reference",
              "text": "DynamicRigidBodyOptions",
              "canonicalReference": "server!DynamicRigidBodyOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "FixedRigidBodyOptions",
              "canonicalReference": "server!FixedRigidBodyOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "KinematicPositionRigidBodyOptions",
              "canonicalReference": "server!KinematicPositionRigidBodyOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "KinematicVelocityRigidBodyOptions",
              "canonicalReference": "server!KinematicVelocityRigidBodyOptions:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "name": "RigidBodyOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 8
          }
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!RigidBodyType:enum",
          "docComment": "/**\n * The types a RigidBody can be.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum RigidBodyType "
            }
          ],
          "fileUrlPath": "src/world/physics/RigidBody.ts",
          "releaseTag": "Public",
          "name": "RigidBodyType",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!RigidBodyType.DYNAMIC:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DYNAMIC = "
                },
                {
                  "kind": "Content",
                  "text": "\"dynamic\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DYNAMIC"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!RigidBodyType.FIXED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "FIXED = "
                },
                {
                  "kind": "Content",
                  "text": "\"fixed\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "FIXED"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!RigidBodyType.KINEMATIC_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "KINEMATIC_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"kinematic_position\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "KINEMATIC_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!RigidBodyType.KINEMATIC_VELOCITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "KINEMATIC_VELOCITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"kinematic_velocity\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "KINEMATIC_VELOCITY"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!RoundCylinderColliderOptions:interface",
          "docComment": "/**\n * The options for a round cylinder collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface RoundCylinderColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "RoundCylinderColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!RoundCylinderColliderOptions#borderRadius:member",
              "docComment": "/**\n * The border radius of the round cylinder collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "borderRadius?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "borderRadius",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!RoundCylinderColliderOptions#halfHeight:member",
              "docComment": "/**\n * The half height of the round cylinder collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "halfHeight?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "halfHeight",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!RoundCylinderColliderOptions#radius:member",
              "docComment": "/**\n * The radius of the round cylinder collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "radius?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "radius",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!RoundCylinderColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.ROUND_CYLINDER",
                  "canonicalReference": "server!ColliderShape.ROUND_CYLINDER:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!SceneUI:class",
          "docComment": "/**\n * UI rendered within the 3D space of a world's game scene.\n *\n * @remarks\n *\n * SceneUI instances are created directly as instances. They support a variety of configuration options through the {@link SceneUIOptions} constructor argument.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link SceneUIEventPayloads}\n *\n * @example\n * ```typescript\n * const sceneUI = new SceneUI({\n *   templateId: 'player-health-bar',\n *   attachedToEntity: playerEntity,\n *   offset: { x: 0, y: 1, z: 0 },\n * });\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class SceneUI extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/ui/SceneUI.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "SceneUI",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!SceneUI:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `SceneUI` class\n *\n * @param options - The options for the SceneUI instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIOptions",
                  "canonicalReference": "server!SceneUIOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#attachedToEntity:member",
              "docComment": "/**\n * The entity to which the SceneUI is attached if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get attachedToEntity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "attachedToEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#id:member",
              "docComment": "/**\n * The unique identifier for the SceneUI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get id(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#isLoaded:member",
              "docComment": "/**\n * Whether the SceneUI is loaded into the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isLoaded(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isLoaded",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUI#load:member(1)",
              "docComment": "/**\n * Loads the SceneUI into the world.\n *\n * @param world - The world to load the SceneUI into.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "load(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "load"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#offset:member",
              "docComment": "/**\n * The offset of the SceneUI from the attached entity or position.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get offset(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "offset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#position:member",
              "docComment": "/**\n * The position of the SceneUI in the world if explicitly set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get position(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "position",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUI#setAttachedToEntity:member(1)",
              "docComment": "/**\n * Sets the entity to which the SceneUI is attached, following its position.\n *\n * @param entity - The entity to attach the SceneUI to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAttachedToEntity(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAttachedToEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUI#setOffset:member(1)",
              "docComment": "/**\n * Sets the spatial offset of the SceneUI relative to the attached entity or position.\n *\n * @param offset - The offset in the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOffset(offset: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "offset",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOffset"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUI#setPosition:member(1)",
              "docComment": "/**\n * Sets the position of the SceneUI. Will detach from entity if attached.\n *\n * @param position - The position in the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUI#setState:member(1)",
              "docComment": "/**\n * Sets the state of the SceneUI by performing a shallow merge with existing state.\n *\n * @param state - The state to set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setState(state: "
                },
                {
                  "kind": "Content",
                  "text": "object"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "state",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setState"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUI#setViewDistance:member(1)",
              "docComment": "/**\n * Sets the view distance of the SceneUI.\n *\n * @param viewDistance - The view distance in the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setViewDistance(viewDistance: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "viewDistance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setViewDistance"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#state:member",
              "docComment": "/**\n * The state of the SceneUI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get state(): "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<object>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "state",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#templateId:member",
              "docComment": "/**\n * The template ID of the SceneUI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get templateId(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "templateId",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUI#unload:member(1)",
              "docComment": "/**\n * Unloads the SceneUI from the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "unload(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "unload"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#viewDistance:member",
              "docComment": "/**\n * The maximum view distance the SceneUI will be visible to the player.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get viewDistance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "viewDistance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUI#world:member",
              "docComment": "/**\n * The world the SceneUI is loaded into.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!SceneUIEvent:enum",
          "docComment": "/**\n * Event types a SceneUI instance can emit. See {@link SceneUIEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum SceneUIEvent "
            }
          ],
          "fileUrlPath": "src/world/ui/SceneUI.ts",
          "releaseTag": "Public",
          "name": "SceneUIEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SceneUIEvent.LOAD:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "LOAD = "
                },
                {
                  "kind": "Content",
                  "text": "\"SCENE_UI.LOAD\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "LOAD"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SceneUIEvent.SET_ATTACHED_TO_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ATTACHED_TO_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"SCENE_UI.SET_ATTACHED_TO_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ATTACHED_TO_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SceneUIEvent.SET_OFFSET:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OFFSET = "
                },
                {
                  "kind": "Content",
                  "text": "\"SCENE_UI.SET_OFFSET\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OFFSET"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SceneUIEvent.SET_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"SCENE_UI.SET_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SceneUIEvent.SET_STATE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_STATE = "
                },
                {
                  "kind": "Content",
                  "text": "\"SCENE_UI.SET_STATE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_STATE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SceneUIEvent.SET_VIEW_DISTANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VIEW_DISTANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"SCENE_UI.SET_VIEW_DISTANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VIEW_DISTANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SceneUIEvent.UNLOAD:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "UNLOAD = "
                },
                {
                  "kind": "Content",
                  "text": "\"SCENE_UI.UNLOAD\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "UNLOAD"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!SceneUIEventPayloads:interface",
          "docComment": "/**\n * Event payloads for SceneUI emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface SceneUIEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/ui/SceneUI.ts",
          "releaseTag": "Public",
          "name": "SceneUIEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIEventPayloads#\"SCENE_UI.LOAD\":member",
              "docComment": "/**\n * Emitted when a SceneUI is loaded into the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIEvent.LOAD",
                  "canonicalReference": "server!SceneUIEvent.LOAD:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        sceneUI: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SCENE_UI.LOAD\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIEventPayloads#\"SCENE_UI.SET_ATTACHED_TO_ENTITY\":member",
              "docComment": "/**\n * Emitted when a SceneUI is attached to an entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIEvent.SET_ATTACHED_TO_ENTITY",
                  "canonicalReference": "server!SceneUIEvent.SET_ATTACHED_TO_ENTITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        sceneUI: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SCENE_UI.SET_ATTACHED_TO_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIEventPayloads#\"SCENE_UI.SET_OFFSET\":member",
              "docComment": "/**\n * Emitted when the offset of a SceneUI is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIEvent.SET_OFFSET",
                  "canonicalReference": "server!SceneUIEvent.SET_OFFSET:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        sceneUI: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        offset: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SCENE_UI.SET_OFFSET\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIEventPayloads#\"SCENE_UI.SET_POSITION\":member",
              "docComment": "/**\n * Emitted when the position of a SceneUI is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIEvent.SET_POSITION",
                  "canonicalReference": "server!SceneUIEvent.SET_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        sceneUI: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SCENE_UI.SET_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIEventPayloads#\"SCENE_UI.SET_STATE\":member",
              "docComment": "/**\n * Emitted when the state of a SceneUI is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIEvent.SET_STATE",
                  "canonicalReference": "server!SceneUIEvent.SET_STATE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        sceneUI: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        state: object;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SCENE_UI.SET_STATE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIEventPayloads#\"SCENE_UI.SET_VIEW_DISTANCE\":member",
              "docComment": "/**\n * Emitted when the view distance of a SceneUI is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIEvent.SET_VIEW_DISTANCE",
                  "canonicalReference": "server!SceneUIEvent.SET_VIEW_DISTANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        sceneUI: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        viewDistance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SCENE_UI.SET_VIEW_DISTANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIEventPayloads#\"SCENE_UI.UNLOAD\":member",
              "docComment": "/**\n * Emitted when a SceneUI is unloaded from the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIEvent.UNLOAD",
                  "canonicalReference": "server!SceneUIEvent.UNLOAD:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        sceneUI: "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SCENE_UI.UNLOAD\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!SceneUIManager:class",
          "docComment": "/**\n * Manages SceneUI instances in a world.\n *\n * @remarks\n *\n * The SceneUIManager is created internally as a singleton for each {@link World} instance in a game server. It allows retrieval of all loaded SceneUI instances, entity attached SceneUI instances, and more.\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `SceneUIManager` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class SceneUIManager "
            }
          ],
          "fileUrlPath": "src/world/ui/SceneUIManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "SceneUIManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUIManager#getAllEntityAttachedSceneUIs:member(1)",
              "docComment": "/**\n * Retrieves all loaded SceneUI instances attached to a specific entity.\n *\n * @param entity - The entity to get attached SceneUI instances for.\n *\n * @returns An array of SceneUI instances.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllEntityAttachedSceneUIs(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllEntityAttachedSceneUIs"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUIManager#getAllSceneUIs:member(1)",
              "docComment": "/**\n * Retrieves all loaded SceneUI instances for the world.\n *\n * @returns An array of SceneUI instances.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllSceneUIs(): "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAllSceneUIs"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUIManager#getSceneUIById:member(1)",
              "docComment": "/**\n * Retrieves a SceneUI instance by its unique identifier (id).\n *\n * @param id - The unique identifier (id) of the SceneUI to retrieve.\n *\n * @returns The SceneUI instance if found, otherwise undefined.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getSceneUIById(id: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUI",
                  "canonicalReference": "server!SceneUI:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "id",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getSceneUIById"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SceneUIManager#unloadEntityAttachedSceneUIs:member(1)",
              "docComment": "/**\n * Unloads and unregisters all SceneUI instances attached to a specific entity.\n *\n * @param entity - The entity to unload and unregister SceneUI instances for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "unloadEntityAttachedSceneUIs(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "entity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "unloadEntityAttachedSceneUIs"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SceneUIManager#world:member",
              "docComment": "/**\n * The world the SceneUIManager is for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!SceneUIOptions:interface",
          "docComment": "/**\n * Options for creating a SceneUI instance.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface SceneUIOptions "
            }
          ],
          "fileUrlPath": "src/world/ui/SceneUI.ts",
          "releaseTag": "Public",
          "name": "SceneUIOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIOptions#attachedToEntity:member",
              "docComment": "/**\n * If set, SceneUI will follow the entity's position\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "attachedToEntity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "attachedToEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIOptions#offset:member",
              "docComment": "/**\n * The offset of the SceneUI from the attached entity or position\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "offset?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "offset",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIOptions#position:member",
              "docComment": "/**\n * If set, SceneUI will be attached at this position\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "position?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "position",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIOptions#state:member",
              "docComment": "/**\n * The state of the SceneUI\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "state?: "
                },
                {
                  "kind": "Content",
                  "text": "object"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "state",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIOptions#templateId:member",
              "docComment": "/**\n * The template ID to use for this SceneUI\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "templateId: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "templateId",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SceneUIOptions#viewDistance:member",
              "docComment": "/**\n * The maximum view distance the SceneUI will be visible to the player\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "viewDistance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "viewDistance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!SimpleEntityController:class",
          "docComment": "/**\n * A simple entity controller with basic movement functions.\n *\n * @remarks\n *\n * This class implements simple movement methods that serve as a way to add realistic movement and rotational facing functionality to an entity. This is also a great base to extend for your own more complex entity controller that implements things like pathfinding. Compatible with entities that have kinematic or dynamic rigid body types.\n *\n * @example\n * ```typescript\n * // Create a custom entity controller for myEntity, prior to spawning it.\n * myEntity.setController(new SimpleEntityController());\n *\n * // Spawn the entity in the world.\n * myEntity.spawn(world, { x: 53, y: 10, z: 23 });\n *\n * // Move the entity at a speed of 4 blocks\n * // per second to the coordinate (10, 1, 10).\n * // console.log when we reach the target.\n * myEntity.controller.move({ x: 10, y: 1, z: 10 }, 4, {\n *   moveCompleteCallback: endPosition => {\n *     console.log('Finished moving to', endPosition);\n *   },\n * });\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class SimpleEntityController extends "
            },
            {
              "kind": "Reference",
              "text": "BaseEntityController",
              "canonicalReference": "server!BaseEntityController:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "SimpleEntityController",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!SimpleEntityController#face:member(1)",
              "docComment": "/**\n * Rotates the entity at a given speed to face a target coordinate.\n *\n * @remarks\n *\n * If this method is called while the entity is already attempting to face another target, the previous target will be ignored and the entity will start attempting to face the new target.\n *\n * @param target - The target coordinate to face.\n *\n * @param speed - The speed at which to rotate to the target coordinate.\n *\n * @param options - Additional options for the face operation, such as callbacks.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "face(target: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", speed: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "FaceOptions",
                  "canonicalReference": "server!FaceOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "target",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "speed",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "face"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SimpleEntityController#jump:member(1)",
              "docComment": "/**\n * Applies an upwards impulse to the entity to simulate a jump, only supported for entities with dynamic rigid body types.\n *\n * @param height - The height to jump to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jump(height: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "height",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "jump"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SimpleEntityController#move:member(1)",
              "docComment": "/**\n * Moves the entity at a given speed in a straight line to a target coordinate.\n *\n * @remarks\n *\n * If this method is called while the entity is already attempting to move to another target, the previous target will be ignored and the entity will start attempting to move to the new target.\n *\n * @param target - The target coordinate to move to.\n *\n * @param speed - The speed at which to move to the target coordinate.\n *\n * @param options - Additional options for the move operation, such as callbacks.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "move(target: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", speed: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "MoveOptions",
                  "canonicalReference": "server!MoveOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "target",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "speed",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "move"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Simulation:class",
          "docComment": "/**\n * Represents the physics simulation for a world.\n *\n * @remarks\n *\n * The simulation internally and automatically handles the physical interactions, collisions, contact forces, and events for all aspects of the world. Most methods are not often used directly, but are provided for advanced usage.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link SimulationEventPayloads}\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Simulation` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Simulation extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Simulation.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Simulation",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!Simulation#enableDebugRaycasting:member(1)",
              "docComment": "/**\n * Enables or disables debug raycasting for the simulation. This will render lines for the raycast that disappear after a few seconds.\n *\n * @param enabled - Whether to enable debug raycasting.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enableDebugRaycasting(enabled: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "enabled",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "enableDebugRaycasting"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Simulation#enableDebugRendering:member(1)",
              "docComment": "/**\n * Enables or disables debug rendering for the simulation. When enabled, all colliders and rigid body outlines will be rendered in the world. Do not enable this in production. In large worlds enabling this can cause noticable lag and RTT spikes.\n *\n * @param enabled - Whether to enable debug rendering.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enableDebugRendering(enabled: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "enabled",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "enableDebugRendering"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Simulation#getContactManifolds:member(1)",
              "docComment": "/**\n * Gets the contact manifolds for a pair of colliders.\n *\n * @remarks\n *\n * Contact manifolds will not be returned for contacts that involve sensors.\n *\n * @param colliderHandleA - The handle of the first collider.\n *\n * @param colliderHandleB - The handle of the second collider.\n *\n * @returns The contact manifolds, or an empty array if no contact.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getContactManifolds(colliderHandleA: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.ColliderHandle",
                  "canonicalReference": "@dimforge/rapier3d-compat-simd!ColliderHandle:type"
                },
                {
                  "kind": "Content",
                  "text": ", colliderHandleB: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.ColliderHandle",
                  "canonicalReference": "@dimforge/rapier3d-compat-simd!ColliderHandle:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ContactManifold",
                  "canonicalReference": "server!ContactManifold:type"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "colliderHandleA",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "colliderHandleB",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getContactManifolds"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Simulation#gravity:member",
              "docComment": "/**\n * The gravity vector for the simulation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get gravity(): "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Vector3",
                  "canonicalReference": "@dimforge/rapier3d-compat-simd!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "gravity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Simulation#isDebugRaycastingEnabled:member",
              "docComment": "/**\n * Whether the simulation has debug raycasting enabled\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isDebugRaycastingEnabled(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isDebugRaycastingEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Simulation#isDebugRenderingEnabled:member",
              "docComment": "/**\n * Whether the simulation has debug rendering enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isDebugRenderingEnabled(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isDebugRenderingEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Simulation#raycast:member(1)",
              "docComment": "/**\n * Casts a ray through the simulation.\n *\n * @remarks\n *\n * The cast ray will stop at the the first block or entity hit within the length of the ray.\n *\n * @param origin - The origin of the ray.\n *\n * @param direction - The direction of the ray.\n *\n * @param length - The length of the ray.\n *\n * @param options - The options for the raycast.\n *\n * @returns A RaycastHit object containing the first block or entity hit by the ray, or null if no hit.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "raycast(origin: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Vector3",
                  "canonicalReference": "@dimforge/rapier3d-compat-simd!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", direction: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Vector3",
                  "canonicalReference": "@dimforge/rapier3d-compat-simd!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", length: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "RaycastOptions",
                  "canonicalReference": "server!RaycastOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "RaycastHit",
                  "canonicalReference": "server!RaycastHit:type"
                },
                {
                  "kind": "Content",
                  "text": " | null"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "origin",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "direction",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "length",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "raycast"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Simulation#setGravity:member(1)",
              "docComment": "/**\n * Sets the gravity vector for the simulation.\n *\n * @param gravity - The gravity vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setGravity(gravity: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Vector3",
                  "canonicalReference": "@dimforge/rapier3d-compat-simd!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "gravity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setGravity"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Simulation#timestepS:member",
              "docComment": "/**\n * The fixed timestep for the simulation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get timestepS(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "timestepS",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Simulation#world:member",
              "docComment": "/**\n * The world the simulation is for.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!SimulationEvent:enum",
          "docComment": "/**\n * Event types a Simulation instance can emit. See {@link SimulationEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum SimulationEvent "
            }
          ],
          "fileUrlPath": "src/world/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "SimulationEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SimulationEvent.DEBUG_RAYCAST:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DEBUG_RAYCAST = "
                },
                {
                  "kind": "Content",
                  "text": "\"SIMULATION.DEBUG_RAYCAST\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DEBUG_RAYCAST"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SimulationEvent.DEBUG_RENDER:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DEBUG_RENDER = "
                },
                {
                  "kind": "Content",
                  "text": "\"SIMULATION.DEBUG_RENDER\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DEBUG_RENDER"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SimulationEvent.STEP_END:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "STEP_END = "
                },
                {
                  "kind": "Content",
                  "text": "\"SIMULATION.STEP_END\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "STEP_END"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!SimulationEvent.STEP_START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "STEP_START = "
                },
                {
                  "kind": "Content",
                  "text": "\"SIMULATION.STEP_START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "STEP_START"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!SimulationEventPayloads:interface",
          "docComment": "/**\n * Event payloads for Simulation emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface SimulationEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "SimulationEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SimulationEventPayloads#\"SIMULATION.DEBUG_RAYCAST\":member",
              "docComment": "/**\n * Emitted when a debug raycast is performed.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SimulationEvent.DEBUG_RAYCAST",
                  "canonicalReference": "server!SimulationEvent.DEBUG_RAYCAST:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        simulation: "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        origin: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n        direction: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n        length: number;\n        hit: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SIMULATION.DEBUG_RAYCAST\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SimulationEventPayloads#\"SIMULATION.DEBUG_RENDER\":member",
              "docComment": "/**\n * Emitted when the simulation debug rendering is enabled.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SimulationEvent.DEBUG_RENDER",
                  "canonicalReference": "server!SimulationEvent.DEBUG_RENDER:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        simulation: "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        vertices: "
                },
                {
                  "kind": "Reference",
                  "text": "Float32Array",
                  "canonicalReference": "!Float32Array:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colors: "
                },
                {
                  "kind": "Reference",
                  "text": "Float32Array",
                  "canonicalReference": "!Float32Array:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SIMULATION.DEBUG_RENDER\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SimulationEventPayloads#\"SIMULATION.STEP_END\":member",
              "docComment": "/**\n * Emitted when the simulation step ends.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SimulationEvent.STEP_END",
                  "canonicalReference": "server!SimulationEvent.STEP_END:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        simulation: "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        stepDurationMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SIMULATION.STEP_END\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!SimulationEventPayloads#\"SIMULATION.STEP_START\":member",
              "docComment": "/**\n * Emitted when the simulation step starts.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "SimulationEvent.STEP_START",
                  "canonicalReference": "server!SimulationEvent.STEP_START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        simulation: "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        tickDeltaMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"SIMULATION.STEP_START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!SpdMatrix3:interface",
          "docComment": "/**\n * A 3x3 symmetric positive-definite matrix for spatial dynamics.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface SpdMatrix3 extends "
            },
            {
              "kind": "Reference",
              "text": "RapierSdpMatrix3",
              "canonicalReference": "@dimforge/rapier3d-compat-simd!SdpMatrix3:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/shared/types/math/SpdMatrix3.ts",
          "releaseTag": "Public",
          "name": "SpdMatrix3",
          "preserveMemberOrder": false,
          "members": [],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Function",
          "canonicalReference": "server!startServer:function(1)",
          "docComment": "/**\n * The entry point for running game setup and starting the game server.\n *\n * @remarks\n *\n * This function should always be called first when initializing your game. It will internally handle initialization of the physics engine and other systems required systems. All of your game setup logic should be executed in the init function.\n *\n * @param init - A function that initializes the world.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function startServer(init: "
            },
            {
              "kind": "Content",
              "text": "(world: "
            },
            {
              "kind": "Reference",
              "text": "World",
              "canonicalReference": "server!World:class"
            },
            {
              "kind": "Content",
              "text": ") => void"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/GameServer.ts",
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "init",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "isOptional": false
            }
          ],
          "name": "startServer"
        },
        {
          "kind": "Variable",
          "canonicalReference": "server!SUPPORTED_INPUT_KEYS:var",
          "docComment": "/**\n * The input keys that are included in the PlayerInput.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "SUPPORTED_INPUT_KEYS: "
            },
            {
              "kind": "Content",
              "text": "readonly [\"w\", \"a\", \"s\", \"d\", \"sp\", \"sh\", \"tb\", \"ml\", \"mr\", \"q\", \"e\", \"r\", \"f\", \"z\", \"x\", \"c\", \"v\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"0\"]"
            }
          ],
          "fileUrlPath": "src/players/Player.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "SUPPORTED_INPUT_KEYS",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!TrimeshColliderOptions:interface",
          "docComment": "/**\n * The options for a trimesh collider.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface TrimeshColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "TrimeshColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!TrimeshColliderOptions#indices:member",
              "docComment": "/**\n * The indices of the trimesh collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "indices?: "
                },
                {
                  "kind": "Reference",
                  "text": "Uint32Array",
                  "canonicalReference": "!Uint32Array:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "indices",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!TrimeshColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.TRIMESH",
                  "canonicalReference": "server!ColliderShape.TRIMESH:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!TrimeshColliderOptions#vertices:member",
              "docComment": "/**\n * The vertices of the trimesh collider.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "vertices?: "
                },
                {
                  "kind": "Reference",
                  "text": "Float32Array",
                  "canonicalReference": "!Float32Array:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "vertices",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Vector2:class",
          "docComment": "/**\n * Represents a 2D vector.\n *\n * @remarks\n *\n * All vector methods result in mutation of the vector instance. This class extends `Float32Array` to provide an efficient way to create and manipulate a 2-dimensional vector. Various convenience methods are provided for common vector operations.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Vector2 extends "
            },
            {
              "kind": "Reference",
              "text": "Float32Array",
              "canonicalReference": "!Float32Array:interface"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Vector2Like",
              "canonicalReference": "server!Vector2Like:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/shared/classes/Vector2.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Vector2",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Vector2:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Vector2` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(x: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", y: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "x",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "y",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#add:member(1)",
              "docComment": "/**\n * Adds a vector to the current vector.\n *\n * @param vector2 - The vector to add to the current vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "add(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "add"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#angle:member(1)",
              "docComment": "/**\n * Returns the angle between two vectors.\n *\n * @param vector2 - The vector to compare to the current vector.\n *\n * @returns The angle between the two vectors.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "angle(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "angle"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#ceil:member(1)",
              "docComment": "/**\n * Rounds each component of the vector up to the nearest integer.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ceil(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "ceil"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#clone:member(1)",
              "docComment": "/**\n * Returns a new vector with the same components as the current vector.\n *\n * @returns A new `Vector2` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clone(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "clone"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#copy:member(1)",
              "docComment": "/**\n * Copies the components of a vector to the current vector.\n *\n * @param vector2 - The vector to copy the components from.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "copy(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "copy"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2.create:member(1)",
              "docComment": "/**\n * Creates a new `Vector2` instance.\n *\n * @returns A new `Vector2` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static create(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "create"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#distance:member(1)",
              "docComment": "/**\n * Calculates the distance between the current vector and another vector.\n *\n * @param vector2 - The vector to calculate the distance to.\n *\n * @returns The distance between the two vectors.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "distance(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "distance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#divide:member(1)",
              "docComment": "/**\n * Divides the current vector by another vector.\n *\n * @param vector2 - The vector to divide the current vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "divide(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "divide"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#dot:member(1)",
              "docComment": "/**\n * Calculates the dot product of the current vector and another vector.\n *\n * @param vector2 - The vector to calculate the dot product with.\n *\n * @returns The dot product of the two vectors.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "dot(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "dot"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#equals:member(1)",
              "docComment": "/**\n * Checks if the current vector is approximately equal to another vector.\n *\n * @param vector2 - The vector to compare to the current vector.\n *\n * @returns `true` if the two vectors are equal, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "equals(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "equals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#exactEquals:member(1)",
              "docComment": "/**\n * Checks if the current vector is exactly equal to another vector.\n *\n * @param vector2 - The vector to compare to the current vector.\n *\n * @returns `true` if the two vectors are equal, `false` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "exactEquals(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "exactEquals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#floor:member(1)",
              "docComment": "/**\n * Rounds each component of the vector down to the nearest integer.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "floor(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "floor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#invert:member(1)",
              "docComment": "/**\n * Inverts the components of the current vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invert(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "invert"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector2#length:member",
              "docComment": "/**\n * The length of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get length(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "length",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#lerp:member(1)",
              "docComment": "/**\n * Linearly interpolates between the current vector and another vector.\n *\n * @param vector2 - The vector to interpolate to.\n *\n * @param t - The interpolation factor. A value between 0 and 1.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lerp(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ", t: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "t",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "lerp"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector2#magnitude:member",
              "docComment": "/**\n * The magnitude of the vector. Alias for `length`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get magnitude(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "magnitude",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#max:member(1)",
              "docComment": "/**\n * Sets each component of the vector to the maximum of the current vector and another vector.\n *\n * @param vector2 - The vector to compare to the current vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "max(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "max"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#min:member(1)",
              "docComment": "/**\n * Sets each component of the vector to the minimum of the current vector and another vector.\n *\n * @param vector2 - The vector to compare to the current vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "min(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "min"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#multiply:member(1)",
              "docComment": "/**\n * Multiplies each component of the current vector by the corresponding component of another vector.\n *\n * @param vector2 - The vector to multiply the current vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiply(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiply"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#negate:member(1)",
              "docComment": "/**\n * Negates each component of the vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "negate(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "negate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#normalize:member(1)",
              "docComment": "/**\n * Normalizes the current vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "normalize(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "normalize"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#randomize:member(1)",
              "docComment": "/**\n * Randomizes the components of the current vector.\n *\n * @param scale - The scale of the resulting vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "randomize(scale?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "randomize"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#rotate:member(1)",
              "docComment": "/**\n * Rotates the current vector around an origin.\n *\n * @param vector2 - The vector to rotate around.\n *\n * @param angle - The angle to rotate the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotate(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ", angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#round:member(1)",
              "docComment": "/**\n * Rounds each component of the vector to the nearest integer.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "round(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "round"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#scale:member(1)",
              "docComment": "/**\n * Scales the current vector by a scalar value.\n *\n * @param scale - The scalar value to scale the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "scale(scale: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "scale"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#scaleAndAdd:member(1)",
              "docComment": "/**\n * Scales the current vector by a scalar value and adds the result to another vector.\n *\n * @param vector2 - The vector to add the scaled vector to.\n *\n * @param scale - The scalar value to scale the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "scaleAndAdd(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ", scale: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "scaleAndAdd"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector2#squaredLength:member",
              "docComment": "/**\n * The squared length of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get squaredLength(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "squaredLength",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector2#squaredMagnitude:member",
              "docComment": "/**\n * The squared magnitude of the vector. Alias for `squaredLength`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get squaredMagnitude(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "squaredMagnitude",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#subtract:member(1)",
              "docComment": "/**\n * Subtracts a vector from the current vector.\n *\n * @param vector2 - The vector to subtract from the current vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "subtract(vector2: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "subtract"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#toString:member(1)",
              "docComment": "/**\n * Returns a string representation of the vector in x,y format.\n *\n * @returns A string representation of the vector in the format x,y.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#transformMatrix2:member(1)",
              "docComment": "/**\n * Transforms the current vector by a matrix2.\n *\n * @param matrix2 - The matrix2 to transform the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transformMatrix2(matrix2: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix2",
                  "canonicalReference": "server!Matrix2:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix2",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "transformMatrix2"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#transformMatrix3:member(1)",
              "docComment": "/**\n * Transforms the current vector by a matrix3.\n *\n * @param matrix3 - The matrix3 to transform the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transformMatrix3(matrix3: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "transformMatrix3"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#transformMatrix4:member(1)",
              "docComment": "/**\n * Transforms the current vector by a matrix4.\n *\n * @param matrix4 - The matrix4 to transform the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transformMatrix4(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "transformMatrix4"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector2#x:member",
              "docComment": "/**\n * The x-component of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get x(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset x(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "x",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector2#y:member",
              "docComment": "/**\n * The y-component of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get y(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset y(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "y",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector2#zero:member(1)",
              "docComment": "/**\n * Sets each component of the vector to zero.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "zero(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector2",
                  "canonicalReference": "server!Vector2:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "zero"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!Vector2Boolean:interface",
          "docComment": "/**\n * A 2-dimensional vector of boolean values.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface Vector2Boolean "
            }
          ],
          "fileUrlPath": "src/shared/types/math/Vector2Boolean.ts",
          "releaseTag": "Public",
          "name": "Vector2Boolean",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector2Boolean#x:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "x: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "x",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector2Boolean#y:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "y: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "y",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!Vector2Like:interface",
          "docComment": "/**\n * A 2-dimensional vector.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface Vector2Like "
            }
          ],
          "fileUrlPath": "src/shared/types/math/Vector2Like.ts",
          "releaseTag": "Public",
          "name": "Vector2Like",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector2Like#x:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "x: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "x",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector2Like#y:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "y: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "y",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Vector3:class",
          "docComment": "/**\n * Represents a 3-dimensional vector.\n *\n * @remarks\n *\n * All vector methods result in mutation of the vector instance. This class extends `Float32Array` to provide an efficient way to create and manipulate a 3-dimensional vector. Various convenience methods are provided for common vector operations.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Vector3 extends "
            },
            {
              "kind": "Reference",
              "text": "Float32Array",
              "canonicalReference": "!Float32Array:interface"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/shared/classes/Vector3.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Vector3",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Vector3:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Vector3` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(x: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", y: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ", z: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "x",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "y",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "z",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#add:member(1)",
              "docComment": "/**\n * Adds a vector to the current vector.\n *\n * @param vector3 - The vector to add to the current vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "add(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "add"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#ceil:member(1)",
              "docComment": "/**\n * Rounds each component of the vector up to the nearest integer.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ceil(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "ceil"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#clone:member(1)",
              "docComment": "/**\n * Returns a new vector with the same components as the current vector.\n *\n * @returns A new vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clone(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "clone"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#copy:member(1)",
              "docComment": "/**\n * Copies the components of a vector to the current vector.\n *\n * @param vector3 - The vector to copy the components from.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "copy(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "copy"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3.create:member(1)",
              "docComment": "/**\n * Creates a new `Vector3` instance.\n *\n * @returns A new `Vector3` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static create(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "create"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#cross:member(1)",
              "docComment": "/**\n * Calculates the cross product of the current vector and another vector.\n *\n * @param vector3 - The vector to calculate the cross product with.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "cross(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "cross"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#distance:member(1)",
              "docComment": "/**\n * Calculates the distance between the current vector and another vector.\n *\n * @param vector3 - The vector to calculate the distance to.\n *\n * @returns The distance between the two vectors.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "distance(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "distance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#divide:member(1)",
              "docComment": "/**\n * Divides each component of the current vector by the corresponding component of another vector.\n *\n * @param vector3 - The vector to divide the current vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "divide(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "divide"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#dot:member(1)",
              "docComment": "/**\n * Returns the dot product of this vector and another vector.\n *\n * @param vector3 - the other vector\n *\n * @returns the dot product of this and vector3\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "dot(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "dot"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#equals:member(1)",
              "docComment": "/**\n * Checks if the current vector is approximately equal to another vector.\n *\n * @param vector3 - The vector to compare to.\n *\n * @returns A boolean indicating whether the two vectors are approximately equal.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "equals(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "equals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#exactEquals:member(1)",
              "docComment": "/**\n * Checks if the current vector is exactly equal to another vector.\n *\n * @param vector3 - The vector to compare to.\n *\n * @returns A boolean indicating whether the two vectors are exactly equal.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "exactEquals(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "exactEquals"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#floor:member(1)",
              "docComment": "/**\n * Rounds each component of the vector down to the nearest integer.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "floor(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "floor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3.fromVector3Like:member(1)",
              "docComment": "/**\n * Creates a new `Vector3` instance from a `Vector3Like` object.\n *\n * @param vector3Like - The `Vector3Like` object to create the `Vector3` instance from.\n *\n * @returns A new `Vector3` instance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static fromVector3Like(vector3Like: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3Like",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "fromVector3Like"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#invert:member(1)",
              "docComment": "/**\n * Inverts each component of the vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "invert(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "invert"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector3#length:member",
              "docComment": "/**\n * The length of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get length(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "length",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#lerp:member(1)",
              "docComment": "/**\n * Linearly interpolates between the current vector and another vector.\n *\n * @param vector3 - The vector to interpolate to.\n *\n * @param t - The interpolation factor. A value between 0 and 1.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lerp(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", t: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "t",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "lerp"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector3#magnitude:member",
              "docComment": "/**\n * The magnitude of the vector. Alias for `length`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get magnitude(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "magnitude",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#max:member(1)",
              "docComment": "/**\n * Sets each component of the vector to the maximum of the current vector and another vector.\n *\n * @param vector3 - The vector to compare to.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "max(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "max"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#min:member(1)",
              "docComment": "/**\n * Sets each component of the vector to the minimum of the current vector and another vector.\n *\n * @param vector3 - The vector to compare to.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "min(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "min"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#multiply:member(1)",
              "docComment": "/**\n * Multiplies each component of the current vector by the corresponding component of another vector.\n *\n * @param vector3 - The vector to multiply the current vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "multiply(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "multiply"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#negate:member(1)",
              "docComment": "/**\n * Negates each component of the vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "negate(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "negate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#normalize:member(1)",
              "docComment": "/**\n * Normalizes the vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "normalize(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "normalize"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#randomize:member(1)",
              "docComment": "/**\n * Randomizes the vector.\n *\n * @param scale - Length of the resulting vector, if omitted a unit vector is set.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "randomize(scale?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "randomize"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#rotateX:member(1)",
              "docComment": "/**\n * Rotates the vector around the x-axis.\n *\n * @param vector3 - The origin vector to rotate around.\n *\n * @param angle - The angle to rotate the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateX(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateX"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#rotateY:member(1)",
              "docComment": "/**\n * Rotates the vector around the y-axis.\n *\n * @param vector3 - The origin vector to rotate around.\n *\n * @param angle - The angle to rotate the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateY(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateY"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#rotateZ:member(1)",
              "docComment": "/**\n * Rotates the vector around the z-axis.\n *\n * @param vector3 - The origin vector to rotate around.\n *\n * @param angle - The angle to rotate the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotateZ(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", angle: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "angle",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "rotateZ"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#round:member(1)",
              "docComment": "/**\n * Rounds each component of the vector to the nearest integer.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "round(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "round"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#scale:member(1)",
              "docComment": "/**\n * Scales each component of the vector by a scalar value.\n *\n * @param scale - The scalar value to scale the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "scale(scale: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "scale"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#scaleAndAdd:member(1)",
              "docComment": "/**\n * Adds 2 vectors together after scaling the provided vector by a scalar value.\n *\n * @param vector3 - The vector to add the scaled vector to.\n *\n * @param scale - The scalar value to scale the current vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "scaleAndAdd(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", scale: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "scaleAndAdd"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector3#squaredLength:member",
              "docComment": "/**\n * The squared length of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get squaredLength(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "squaredLength",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector3#squaredMagnitude:member",
              "docComment": "/**\n * The squared magnitude of the vector. Alias for `squaredLength`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get squaredMagnitude(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "squaredMagnitude",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#subtract:member(1)",
              "docComment": "/**\n * Subtracts a vector from the current vector.\n *\n * @param vector3 - The vector to subtract from the current vector.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "subtract(vector3: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "vector3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "subtract"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#toString:member(1)",
              "docComment": "/**\n * Returns a string representation of the vector in x,y,z format.\n *\n * @returns A string representation of the vector in the format x,y,z.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#transformMatrix3:member(1)",
              "docComment": "/**\n * Transforms the vector by a matrix3.\n *\n * @param matrix3 - The matrix3 to transform the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transformMatrix3(matrix3: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix3",
                  "canonicalReference": "server!Matrix3:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix3",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "transformMatrix3"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#transformMatrix4:member(1)",
              "docComment": "/**\n * Transforms the vector by a matrix4.\n *\n * @param matrix4 - The matrix4 to transform the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transformMatrix4(matrix4: "
                },
                {
                  "kind": "Reference",
                  "text": "Matrix4",
                  "canonicalReference": "server!Matrix4:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "matrix4",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "transformMatrix4"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#transformQuaternion:member(1)",
              "docComment": "/**\n * Transforms the vector by a quaternion.\n *\n * @param quaternion - The quaternion to transform the vector by.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transformQuaternion(quaternion: "
                },
                {
                  "kind": "Reference",
                  "text": "Quaternion",
                  "canonicalReference": "server!Quaternion:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "quaternion",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "transformQuaternion"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector3#x:member",
              "docComment": "/**\n * The x-component of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get x(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset x(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "x",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector3#y:member",
              "docComment": "/**\n * The y-component of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get y(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset y(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "y",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Vector3#z:member",
              "docComment": "/**\n * The z-component of the vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get z(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";\n\nset z(value: number);"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "z",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Vector3#zero:member(1)",
              "docComment": "/**\n * Sets each component of the vector to zero.\n *\n * @returns The current vector.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "zero(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3",
                  "canonicalReference": "server!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "zero"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!Vector3Boolean:interface",
          "docComment": "/**\n * A 3-dimensional vector of boolean values.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface Vector3Boolean "
            }
          ],
          "fileUrlPath": "src/shared/types/math/Vector3Boolean.ts",
          "releaseTag": "Public",
          "name": "Vector3Boolean",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector3Boolean#x:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "x: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "x",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector3Boolean#y:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "y: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "y",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector3Boolean#z:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "z: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "z",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!Vector3Like:interface",
          "docComment": "/**\n * A 3-dimensional vector.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface Vector3Like "
            }
          ],
          "fileUrlPath": "src/shared/types/math/Vector3Like.ts",
          "releaseTag": "Public",
          "name": "Vector3Like",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector3Like#x:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "x: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "x",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector3Like#y:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "y: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "y",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Vector3Like#z:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "z: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "z",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!WaypointMoveCompleteCallback:type",
          "docComment": "/**\n * A callback function called when the entity associated with the PathfindingEntityController finishes moving to a calculate waypoint of its current path.\n *\n * @param waypoint - The waypoint that the entity has finished moving to.\n *\n * @param waypointIndex - The index of the waypoint that the entity has finished moving to.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type WaypointMoveCompleteCallback = "
            },
            {
              "kind": "Content",
              "text": "(waypoint: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ", waypointIndex: number) => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "name": "WaypointMoveCompleteCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!WaypointMoveSkippedCallback:type",
          "docComment": "/**\n * A callback function called when the entity associated with the PathfindingEntityController skips a waypoint because it took too long to reach.\n *\n * @param waypoint - The waypoint that the entity skipped.\n *\n * @param waypointIndex - The index of the waypoint that the entity skipped.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type WaypointMoveSkippedCallback = "
            },
            {
              "kind": "Content",
              "text": "(waypoint: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ", waypointIndex: number) => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/world/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "name": "WaypointMoveSkippedCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!World:class",
          "docComment": "/**\n * Represents a world in the game server.\n *\n * @remarks\n *\n * Worlds are the primary container for game objects and interactions. A game can have multiple worlds running simultaneously, each uniquely isolated from each other. Players who have joined your server can be assigned to a world programmatically by your game logic if desired. This is useful for things like mini-games, or complex dungeons with multiple floors that can be optimized by splitting them into seperate world or \"room\" simulations, etc. In most cases, the single automatically created default world is all you need, but this flexibility is available for more complex games.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link WorldEventPayloads}\n *\n * @example\n * ```typescript\n * const world = new World({\n *   id: 1,\n *   name: 'My World',\n *   skyboxUri: 'skyboxes/partly-cloudy',\n * });\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class World extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/World.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "World",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!World:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `World` class\n *\n * @param options - The options for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldOptions",
                  "canonicalReference": "server!WorldOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#ambientLightColor:member",
              "docComment": "/**\n * The color of the ambient light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get ambientLightColor(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "ambientLightColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#ambientLightIntensity:member",
              "docComment": "/**\n * The intensity of the ambient light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get ambientLightIntensity(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "ambientLightIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#audioManager:member",
              "docComment": "/**\n * The audio manager for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get audioManager(): "
                },
                {
                  "kind": "Reference",
                  "text": "AudioManager",
                  "canonicalReference": "server!AudioManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "audioManager",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#blockTypeRegistry:member",
              "docComment": "/**\n * The block type registry for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get blockTypeRegistry(): "
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeRegistry",
                  "canonicalReference": "server!BlockTypeRegistry:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "blockTypeRegistry",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#chatManager:member",
              "docComment": "/**\n * The chat manager for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get chatManager(): "
                },
                {
                  "kind": "Reference",
                  "text": "ChatManager",
                  "canonicalReference": "server!ChatManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "chatManager",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#chunkLattice:member",
              "docComment": "/**\n * The chunk lattice for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get chunkLattice(): "
                },
                {
                  "kind": "Reference",
                  "text": "ChunkLattice",
                  "canonicalReference": "server!ChunkLattice:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "chunkLattice",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#directionalLightColor:member",
              "docComment": "/**\n * The color of the directional light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get directionalLightColor(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "directionalLightColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#directionalLightIntensity:member",
              "docComment": "/**\n * The intensity of the directional light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get directionalLightIntensity(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "directionalLightIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#directionalLightPosition:member",
              "docComment": "/**\n * The position the directional light originates from.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get directionalLightPosition(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "directionalLightPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#entityManager:member",
              "docComment": "/**\n * The entity manager for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get entityManager(): "
                },
                {
                  "kind": "Reference",
                  "text": "EntityManager",
                  "canonicalReference": "server!EntityManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "entityManager",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#id:member",
              "docComment": "/**\n * The unique ID of the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get id(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#lightManager:member",
              "docComment": "/**\n * The light manager for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get lightManager(): "
                },
                {
                  "kind": "Reference",
                  "text": "LightManager",
                  "canonicalReference": "server!LightManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "lightManager",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#loadMap:member(1)",
              "docComment": "/**\n * Loads a map into the world.\n *\n * @param map - The map to load.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "loadMap(map: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldMap",
                  "canonicalReference": "server!WorldMap:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "map",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "loadMap"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#loop:member",
              "docComment": "/**\n * The world loop for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get loop(): "
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoop",
                  "canonicalReference": "server!WorldLoop:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "loop",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#name:member",
              "docComment": "/**\n * The name of the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get name(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#sceneUIManager:member",
              "docComment": "/**\n * The scene UI manager for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get sceneUIManager(): "
                },
                {
                  "kind": "Reference",
                  "text": "SceneUIManager",
                  "canonicalReference": "server!SceneUIManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "sceneUIManager",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setAmbientLightColor:member(1)",
              "docComment": "/**\n * Sets the color of the world's ambient light.\n *\n * @param color - The color of the light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAmbientLightColor(color: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "color",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAmbientLightColor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setAmbientLightIntensity:member(1)",
              "docComment": "/**\n * Sets the intensity of the world's ambient light.\n *\n * @param intensity - The intensity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAmbientLightIntensity(intensity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "intensity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAmbientLightIntensity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setDirectionalLightColor:member(1)",
              "docComment": "/**\n * Sets the color of the world's directional light.\n *\n * @param color - The color of the light.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setDirectionalLightColor(color: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "color",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setDirectionalLightColor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setDirectionalLightIntensity:member(1)",
              "docComment": "/**\n * Sets the intensity of the world's directional light.\n *\n * @param intensity - The intensity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setDirectionalLightIntensity(intensity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "intensity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setDirectionalLightIntensity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setDirectionalLightPosition:member(1)",
              "docComment": "/**\n * Sets the position the world's directional light originates from.\n *\n * @param position - The position in the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setDirectionalLightPosition(position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setDirectionalLightPosition"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#simulation:member",
              "docComment": "/**\n * The simulation for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get simulation(): "
                },
                {
                  "kind": "Reference",
                  "text": "Simulation",
                  "canonicalReference": "server!Simulation:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "simulation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#skyboxUri:member",
              "docComment": "/**\n * The URI of the skybox cubemap for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get skyboxUri(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "skyboxUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#start:member(1)",
              "docComment": "/**\n * Starts the world loop, which begins ticking physics, entities, etc.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "start(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "start"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#stop:member(1)",
              "docComment": "/**\n * Stops the world loop, which stops ticking physics, entities, etc.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stop(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "stop"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!WorldEvent:enum",
          "docComment": "/**\n * Event types a World instance can emit. See {@link WorldEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum WorldEvent "
            }
          ],
          "fileUrlPath": "src/world/World.ts",
          "releaseTag": "Public",
          "name": "WorldEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_AMBIENT_LIGHT_COLOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_AMBIENT_LIGHT_COLOR = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_AMBIENT_LIGHT_COLOR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_AMBIENT_LIGHT_COLOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_AMBIENT_LIGHT_INTENSITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_AMBIENT_LIGHT_INTENSITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_AMBIENT_LIGHT_INTENSITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_AMBIENT_LIGHT_INTENSITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_DIRECTIONAL_LIGHT_COLOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_DIRECTIONAL_LIGHT_COLOR = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_DIRECTIONAL_LIGHT_COLOR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_DIRECTIONAL_LIGHT_COLOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_DIRECTIONAL_LIGHT_INTENSITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_DIRECTIONAL_LIGHT_INTENSITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_DIRECTIONAL_LIGHT_INTENSITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_DIRECTIONAL_LIGHT_INTENSITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_DIRECTIONAL_LIGHT_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_DIRECTIONAL_LIGHT_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_DIRECTIONAL_LIGHT_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_DIRECTIONAL_LIGHT_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "START = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "START"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.STOP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "STOP = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.STOP\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "STOP"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!WorldEventPayloads:interface",
          "docComment": "/**\n * Event payloads for World emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/World.ts",
          "releaseTag": "Public",
          "name": "WorldEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_AMBIENT_LIGHT_COLOR\":member",
              "docComment": "/**\n * Emitted when the color of the world's ambient light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_AMBIENT_LIGHT_COLOR",
                  "canonicalReference": "server!WorldEvent.SET_AMBIENT_LIGHT_COLOR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        color: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.SET_AMBIENT_LIGHT_COLOR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_AMBIENT_LIGHT_INTENSITY\":member",
              "docComment": "/**\n * Emitted when the intensity of the world's ambient light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_AMBIENT_LIGHT_INTENSITY",
                  "canonicalReference": "server!WorldEvent.SET_AMBIENT_LIGHT_INTENSITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        intensity: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.SET_AMBIENT_LIGHT_INTENSITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_DIRECTIONAL_LIGHT_COLOR\":member",
              "docComment": "/**\n * Emitted when the color of the world's directional light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_DIRECTIONAL_LIGHT_COLOR",
                  "canonicalReference": "server!WorldEvent.SET_DIRECTIONAL_LIGHT_COLOR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        color: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.SET_DIRECTIONAL_LIGHT_COLOR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_DIRECTIONAL_LIGHT_INTENSITY\":member",
              "docComment": "/**\n * Emitted when the intensity of the world's directional light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_DIRECTIONAL_LIGHT_INTENSITY",
                  "canonicalReference": "server!WorldEvent.SET_DIRECTIONAL_LIGHT_INTENSITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        intensity: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.SET_DIRECTIONAL_LIGHT_INTENSITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_DIRECTIONAL_LIGHT_POSITION\":member",
              "docComment": "/**\n * Emitted when the position of the world's directional light is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_DIRECTIONAL_LIGHT_POSITION",
                  "canonicalReference": "server!WorldEvent.SET_DIRECTIONAL_LIGHT_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        position: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.SET_DIRECTIONAL_LIGHT_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.START\":member",
              "docComment": "/**\n * Emitted when the world starts.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.START",
                  "canonicalReference": "server!WorldEvent.START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        startedAtMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.STOP\":member",
              "docComment": "/**\n * Emitted when the world stops.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.STOP",
                  "canonicalReference": "server!WorldEvent.STOP:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        stoppedAtMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.STOP\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!WorldLoop:class",
          "docComment": "/**\n * Manages the tick loop for a world.\n *\n * @remarks\n *\n * The world loop automatically handles ticking physics, entities, and other world logic.\n *\n * The internal order of tick operations is as follows:\n *\n * 1. Update chunks and meshing\n *\n * 2. Tick entity logic\n *\n * 3. Step physics\n *\n * 4. Check and emit entity updates\n *\n * 5. Synchronize network packets with player clients\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under {@link WorldLoopEventPayloads}\n *\n * The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `WorldLoop` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class WorldLoop extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/world/WorldLoop.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "WorldLoop",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!WorldLoop#currentTick:member",
              "docComment": "/**\n * The current tick of the world loop.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get currentTick(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "currentTick",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!WorldLoop#nextTickMs:member",
              "docComment": "/**\n * The next tick time in milliseconds.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get nextTickMs(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "nextTickMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!WorldLoop#timestepS:member",
              "docComment": "/**\n * The fixed timestep of the world loop in seconds.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get timestepS(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "timestepS",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!WorldLoop#world:member",
              "docComment": "/**\n * The world that the loop manages.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get world(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "world",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!WorldLoopEvent:enum",
          "docComment": "/**\n * Event types a WorldLoop instance can emit. See {@link WorldLoopEventPayloads} for the payloads.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum WorldLoopEvent "
            }
          ],
          "fileUrlPath": "src/world/WorldLoop.ts",
          "releaseTag": "Public",
          "name": "WorldLoopEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldLoopEvent.START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "START = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD_LOOP.START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "START"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldLoopEvent.STOP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "STOP = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD_LOOP.STOP\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "STOP"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldLoopEvent.TICK_END:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "TICK_END = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD_LOOP.TICK_END\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "TICK_END"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldLoopEvent.TICK_ERROR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "TICK_ERROR = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD_LOOP.TICK_ERROR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "TICK_ERROR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldLoopEvent.TICK_START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "TICK_START = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD_LOOP.TICK_START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "TICK_START"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!WorldLoopEventPayloads:interface",
          "docComment": "/**\n * Event payloads for WorldLoop emitted events.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldLoopEventPayloads "
            }
          ],
          "fileUrlPath": "src/world/WorldLoop.ts",
          "releaseTag": "Public",
          "name": "WorldLoopEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldLoopEventPayloads#\"WORLD_LOOP.START\":member",
              "docComment": "/**\n * Emitted when the world loop starts.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoopEvent.START",
                  "canonicalReference": "server!WorldLoopEvent.START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        worldLoop: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoop",
                  "canonicalReference": "server!WorldLoop:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD_LOOP.START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldLoopEventPayloads#\"WORLD_LOOP.STOP\":member",
              "docComment": "/**\n * Emitted when the world loop stops.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoopEvent.STOP",
                  "canonicalReference": "server!WorldLoopEvent.STOP:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        worldLoop: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoop",
                  "canonicalReference": "server!WorldLoop:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD_LOOP.STOP\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldLoopEventPayloads#\"WORLD_LOOP.TICK_END\":member",
              "docComment": "/**\n * Emitted when the world loop tick ends.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoopEvent.TICK_END",
                  "canonicalReference": "server!WorldLoopEvent.TICK_END:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        worldLoop: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoop",
                  "canonicalReference": "server!WorldLoop:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        tickDurationMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD_LOOP.TICK_END\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldLoopEventPayloads#\"WORLD_LOOP.TICK_ERROR\":member",
              "docComment": "/**\n * Emitted when an error occurs during a world loop tick.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoopEvent.TICK_ERROR",
                  "canonicalReference": "server!WorldLoopEvent.TICK_ERROR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        worldLoop: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoop",
                  "canonicalReference": "server!WorldLoop:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        error: "
                },
                {
                  "kind": "Reference",
                  "text": "Error",
                  "canonicalReference": "!Error:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD_LOOP.TICK_ERROR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldLoopEventPayloads#\"WORLD_LOOP.TICK_START\":member",
              "docComment": "/**\n * Emitted when the world loop tick starts.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoopEvent.TICK_START",
                  "canonicalReference": "server!WorldLoopEvent.TICK_START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        worldLoop: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldLoop",
                  "canonicalReference": "server!WorldLoop:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        tickDeltaMs: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD_LOOP.TICK_START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!WorldMap:interface",
          "docComment": "/**\n * A map representation for a world.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldMap "
            }
          ],
          "fileUrlPath": "src/world/World.ts",
          "releaseTag": "Public",
          "name": "WorldMap",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldMap#blocks:member",
              "docComment": "/**\n * The blocks in the map\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "blocks?: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        [coordinate: string]: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "blocks",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldMap#blockTypes:member",
              "docComment": "/**\n * The block types in the map.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "blockTypes?: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeOptions",
                  "canonicalReference": "server!BlockTypeOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "blockTypes",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldMap#entities:member",
              "docComment": "/**\n * The entities in the map.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "entities?: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        [position: string]: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityOptions",
                  "canonicalReference": "server!EntityOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "entities",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!WorldOptions:interface",
          "docComment": "/**\n * Options for creating a World instance.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldOptions "
            }
          ],
          "fileUrlPath": "src/world/World.ts",
          "releaseTag": "Public",
          "name": "WorldOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#ambientLightColor:member",
              "docComment": "/**\n * The color of the ambient light for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ambientLightColor?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "ambientLightColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#ambientLightIntensity:member",
              "docComment": "/**\n * The intensity of the ambient light for the world. 0 to 1+\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ambientLightIntensity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "ambientLightIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#directionalLightColor:member",
              "docComment": "/**\n * The color of the directional light for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "directionalLightColor?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "directionalLightColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#directionalLightIntensity:member",
              "docComment": "/**\n * The intensity of the directional light for the world. 0 to 1+\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "directionalLightIntensity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "directionalLightIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#directionalLightPosition:member",
              "docComment": "/**\n * The position the directional light originates from for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "directionalLightPosition?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "directionalLightPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#gravity:member",
              "docComment": "/**\n * The gravity vector for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "gravity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "gravity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#id:member",
              "docComment": "/**\n * The unique ID of the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "id: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "id",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#name:member",
              "docComment": "/**\n * The name of the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#skyboxUri:member",
              "docComment": "/**\n * The URI of the skybox cubemap for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "skyboxUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "skyboxUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#tickRate:member",
              "docComment": "/**\n * The tick rate for the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tickRate?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "tickRate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        }
      ]
    }
  ]
}
