{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.52.5",
    "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!AssetsLibrary:class",
          "docComment": "/**\n * Manages the assets library and synchronization of assets to the local assets directory in development.\n *\n * When to use: pulling assets from the shared library during local development. Do NOT use for: production asset loading; the library is disabled in production.\n *\n * @remarks\n *\n * The AssetsLibrary is created internally as a global singleton accessible via `AssetsLibrary.instance`.\n *\n * Assets automatically sync to local assets in development mode the first time an asset in the library is requested by the client. You generally do not need to call `AssetsLibrary.syncAsset` unless you have a specific reason to.\n *\n * @example\n * ```typescript\n * import { AssetsLibrary } from 'hytopia';\n *\n * const assetsLibrary = AssetsLibrary.instance;\n * assetsLibrary.syncAsset('assets/models/player.gltf');\n * ```\n *\n * **Category:** Assets\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class AssetsLibrary "
            }
          ],
          "fileUrlPath": "src/assets/AssetsLibrary.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "AssetsLibrary",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!AssetsLibrary.assetsLibraryPath:member",
              "docComment": "/**\n * The path to the assets library package. Null if assets library is not available.\n *\n * **Category:** Assets\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static readonly assetsLibraryPath: "
                },
                {
                  "kind": "Content",
                  "text": "string | null"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "assetsLibraryPath",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": true,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!AssetsLibrary.instance:member",
              "docComment": "/**\n * The global AssetsLibrary instance as a singleton.\n *\n * **Category:** Assets\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static readonly instance: "
                },
                {
                  "kind": "Reference",
                  "text": "AssetsLibrary",
                  "canonicalReference": "server!AssetsLibrary: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!AssetsLibrary#syncAsset:member(1)",
              "docComment": "/**\n * Synchronizes an asset from the assets library to the local assets directory.\n *\n * @remarks\n *\n * Syncs an asset from the assets library to local assets in development. The assets library is unavailable in production, so assets must be local to the project.\n *\n * @param assetPath - The path of the asset to copy to local assets.\n *\n * **Requires:** Assets library must be available (development only).\n *\n * **Side effects:** Writes files into the local `assets/` directory.\n *\n * **Category:** Assets\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "syncAsset(assetPath: "
                },
                {
                  "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": "assetPath",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "syncAsset"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "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 `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 `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 * **Category:** Audio\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/worlds/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#cutoffDistance:member",
              "docComment": "/**\n * The cutoff distance where the audio will be reduced to 0 volume.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get cutoffDistance(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "cutoffDistance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "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"
                },
                {
                  "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 * @remarks\n *\n * **Clears position:** Setting an attached entity clears any previously set `position`. Audio can be entity-attached or position-based, not both.\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#setCutoffDistance:member(1)",
              "docComment": "/**\n * Sets the cutoff distance of the audio.\n *\n * @remarks\n *\n * The cutoff distance defines the maximum range at which the audio can be heard. Beyond this distance, the audio volume becomes zero. As the listener moves from the reference distance toward the cutoff distance, the volume decreases linearly, providing a natural spatial audio experience with smooth volume falloff based on distance.\n *\n * @param cutoffDistance - The cutoff distance.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setCutoffDistance(cutoffDistance: "
                },
                {
                  "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": "cutoffDistance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setCutoffDistance"
            },
            {
              "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.\n *\n * @remarks\n *\n * **Detaches from entity:** Setting a position clears any `attachedToEntity`. Audio can be position-based or entity-attached, not both.\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 * @remarks\n *\n * The reference distance defines the range within which the audio plays at full volume. When a listener is within this distance from the audio source, they will hear the sound at its maximum volume. Beyond this distance, the volume decreases linearly until reaching the cutoff distance, where the sound becomes inaudible. This creates a natural spatial audio experience with smooth volume falloff based on distance.\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.\n *\n * See `AudioEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum AudioEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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_CUTOFF_DISTANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_CUTOFF_DISTANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"AUDIO.SET_CUTOFF_DISTANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_CUTOFF_DISTANCE"
            },
            {
              "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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface AudioEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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_CUTOFF_DISTANCE\":member",
              "docComment": "/**\n * Emitted when the audio's cutoff distance is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "AudioEvent.SET_CUTOFF_DISTANCE",
                  "canonicalReference": "server!AudioEvent.SET_CUTOFF_DISTANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        audio: "
                },
                {
                  "kind": "Reference",
                  "text": "Audio",
                  "canonicalReference": "server!Audio:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        cutoffDistance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"AUDIO.SET_CUTOFF_DISTANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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 * When to use: querying or bulk-controlling audio in a specific world. Do NOT use for: individual playback configuration; use `Audio` instances.\n *\n * @remarks\n *\n * The AudioManager is created internally per `World` instance. Audio is loaded on first `Audio.play`; this manager tracks loaded instances. Pattern: call `AudioManager.unregisterEntityAttachedAudios` when despawning entities with positional audio.\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().forEach(audio => audio.pause());\n * ```\n *\n * **Category:** Audio\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class AudioManager "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Audio\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 * Use for: cleanup when despawning an entity with positional audio.\n *\n * @param entity - The entity to get attached audio instances for.\n *\n * @returns An array of audio instances.\n *\n * **Requires:** Entity should belong to this world for meaningful results.\n *\n * @see\n *\n * `AudioManager.unregisterEntityAttachedAudios`\n *\n * **Category:** Audio\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 * @see\n *\n * `AudioManager.getAllOneshotAudios`\n *\n * **Category:** Audio\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 * @see\n *\n * `AudioManager.getAllLoopedAudios`\n *\n * **Category:** Audio\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 * Use for: explicit cleanup of one-shot or temporary sounds. Do NOT use for: pausing/resuming; use `Audio.pause` or `Audio.play` instead.\n *\n * @remarks\n *\n * **Pauses audio:** Calls `audio.pause()` before removing from the manager.\n *\n * @param audio - The audio instance to pause and unregister.\n *\n * **Requires:** Audio must be loaded (have an id) or an error is logged.\n *\n * **Side effects:** Pauses the audio and removes it from manager tracking.\n *\n * @see\n *\n * `AudioManager.unregisterEntityAttachedAudios`\n *\n * **Category:** Audio\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 * Use for: entity despawn or cleanup scenarios.\n *\n * @remarks\n *\n * **Pauses all:** Calls `AudioManager.unregisterAudio` for each attached audio, which pauses them.\n *\n * @param entity - The entity to pause and unregister audio instances for.\n *\n * **Requires:** Entity should belong to this world for meaningful results.\n *\n * **Side effects:** Pauses and unregisters any attached audio instances.\n *\n * @see\n *\n * `AudioManager.getAllEntityAttachedAudios`\n *\n * **Category:** Audio\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 * **Category:** Audio\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 * Positional audio can be configured via `AudioOptions.attachedToEntity` or `AudioOptions.position`.\n *\n * Use for: configuring audio before calling `Audio.play`. Do NOT use for: runtime updates after playback starts; use `Audio.set*` methods.\n *\n * **Category:** Audio\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface AudioOptions "
            }
          ],
          "fileUrlPath": "src/worlds/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#cutoffDistance:member",
              "docComment": "/**\n * The cutoff distance between the audio source and the listener where the audio will be reduced to 0 volume. Must be greater than reference distance. Defaults to reference distance + 10.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "cutoffDistance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "cutoffDistance",
              "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 maximum reference distance between the audio source and the listener where the audio will still be max volume. Defaults to 10.\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 * Use for: sphere-shaped colliders. Do NOT use for: other shapes; use the matching collider option type.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * Use for: configuring colliders when creating entities or rigid bodies. Do NOT use for: runtime changes; use `Collider` methods instead.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BaseColliderOptions "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * When to use: implementing custom entity behavior and movement logic. Do NOT use for: one-off entity changes; prefer direct entity APIs.\n *\n * @remarks\n *\n * Controllers are typically one instance per entity, but can be shared across entities if you manage state carefully.\n *\n * <h2>Lifecycle</h2>\n *\n * 1) `attach()` — called during `Entity` construction when a controller is provided. 2) `spawn()` — called after the entity is added to the physics simulation. 3) `tickWithPlayerInput()` — called each world tick for `PlayerEntity` before `tick()`. 4) `tick()` — called each world tick before physics stepping. 5) `detach()` → `despawn()` — called during `Entity.despawn`.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `BaseEntityControllerEventPayloads`.\n *\n * **Category:** Controllers\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/worlds/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 * @remarks\n *\n * **Called by:** `Entity` constructor when a controller is provided in options.\n *\n * **Super call:** Call `super.attach(entity)` to emit the `ATTACH` event.\n *\n * @param entity - The entity to attach the controller to.\n *\n * **Category:** Controllers\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 * @remarks\n *\n * **Called by:** `Entity.despawn()` after `detach()` is called.\n *\n * **Super call:** Call `super.despawn(entity)` to emit the `DESPAWN` event.\n *\n * @param entity - The entity being despawned.\n *\n * **Category:** Controllers\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 * @remarks\n *\n * **Called by:** `Entity.despawn()` before `despawn()` is called.\n *\n * **Super call:** Call `super.detach(entity)` to emit the `DETACH` event.\n *\n * @param entity - The entity being detached.\n *\n * **Category:** Controllers\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 * @remarks\n *\n * **Called by:** `Entity.spawn()` after the entity is added to the physics simulation.\n *\n * **Super call:** Call `super.spawn(entity)` to emit the `SPAWN` event.\n *\n * @param entity - The entity being spawned.\n *\n * **Category:** Controllers\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 * @remarks\n *\n * **Called by:** `Entity.tick()` every tick for non-environmental entities. For `PlayerEntity`, this is called after `tickWithPlayerInput()`.\n *\n * **Super call:** Call `super.tick(entity, deltaTimeMs)` to emit the `TICK` event.\n *\n * @param entity - The entity being ticked.\n *\n * @param deltaTimeMs - The delta time in milliseconds since the last tick.\n *\n * **Category:** Controllers\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.\n *\n * @remarks\n *\n * **Called by:** `PlayerEntity.tick()` every tick when `isTickWithPlayerInputEnabled` is true. Called before `tick()`.\n *\n * **Super call:** Call `super.tickWithPlayerInput(...)` to emit the `TICK_WITH_PLAYER_INPUT` event.\n *\n * @param entity - The player entity being ticked.\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 * **Category:** Controllers\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.\n *\n * See `BaseEntityControllerEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum BaseEntityControllerEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BaseEntityControllerEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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 * Use for: common entity configuration shared by block and model entities. Do NOT use for: runtime changes after spawn; use `Entity` setters instead.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BaseEntityOptions "
            }
          ],
          "fileUrlPath": "src/worlds/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#emissiveColor:member",
              "docComment": "/**\n * The emissive color of the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emissiveColor?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "emissiveColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#emissiveIntensity:member",
              "docComment": "/**\n * The emissive intensity of the entity. Use a value over 1 for brighter emissive effects.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emissiveIntensity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "emissiveIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BaseEntityOptions#isEnvironmental:member",
              "docComment": "/**\n * Whether the entity is environmental, if true it will not invoke its tick function or change position. Defaults to false.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "isEnvironmental?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "isEnvironmental",
              "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#outline:member",
              "docComment": "/**\n * The outline rendering options for the entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "outline?: "
                },
                {
                  "kind": "Reference",
                  "text": "Outline",
                  "canonicalReference": "server!Outline:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "outline",
              "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#positionInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to position changes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "positionInterpolationMs?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "positionInterpolationMs",
              "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#rotationInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to rotation changes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rotationInterpolationMs?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "rotationInterpolationMs",
              "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 * Use for: initial rigid body configuration when creating entities or bodies. Do NOT use for: runtime changes; use `RigidBody` setter methods instead.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BaseRigidBodyOptions "
            }
          ],
          "fileUrlPath": "src/worlds/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 `ColliderOptions`.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 `RigidBodyType.DYNAMIC`.\n *\n * **Category:** Physics\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": "Variable",
          "canonicalReference": "server!BLOCK_ROTATIONS:var",
          "docComment": "/**\n * All valid block rotations, named as `{face pointing up}_{Y rotation degrees}`.\n *\n * N prefix = negative axis (e.g. `NZ_90` = -Z face up, rotated 90° around global Y).\n *\n * **Category:** Blocks\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "BLOCK_ROTATIONS: "
            },
            {
              "kind": "Content",
              "text": "{\n    readonly Y_0: {\n        readonly enumIndex: 0;\n        readonly matrix: readonly [1, 0, 0, 0, 1, 0, 0, 0, 1];\n    };\n    readonly Y_90: {\n        readonly enumIndex: 1;\n        readonly matrix: readonly [0, 0, -1, 0, 1, 0, 1, 0, 0];\n    };\n    readonly Y_180: {\n        readonly enumIndex: 2;\n        readonly matrix: readonly [-1, 0, 0, 0, 1, 0, 0, 0, -1];\n    };\n    readonly Y_270: {\n        readonly enumIndex: 3;\n        readonly matrix: readonly [0, 0, 1, 0, 1, 0, -1, 0, 0];\n    };\n    readonly NY_0: {\n        readonly enumIndex: 4;\n        readonly matrix: readonly [-1, 0, 0, 0, -1, 0, 0, 0, 1];\n    };\n    readonly NY_90: {\n        readonly enumIndex: 5;\n        readonly matrix: readonly [0, 0, -1, 0, -1, 0, -1, 0, 0];\n    };\n    readonly NY_180: {\n        readonly enumIndex: 6;\n        readonly matrix: readonly [1, 0, 0, 0, -1, 0, 0, 0, -1];\n    };\n    readonly NY_270: {\n        readonly enumIndex: 7;\n        readonly matrix: readonly [0, 0, 1, 0, -1, 0, 1, 0, 0];\n    };\n    readonly X_0: {\n        readonly enumIndex: 8;\n        readonly matrix: readonly [0, -1, 0, 1, 0, 0, 0, 0, 1];\n    };\n    readonly X_90: {\n        readonly enumIndex: 9;\n        readonly matrix: readonly [0, 0, -1, 1, 0, 0, 0, -1, 0];\n    };\n    readonly X_180: {\n        readonly enumIndex: 10;\n        readonly matrix: readonly [0, 1, 0, 1, 0, 0, 0, 0, -1];\n    };\n    readonly X_270: {\n        readonly enumIndex: 11;\n        readonly matrix: readonly [0, 0, 1, 1, 0, 0, 0, 1, 0];\n    };\n    readonly NX_0: {\n        readonly enumIndex: 12;\n        readonly matrix: readonly [0, 1, 0, -1, 0, 0, 0, 0, 1];\n    };\n    readonly NX_90: {\n        readonly enumIndex: 13;\n        readonly matrix: readonly [0, 0, -1, -1, 0, 0, 0, 1, 0];\n    };\n    readonly NX_180: {\n        readonly enumIndex: 14;\n        readonly matrix: readonly [0, -1, 0, -1, 0, 0, 0, 0, -1];\n    };\n    readonly NX_270: {\n        readonly enumIndex: 15;\n        readonly matrix: readonly [0, 0, 1, -1, 0, 0, 0, -1, 0];\n    };\n    readonly Z_0: {\n        readonly enumIndex: 16;\n        readonly matrix: readonly [1, 0, 0, 0, 0, 1, 0, -1, 0];\n    };\n    readonly Z_90: {\n        readonly enumIndex: 17;\n        readonly matrix: readonly [0, 1, 0, 0, 0, 1, 1, 0, 0];\n    };\n    readonly Z_180: {\n        readonly enumIndex: 18;\n        readonly matrix: readonly [-1, 0, 0, 0, 0, 1, 0, 1, 0];\n    };\n    readonly Z_270: {\n        readonly enumIndex: 19;\n        readonly matrix: readonly [0, -1, 0, 0, 0, 1, -1, 0, 0];\n    };\n    readonly NZ_0: {\n        readonly enumIndex: 20;\n        readonly matrix: readonly [1, 0, 0, 0, 0, -1, 0, 1, 0];\n    };\n    readonly NZ_90: {\n        readonly enumIndex: 21;\n        readonly matrix: readonly [0, -1, 0, 0, 0, -1, 1, 0, 0];\n    };\n    readonly NZ_180: {\n        readonly enumIndex: 22;\n        readonly matrix: readonly [-1, 0, 0, 0, 0, -1, 0, -1, 0];\n    };\n    readonly NZ_270: {\n        readonly enumIndex: 23;\n        readonly matrix: readonly [0, 1, 0, 0, 0, -1, -1, 0, 0];\n    };\n}"
            }
          ],
          "fileUrlPath": "src/worlds/blocks/Block.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "BLOCK_ROTATIONS",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Block:class",
          "docComment": "/**\n * Represents a block in a world.\n *\n * When to use: reading block data from queries like raycasts or chunk lookups. Do NOT use for: creating or placing blocks directly; use `ChunkLattice.setBlock`.\n *\n * @remarks\n *\n * Instances are created internally and surfaced by API methods. Block coordinates are **world coordinates** (global block grid), not local chunk coordinates.\n *\n * **Category:** Blocks\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/worlds/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 * **Category:** Blocks\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 * Use for: placing a new block on the face that was hit.\n *\n * @param hitPoint - The hit point on this block (global coordinates).\n *\n * @returns The adjacent block coordinate in world space.\n *\n * **Category:** Blocks\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 * **Category:** Blocks\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 * Use for: axis-aligned box colliders. Do NOT use for: other shapes; use the matching collider option type.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * Use for: entities rendered as blocks with a `BlockType` texture. Do NOT use for: model entities; use `ModelEntityOptions`.\n *\n * **Category:** Entities\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/worlds/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": "Interface",
          "canonicalReference": "server!BlockPlacement:interface",
          "docComment": "/**\n * A block placement in world coordinates.\n *\n * **Category:** Blocks\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockPlacement "
            }
          ],
          "fileUrlPath": "src/worlds/blocks/Block.ts",
          "releaseTag": "Public",
          "name": "BlockPlacement",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockPlacement#blockRotation:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "blockRotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockRotation",
                  "canonicalReference": "server!BlockRotation:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "blockRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockPlacement#globalCoordinate:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "globalCoordinate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!BlockRotation:type",
          "docComment": "/**\n * A block rotation from `BLOCK_ROTATIONS`.\n *\n * **Category:** Blocks\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type BlockRotation = "
            },
            {
              "kind": "Content",
              "text": "typeof "
            },
            {
              "kind": "Reference",
              "text": "BLOCK_ROTATIONS",
              "canonicalReference": "server!BLOCK_ROTATIONS:var"
            },
            {
              "kind": "Content",
              "text": "[keyof typeof "
            },
            {
              "kind": "Reference",
              "text": "BLOCK_ROTATIONS",
              "canonicalReference": "server!BLOCK_ROTATIONS:var"
            },
            {
              "kind": "Content",
              "text": "]"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/blocks/Block.ts",
          "releaseTag": "Public",
          "name": "BlockRotation",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!BlockTextureMetadata:type",
          "docComment": "/**\n * Block texture metadata including UVs and rendering hints.\n *\n * **Category:** Textures\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type BlockTextureMetadata = "
            },
            {
              "kind": "Content",
              "text": "{\n    u0: number;\n    v0: number;\n    u1: number;\n    v1: number;\n    averageRGB: [number, number, number];\n    isTransparent: boolean;\n    needsAlphaTest: boolean;\n    transparencyRatio: number;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/textures/BlockTextureRegistry.ts",
          "releaseTag": "Public",
          "name": "BlockTextureMetadata",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!BlockTextureRegistry:class",
          "docComment": "/**\n * Manages block textures and block texture atlas generation of the game.\n *\n * When to use: querying texture atlas UVs and transparency hints for blocks. Do NOT use for: runtime texture modifications; regenerate atlas offline in dev.\n *\n * @remarks\n *\n * The BlockTextureRegistry is created internally as a global singleton accessible via `BlockTextureRegistry.instance`. The atlas is preloaded during server startup and cached in memory.\n *\n * Pattern: call `BlockTextureRegistry.hasBlockTexture` before lookup to avoid warnings. Anti-pattern: assuming missing textures are silently ignored.\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 `BlockTextureRegistry` class.\n *\n * @example\n * ```typescript\n * import { BlockTextureRegistry } from 'hytopia';\n *\n * const blockTextureRegistry = BlockTextureRegistry.instance;\n * const metadata = blockTextureRegistry.getBlockTextureMetadata('blocks/stone.png');\n * ```\n *\n * **Category:** Textures\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class BlockTextureRegistry "
            }
          ],
          "fileUrlPath": "src/textures/BlockTextureRegistry.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "BlockTextureRegistry",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!BlockTextureRegistry#generate:member",
              "docComment": "/**\n * Whether to generate the atlas if needed.\n *\n * Defaults to `true` in development, `false` in production.\n *\n * **Category:** Textures\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "generate: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "generate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BlockTextureRegistry#getBlockTextureMetadata:member(1)",
              "docComment": "/**\n * Retrieves metadata for a block texture. Returns array for cubemaps (6 faces) or standard textures (1 face).\n *\n * @param textureUri - The URI of the texture (e.g., 'blocks/stone.png' or 'blocks/grass').\n *\n * @returns Array of texture metadata, or undefined if not found.\n *\n * **Requires:** Atlas must be preloaded (server startup).\n *\n * **Category:** Textures\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getBlockTextureMetadata(textureUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "BlockTextureMetadata",
                  "canonicalReference": "server!BlockTextureMetadata:type"
                },
                {
                  "kind": "Content",
                  "text": "[] | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "textureUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getBlockTextureMetadata"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!BlockTextureRegistry#hasBlockTexture:member(1)",
              "docComment": "/**\n * Checks if a block texture is registered in the atlas.\n *\n * @param textureUri - The URI of the texture (e.g., 'blocks/stone.png' or 'blocks/grass' for cubemaps).\n *\n * @returns Whether the texture is registered.\n *\n * **Requires:** Atlas must be preloaded (server startup).\n *\n * **Category:** Textures\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasBlockTexture(textureUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "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": "textureUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "hasBlockTexture"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockTextureRegistry.instance:member",
              "docComment": "/**\n * The global BlockTextureRegistry instance as a singleton.\n *\n * **Category:** Textures\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static readonly instance: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockTextureRegistry",
                  "canonicalReference": "server!BlockTextureRegistry: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": "Class",
          "canonicalReference": "server!BlockType:class",
          "docComment": "/**\n * Represents a block type definition.\n *\n * When to use: defining new block types (textures, colliders, liquid behavior). Do NOT use for: placing blocks directly; use `ChunkLattice.setBlock`.\n *\n * @remarks\n *\n * Block types are created as instances and registered with a `BlockTypeRegistry` for a specific world. Liquids are treated as sensors in physics.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `BlockTypeEventPayloads`.\n *\n * @example\n * ```typescript\n * const stoneBlockTypeId = 10;\n * world.blockTypeRegistry.registerBlockType(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 * **Category:** Blocks\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/worlds/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 * Use for: defining a block type before registering it with a `BlockTypeRegistry`.\n *\n * @param options - The options for the block type.\n *\n * **Category:** Blocks\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 * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colliderOptions(): "
                },
                {
                  "kind": "Reference",
                  "text": "VoxelsColliderOptions",
                  "canonicalReference": "server!VoxelsColliderOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "TrimeshColliderOptions",
                  "canonicalReference": "server!TrimeshColliderOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colliderOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#id:member",
              "docComment": "/**\n * The unique identifier for the block type.\n *\n * **Category:** Blocks\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": "Method",
              "canonicalReference": "server!BlockType#interact:member(1)",
              "docComment": "/**\n * Triggers an interaction on the block type from a player.\n *\n * Use for: programmatic interactions that should mimic player clicks.\n *\n * @remarks\n *\n * This is automatically called when a player clicks or taps a block of this block type, but can also be called directly for programmatic interactions. Emits `BlockTypeEvent.INTERACT`.\n *\n * @param player - The player interacting with the block type.\n *\n * @param raycastHit - The raycast hit result, if the interaction was triggered by a client-side click/tap.\n *\n * **Side effects:** Emits `BlockTypeEvent.INTERACT`.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "interact(player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ", raycastHit?: "
                },
                {
                  "kind": "Reference",
                  "text": "RaycastHit",
                  "canonicalReference": "server!RaycastHit: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": "player",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "raycastHit",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "interact"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#isLiquid:member",
              "docComment": "/**\n * Whether the block type is a liquid.\n *\n * **Category:** Blocks\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 (voxel-based).\n *\n * **Category:** Blocks\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#isTrimesh:member",
              "docComment": "/**\n * Whether the block type uses a trimesh collider.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isTrimesh(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isTrimesh",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#isVoxel:member",
              "docComment": "/**\n * Whether the block type uses a voxel collider.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isVoxel(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isVoxel",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!BlockType#lightLevel:member",
              "docComment": "/**\n * The light emission level (0-15).\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get lightLevel(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "lightLevel",
              "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 * **Category:** Blocks\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 * **Category:** Blocks\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.\n *\n * See `BlockTypeEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum BlockTypeEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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": "EnumMember",
              "canonicalReference": "server!BlockTypeEvent.INTERACT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "INTERACT = "
                },
                {
                  "kind": "Content",
                  "text": "\"BLOCK_TYPE.INTERACT\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "INTERACT"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BlockTypeEventPayloads:interface",
          "docComment": "/**\n * Event payloads for BlockType emitted events.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockTypeEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!BlockTypeEventPayloads#\"BLOCK_TYPE.INTERACT\":member",
              "docComment": "/**\n * Emitted when a player interacts with a block type.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "BlockTypeEvent.INTERACT",
                  "canonicalReference": "server!BlockTypeEvent.INTERACT:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        blockType: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockType",
                  "canonicalReference": "server!BlockType:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        raycastHit?: "
                },
                {
                  "kind": "Reference",
                  "text": "RaycastHit",
                  "canonicalReference": "server!RaycastHit:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"BLOCK_TYPE.INTERACT\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!BlockTypeOptions:interface",
          "docComment": "/**\n * Options for creating a block type instance.\n *\n * Use for: defining new block types to register in a `BlockTypeRegistry`. Do NOT use for: placing blocks; use `ChunkLattice.setBlock`.\n *\n * **Category:** Blocks\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockTypeOptions "
            }
          ],
          "fileUrlPath": "src/worlds/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": "VoxelsColliderOptions",
                  "canonicalReference": "server!VoxelsColliderOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": " | "
                },
                {
                  "kind": "Reference",
                  "text": "TrimeshColliderOptions",
                  "canonicalReference": "server!TrimeshColliderOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "customColliderOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              }
            },
            {
              "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#lightLevel:member",
              "docComment": "/**\n * The light emission level, between 0 and 15.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lightLevel?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "lightLevel",
              "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 * When to use: registering and retrieving block types for a specific world. Do NOT use for: placing blocks; use `ChunkLattice.setBlock`.\n *\n * @remarks\n *\n * Each `World` has its own registry. Block type IDs are unique per world.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `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 * **Category:** Blocks\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/worlds/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 * **Category:** Blocks\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 * @remarks\n *\n * Throws a fatal error if the block type is not registered.\n *\n * @param id - The id of the block type to get.\n *\n * @returns The block type with the given id.\n *\n * **Category:** Blocks\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 * **Side effects:** Emits `BlockTypeRegistryEvent.REGISTER_BLOCK_TYPE`.\n *\n * **Category:** Blocks\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 * @remarks\n *\n * **Creates anonymous class:** Internally creates an anonymous class extending `BlockType` with the provided options, then calls `registerBlockType()`.\n *\n * @param blockTypeOptions - The options for the block type.\n *\n * @returns The registered block type.\n *\n * **Side effects:** Emits `BlockTypeRegistryEvent.REGISTER_BLOCK_TYPE`.\n *\n * **Category:** Blocks\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 * **Category:** Blocks\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.\n *\n * See `BlockTypeRegistryEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum BlockTypeRegistryEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface BlockTypeRegistryEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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 * Use for: capsule-shaped colliders. Do NOT use for: other shapes; use the matching collider option type.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * **Category:** Physics\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.\n *\n * See `ChatEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum ChatEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ChatEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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 * When to use: broadcasting chat, sending system messages, or registering chat commands. Do NOT use for: player HUD/menus; use `PlayerUI` for rich UI.\n *\n * @remarks\n *\n * The ChatManager is created internally as a singleton for each `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 * Pattern: register commands during world initialization and keep callbacks fast. Anti-pattern: assuming commands are permission-checked; always validate access in callbacks.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `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 * **Category:** Chat\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/worlds/chat/ChatManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "ChatManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!ChatManager#handleCommand:member(1)",
              "docComment": "/**\n * Handle a command if it exists.\n *\n * @remarks\n *\n * The command is parsed as the first space-delimited token in the message.\n *\n * **Category:** Chat\n *\n * @param player - The player that sent the command.\n *\n * @param message - The full message.\n *\n * @returns True if a command was handled, false otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "handleCommand(player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ", message: "
                },
                {
                  "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": "player",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "message",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "handleCommand"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChatManager#registerCommand:member(1)",
              "docComment": "/**\n * Register a command and its callback.\n *\n * @remarks\n *\n * Commands are matched by exact string equality against the first token in a chat message.\n *\n * @param command - The command to register.\n *\n * @param callback - The callback function to execute when the command is used.\n *\n * **Requires:** Use a consistent command prefix (for example, `/kick`) if you want slash commands.\n *\n * @see\n *\n * `ChatManager.unregisterCommand`\n *\n * **Category:** Chat\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 * **Side effects:** Emits `ChatEvent.BROADCAST_MESSAGE` for network sync.\n *\n * @see\n *\n * `ChatManager.sendPlayerMessage`\n *\n * **Category:** Chat\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 * **Side effects:** Emits `ChatEvent.PLAYER_MESSAGE` for network sync.\n *\n * @see\n *\n * `ChatManager.sendBroadcastMessage`\n *\n * **Category:** Chat\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 * @see\n *\n * `ChatManager.registerCommand`\n *\n * **Category:** Chat\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 representing a slice of world terrain.\n *\n * When to use: reading chunk data or working with bulk block operations. Do NOT use for: creating terrain directly; prefer `ChunkLattice`.\n *\n * @remarks\n *\n * Chunks are fixed-size (16×16×16) and store block IDs by local coordinates.\n *\n * <h2>Coordinate System</h2>\n *\n * - **Global (world) coordinates:** integer block positions in world space. - **Chunk origin:** the world coordinate at the chunk's minimum corner (multiples of 16). - **Local coordinates:** 0..15 per axis within the chunk.\n *\n * **Category:** Blocks\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Chunk implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/worlds/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(originCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "originCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk.blockIndexToLocalCoordinate:member(1)",
              "docComment": "/**\n * Converts 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 * **Category:** Blocks\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#blockRotations:member",
              "docComment": "/**\n * The rotations of the blocks in the chunk as a map of block index to rotation.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get blockRotations(): "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "Map",
                  "canonicalReference": "!Map:interface"
                },
                {
                  "kind": "Content",
                  "text": "<number, "
                },
                {
                  "kind": "Reference",
                  "text": "BlockRotation",
                  "canonicalReference": "server!BlockRotation:type"
                },
                {
                  "kind": "Content",
                  "text": ">>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "blockRotations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 7
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "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 * **Category:** Blocks\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#getBlockId:member(1)",
              "docComment": "/**\n * Gets the block type ID at a specific local coordinate.\n *\n * @remarks\n *\n * Expects local coordinates in the range 0..15 for each axis.\n *\n * @param localCoordinate - The local coordinate of the block to get.\n *\n * @returns The block type ID.\n *\n * **Category:** Blocks\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#getBlockRotation:member(1)",
              "docComment": "/**\n * Gets the rotation of a block at a specific local coordinate.\n *\n * @param localCoordinate - The local coordinate of the block to get the rotation of.\n *\n * @returns The rotation of the block (defaults to identity rotation).\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getBlockRotation(localCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "BlockRotation",
                  "canonicalReference": "server!BlockRotation:type"
                },
                {
                  "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": "getBlockRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Chunk.globalCoordinateToLocalCoordinate:member(1)",
              "docComment": "/**\n * Converts a global coordinate to a local coordinate.\n *\n * @param globalCoordinate - The global coordinate to convert.\n *\n * @returns The local coordinate.\n *\n * **Category:** Blocks\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 * Converts a global coordinate to a chunk origin coordinate.\n *\n * @param globalCoordinate - The global coordinate to convert.\n *\n * @returns The origin coordinate.\n *\n * **Category:** Blocks\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 * Checks 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 * **Category:** Blocks\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#originCoordinate:member",
              "docComment": "/**\n * The origin coordinate of the chunk (world-space, multiples of 16).\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get originCoordinate(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "originCoordinate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!ChunkLattice:class",
          "docComment": "/**\n * A lattice of chunks that represent a world's terrain.\n *\n * When to use: reading or mutating blocks in world space. Do NOT use for: per-entity placement logic; prefer higher-level game systems.\n *\n * @remarks\n *\n * The lattice owns all chunks and keeps physics colliders in sync with blocks.\n *\n * <h2>Coordinate System</h2>\n *\n * - **Global (world) coordinates:** integer block positions in world space. - **Chunk origin:** world coordinate at the chunk's minimum corner (multiples of 16). - **Local coordinates:** 0..15 per axis within a chunk. - **Axes:** +X right, +Y up, -Z forward. - **Origin:** (0,0,0) is the world origin.\n *\n * **Category:** Blocks\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class ChunkLattice extends "
            },
            {
              "kind": "Reference",
              "text": "EventRouter",
              "canonicalReference": "server!EventRouter:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/worlds/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": "Property",
              "canonicalReference": "server!ChunkLattice#chunkCount:member",
              "docComment": "/**\n * The number of chunks in the lattice.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get chunkCount(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "chunkCount",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#clear:member(1)",
              "docComment": "/**\n * Removes and clears all chunks and their blocks from the lattice.\n *\n * Use for: full world resets or map reloads. Do NOT use for: incremental changes; use `ChunkLattice.setBlock`.\n *\n * @remarks\n *\n * **Removes colliders:** All block type colliders are removed from the physics simulation.\n *\n * **Emits events:** Emits `REMOVE_CHUNK` for each chunk before clearing.\n *\n * **Side effects:** Clears all chunks, placements, and block colliders.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clear(): "
                },
                {
                  "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": "clear"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#getAllChunks:member(1)",
              "docComment": "/**\n * Gets all chunks in the lattice.\n *\n * @returns An array of all chunks in the lattice.\n *\n * **Category:** Blocks\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 * Gets 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, or 0 if no block is set.\n *\n * **Category:** Blocks\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 * Gets 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, or null if no block is set.\n *\n * **Category:** Blocks\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#getBlockTypeCount:member(1)",
              "docComment": "/**\n * Gets the number of blocks of a specific block type in the lattice.\n *\n * @param blockTypeId - The block type ID to count.\n *\n * @returns The number of blocks of the block type.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getBlockTypeCount(blockTypeId: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "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": "blockTypeId",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getBlockTypeCount"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#getChunk:member(1)",
              "docComment": "/**\n * Gets the chunk that contains the given global coordinate.\n *\n * @param globalCoordinate - The global coordinate to get the chunk for.\n *\n * @returns The chunk that contains the given global coordinate or undefined if not found.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getChunk(globalCoordinate: "
                },
                {
                  "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": "globalCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getChunk"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#getOrCreateChunk:member(1)",
              "docComment": "/**\n * Gets the chunk for a given global coordinate, creating it if it doesn't exist.\n *\n * @remarks\n *\n * Creates a new chunk and emits `ChunkLatticeEvent.ADD_CHUNK` if needed.\n *\n * @param globalCoordinate - The global coordinate of the chunk to get.\n *\n * @returns The chunk at the given global coordinate (created if needed).\n *\n * **Side effects:** May create and register a new chunk.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getOrCreateChunk(globalCoordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Chunk",
                  "canonicalReference": "server!Chunk:class"
                },
                {
                  "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": "getOrCreateChunk"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#hasBlock:member(1)",
              "docComment": "/**\n * Checks 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 * **Category:** Blocks\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 * Checks if a chunk exists for a given global coordinate.\n *\n * @param globalCoordinate - The global coordinate of the chunk to check.\n *\n * @returns Whether the chunk exists.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasChunk(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": "hasChunk"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#initializeBlocks:member(1)",
              "docComment": "/**\n * Initializes all blocks in the lattice in bulk, replacing existing blocks.\n *\n * Use for: loading maps or generating terrain in one pass. Do NOT use for: incremental edits; use `ChunkLattice.setBlock`.\n *\n * @remarks\n *\n * **Clears first:** Calls `ChunkLattice.clear` before initializing, removing all existing blocks and colliders.\n *\n * **Collider optimization:** Creates one collider per block type with all placements combined. Voxel colliders have their states combined for efficient neighbor collision detection.\n *\n * @param blocks - The blocks to initialize, keyed by block type ID.\n *\n * **Side effects:** Clears existing data, creates colliders, and emits `ChunkLatticeEvent.SET_BLOCK` per block.\n *\n * **Category:** Blocks\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "initializeBlocks(blocks: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        [blockTypeId: number]: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockPlacement",
                  "canonicalReference": "server!BlockPlacement:interface"
                },
                {
                  "kind": "Content",
                  "text": "[];\n    }"
                },
                {
                  "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": "blocks",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "initializeBlocks"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ChunkLattice#setBlock:member(1)",
              "docComment": "/**\n * Sets the block at a global coordinate by block type ID.\n *\n * Use for: incremental terrain edits. Do NOT use for: bulk terrain loading; use `ChunkLattice.initializeBlocks`.\n *\n * @remarks\n *\n * **Air:** Use block type ID `0` to remove a block (set to air).\n *\n * **Collider updates:** For voxel block types, updates the existing collider. For trimesh block types, recreates the entire collider.\n *\n * **Removes previous:** If replacing an existing block, removes it from its collider first. If the previous block type has no remaining blocks, its collider is removed from simulation.\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 * @param blockRotation - The rotation of the block.\n *\n * **Side effects:** Emits `ChunkLatticeEvent.SET_BLOCK` and mutates block colliders.\n *\n * **Category:** Blocks\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": ", blockRotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockRotation",
                  "canonicalReference": "server!BlockRotation: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": "globalCoordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "blockTypeId",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "blockRotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setBlock"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!ChunkLatticeEvent:enum",
          "docComment": "/**\n * Event types a ChunkLattice instance can emit.\n *\n * See `ChunkLatticeEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum ChunkLatticeEvent "
            }
          ],
          "fileUrlPath": "src/worlds/blocks/ChunkLattice.ts",
          "releaseTag": "Public",
          "name": "ChunkLatticeEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ChunkLatticeEvent.ADD_CHUNK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ADD_CHUNK = "
                },
                {
                  "kind": "Content",
                  "text": "\"CHUNK_LATTICE.ADD_CHUNK\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ADD_CHUNK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ChunkLatticeEvent.REMOVE_CHUNK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REMOVE_CHUNK = "
                },
                {
                  "kind": "Content",
                  "text": "\"CHUNK_LATTICE.REMOVE_CHUNK\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "REMOVE_CHUNK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ChunkLatticeEvent.SET_BLOCK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_BLOCK = "
                },
                {
                  "kind": "Content",
                  "text": "\"CHUNK_LATTICE.SET_BLOCK\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_BLOCK"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!ChunkLatticeEventPayloads:interface",
          "docComment": "/**\n * Event payloads for ChunkLattice emitted events.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ChunkLatticeEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/blocks/ChunkLattice.ts",
          "releaseTag": "Public",
          "name": "ChunkLatticeEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ChunkLatticeEventPayloads#\"CHUNK_LATTICE.ADD_CHUNK\":member",
              "docComment": "/**\n * Emitted when a chunk is added to the lattice.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ChunkLatticeEvent.ADD_CHUNK",
                  "canonicalReference": "server!ChunkLatticeEvent.ADD_CHUNK:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        chunkLattice: "
                },
                {
                  "kind": "Reference",
                  "text": "ChunkLattice",
                  "canonicalReference": "server!ChunkLattice:class"
                },
                {
                  "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_LATTICE.ADD_CHUNK\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ChunkLatticeEventPayloads#\"CHUNK_LATTICE.REMOVE_CHUNK\":member",
              "docComment": "/**\n * Emitted when a chunk is removed from the lattice.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ChunkLatticeEvent.REMOVE_CHUNK",
                  "canonicalReference": "server!ChunkLatticeEvent.REMOVE_CHUNK:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        chunkLattice: "
                },
                {
                  "kind": "Reference",
                  "text": "ChunkLattice",
                  "canonicalReference": "server!ChunkLattice:class"
                },
                {
                  "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_LATTICE.REMOVE_CHUNK\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ChunkLatticeEventPayloads#\"CHUNK_LATTICE.SET_BLOCK\":member",
              "docComment": "/**\n * Emitted when a block is set in the lattice.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ChunkLatticeEvent.SET_BLOCK",
                  "canonicalReference": "server!ChunkLatticeEvent.SET_BLOCK:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        chunkLattice: "
                },
                {
                  "kind": "Reference",
                  "text": "ChunkLattice",
                  "canonicalReference": "server!ChunkLattice:class"
                },
                {
                  "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        blockRotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "BlockRotation",
                  "canonicalReference": "server!BlockRotation:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"CHUNK_LATTICE.SET_BLOCK\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 14
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!CoefficientCombineRule:enum",
          "docComment": "/**\n * The coefficient for friction or bounciness combine rule.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum CoefficientCombineRule "
            }
          ],
          "fileUrlPath": "src/worlds/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 * When to use: defining collision shapes for rigid bodies or entities. Do NOT use for: gameplay queries; use `Simulation.raycast` or intersection APIs instead.\n *\n * @remarks\n *\n * Colliders are usually created via `RigidBody` or `Entity` options. You can also create and manage them directly for advanced use cases.\n *\n * **Category:** Physics\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/worlds/physics/Collider.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Collider",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Collider:constructor(1)",
              "docComment": "/**\n * Creates a collider with the provided options.\n *\n * Use for: configuring a collider before adding it to a simulation or rigid body.\n *\n * @param colliderOptions - The options for the collider instance.\n *\n * **Category:** Physics\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 * @remarks\n *\n * **Parent linking:** Links the collider to the parent rigid body if provided.\n *\n * **Collision callback:** Applies any configured `onCollision` callback.\n *\n * @param simulation - The simulation to add the collider to.\n *\n * @param parentRigidBody - The parent rigid body of the collider.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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#isBall:member",
              "docComment": "/**\n * Whether the collider is a ball collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isBall(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isBall",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isBlock:member",
              "docComment": "/**\n * Whether the collider is a block collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isBlock(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isBlock",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isCapsule:member",
              "docComment": "/**\n * Whether the collider is a capsule collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isCapsule(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isCapsule",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isCone:member",
              "docComment": "/**\n * Whether the collider is a cone collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isCone(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isCone",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isCylinder:member",
              "docComment": "/**\n * Whether the collider is a cylinder collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isCylinder(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isCylinder",
              "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 * **Category:** Physics\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#isNone:member",
              "docComment": "/**\n * Whether the collider is a none collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isNone(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isNone",
              "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 * **Category:** Physics\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#isRoundCylinder:member",
              "docComment": "/**\n * Whether the collider is a round cylinder collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isRoundCylinder(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isRoundCylinder",
              "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 * **Category:** Physics\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 * **Category:** Physics\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!Collider#isTrimesh:member",
              "docComment": "/**\n * Whether the collider is a trimesh collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isTrimesh(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isTrimesh",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isVoxel:member",
              "docComment": "/**\n * Whether the collider is a voxel collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isVoxel(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isVoxel",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#isWedge:member",
              "docComment": "/**\n * Whether the collider is a wedge collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isWedge(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isWedge",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider.optionsFromBlockHalfExtents:member(1)",
              "docComment": "/**\n * Creates collider options 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 * **Category:** Physics\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 collider options from a model URI using an approximate shape and size.\n *\n * @remarks\n *\n * Uses model bounds and heuristics unless `preferredShape` is specified.\n *\n * @param modelUri - The URI of the model.\n *\n * @param scale - The scale of the model.\n *\n * @param preferredShape - The preferred shape to use for the collider.\n *\n * @returns The collider options object.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static optionsFromModelUri(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", scale?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | number"
                },
                {
                  "kind": "Content",
                  "text": ", preferredShape?: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape",
                  "canonicalReference": "server!ColliderShape:enum"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderOptions",
                  "canonicalReference": "server!ColliderOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 8,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 5
                  },
                  "isOptional": true
                },
                {
                  "parameterName": "preferredShape",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  },
                  "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 * **Category:** Physics\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 * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rawCollider(): "
                },
                {
                  "kind": "Reference",
                  "text": "RawCollider",
                  "canonicalReference": "server!RawCollider:type"
                },
                {
                  "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#rawShape:member",
              "docComment": "/**\n * The raw shape object from the Rapier physics engine.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rawShape(): "
                },
                {
                  "kind": "Reference",
                  "text": "RawShape",
                  "canonicalReference": "server!RawShape:type"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "rawShape",
              "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 * **Category:** Physics\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 * **Category:** Physics\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 * @remarks\n *\n * **Parent unlinking:** Unlinks from parent rigid body if attached.\n *\n * **Side effects:** Removes the collider from the simulation and unlinks it from any parent rigid body.\n *\n * **Category:** Physics\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": "Property",
              "canonicalReference": "server!Collider#scale:member",
              "docComment": "/**\n * The scale of the collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get scale(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "scale",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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#setHalfExtents:member(1)",
              "docComment": "/**\n * Sets the half extents of a simulated block collider.\n *\n * @param halfExtents - The half extents of the block collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setHalfExtents(halfExtents: "
                },
                {
                  "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": "halfExtents",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setHalfExtents"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Collider#setHalfHeight:member(1)",
              "docComment": "/**\n * Sets the half height of a simulated capsule, cone, cylinder, or round cylinder collider.\n *\n * @param halfHeight - The half height of the capsule, cone, cylinder, or round cylinder collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setHalfHeight(halfHeight: "
                },
                {
                  "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": "halfHeight",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setHalfHeight"
            },
            {
              "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 * **Category:** Physics\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 * @remarks\n *\n * **Auto-enables events:** Automatically enables/disables collision events based on whether callback is set.\n *\n * @param callback - The on collision callback for the collider.\n *\n * **Category:** Physics\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#setRadius:member(1)",
              "docComment": "/**\n * Sets the radius of a simulated ball, capsule, cylinder, or round cylinder collider.\n *\n * @param radius - The radius of the collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setRadius(radius: "
                },
                {
                  "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": "radius",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setRadius"
            },
            {
              "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 * **Category:** Physics\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 * **Category:** Physics\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#setScale:member(1)",
              "docComment": "/**\n * Scales the collider by the given scalar. Only ball, block, capsule, cone, cylinder, round cylinder are supported.\n *\n * @remarks\n *\n * **Ratio-based:** Uses ratio-based scaling relative to current scale, not absolute dimensions. Also scales `relativePosition` proportionally.\n *\n * @param scalar - The scalar to scale the collider by.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setScale(scale: "
                },
                {
                  "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": "scale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setScale"
            },
            {
              "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 * **Category:** Physics\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 * **Category:** Physics\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": "Method",
              "canonicalReference": "server!Collider#setVoxel:member(1)",
              "docComment": "/**\n * Sets the voxel at the given coordinate as filled or not filled.\n *\n * @param coordinate - The coordinate of the voxel to set.\n *\n * @param filled - True if the voxel at the coordinate should be filled, false if it should be removed.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setVoxel(coordinate: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ", filled: "
                },
                {
                  "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": "coordinate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "filled",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setVoxel"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Collider#shape:member",
              "docComment": "/**\n * The shape of the collider.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * Use for: providing collider definitions when creating rigid bodies or entities. Do NOT use for: runtime changes; use `Collider` APIs instead.\n *\n * **Category:** Physics\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": "VoxelsColliderOptions",
              "canonicalReference": "server!VoxelsColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "WedgeColliderOptions",
              "canonicalReference": "server!WedgeColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "NoneColliderOptions",
              "canonicalReference": "server!NoneColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "ColliderOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 20
          }
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!ColliderShape:enum",
          "docComment": "/**\n * The shapes a collider can be.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum ColliderShape "
            }
          ],
          "fileUrlPath": "src/worlds/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": "EnumMember",
              "canonicalReference": "server!ColliderShape.VOXELS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "VOXELS = "
                },
                {
                  "kind": "Content",
                  "text": "\"voxels\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "VOXELS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ColliderShape.WEDGE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "WEDGE = "
                },
                {
                  "kind": "Content",
                  "text": "\"wedge\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "WEDGE"
            }
          ]
        },
        {
          "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 * **Category:** Physics\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/worlds/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 * Collision groups determine which objects collide and generate events. Up to 15 groups can be registered. Filtering uses pairwise bit masks:\n *\n * - 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` if:\n * ```\n * ((a >> 16) & b) != 0 && ((b >> 16) & a) != 0\n * ```\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum CollisionGroup "
            }
          ],
          "fileUrlPath": "src/worlds/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.ENVIRONMENT_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENVIRONMENT_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "8"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENVIRONMENT_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_1:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_1 = "
                },
                {
                  "kind": "Content",
                  "text": "32"
                }
              ],
              "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": "16384"
                }
              ],
              "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": "32768"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "GROUP_11"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!CollisionGroup.GROUP_2:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "GROUP_2 = "
                },
                {
                  "kind": "Content",
                  "text": "64"
                }
              ],
              "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": "128"
                }
              ],
              "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": "256"
                }
              ],
              "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": "512"
                }
              ],
              "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": "1024"
                }
              ],
              "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": "2048"
                }
              ],
              "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": "4096"
                }
              ],
              "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": "8192"
                }
              ],
              "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": "16"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAYER"
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!CollisionGroups:type",
          "docComment": "/**\n * A set of collision groups.\n *\n * **Category:** Physics\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/worlds/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 * When to use: creating custom collision filters for colliders and rigid bodies. Do NOT use for: per-frame changes; collision group changes are usually infrequent.\n *\n * @remarks\n *\n * Use the static methods directly to encode or decode collision group masks.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class CollisionGroupsBuilder "
            }
          ],
          "fileUrlPath": "src/worlds/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 collision group mask 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 * **Category:** Physics\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 collision groups into 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 * **Category:** Physics\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 collision group mask 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 * **Category:** Physics\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 * **Category:** Physics\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. **Category:** Chat\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/worlds/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 * Use for: cone-shaped colliders. Do NOT use for: other shapes; use the matching collider option type.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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-simd-compat!Vector:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    totalForceMagnitude: number;\n    maxForceDirection: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.Vector",
              "canonicalReference": "@dimforge/rapier3d-simd-compat!Vector:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    maxForceMagnitude: number;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Physics\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/worlds/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 * Use for: cylinder-shaped colliders. Do NOT use for: other shapes; use the matching collider option type.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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/worlds/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 * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "DEFAULT_ENTITY_RIGID_BODY_OPTIONS: "
            },
            {
              "kind": "Reference",
              "text": "RigidBodyOptions",
              "canonicalReference": "server!RigidBodyOptions:type"
            }
          ],
          "fileUrlPath": "src/worlds/entities/Entity.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "DEFAULT_ENTITY_RIGID_BODY_OPTIONS",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!DefaultPlayerEntity:class",
          "docComment": "/**\n * Represents the default player model entity.\n *\n * When to use: standard player avatars with built-in cosmetics and default controls. Do NOT use for: fully custom player rigs that don't match the default model's anchors/animations.\n *\n * @remarks\n *\n * Extends `PlayerEntity`, uses the default player model, and assigns `DefaultPlayerEntityController`. You can override defaults, but if you change `modelUri`, ensure the model has the same animation names and anchor points.\n *\n * @example\n * ```typescript\n * const playerEntity = new DefaultPlayerEntity({ player });\n *\n * playerEntity.spawn(world, { x: 0, y: 10, z: 0 });\n * ```\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class DefaultPlayerEntity extends "
            },
            {
              "kind": "Reference",
              "text": "PlayerEntity",
              "canonicalReference": "server!PlayerEntity:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/worlds/entities/DefaultPlayerEntity.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "DefaultPlayerEntity",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!DefaultPlayerEntity:constructor(1)",
              "docComment": "/**\n * Creates a new DefaultPlayerEntity instance.\n *\n * @remarks\n *\n * **Auto-assigned defaults:** A `DefaultPlayerEntityController` is automatically created and assigned. Default idle animations are initialized as looped and playing.\n *\n * **Cosmetics on spawn:** When spawned, player cosmetics (hair, skin, equipped items) are fetched asynchronously and applied. Child entities are created for hair and equipped cosmetic items.\n *\n * @param options - The options for the default player entity.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "DefaultPlayerEntityOptions",
                  "canonicalReference": "server!DefaultPlayerEntityOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntity#cosmeticHiddenSlots:member",
              "docComment": "/**\n * The cosmetic slots that are hidden.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get cosmeticHiddenSlots(): "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCosmeticSlot",
                  "canonicalReference": "server!PlayerCosmeticSlot:type"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "cosmeticHiddenSlots",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!DefaultPlayerEntityController:class",
          "docComment": "/**\n * The default player entity controller implementation.\n *\n * When to use: player-controlled avatars using `DefaultPlayerEntity`. Do NOT use for: NPCs or non-player entities; use `SimpleEntityController` or `PathfindingEntityController` instead.\n *\n * @remarks\n *\n * Extends `BaseEntityController` and implements default movement, platforming, jumping, and swimming. You can extend this class to add custom logic.\n *\n * <h2>Coordinate System & Model Orientation</h2>\n *\n * HYTOPIA uses **-Z as forward**. Models must be authored with their front facing -Z. A yaw of 0 means facing -Z. The controller rotates the entity based on camera yaw and movement direction, always orienting the entity's -Z axis in the intended facing direction.\n *\n * @example\n * ```typescript\n * // Create a custom entity controller for myEntity, prior to spawning it.\n * myEntity.setController(new DefaultPlayerEntityController({\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 * **Category:** Controllers\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class DefaultPlayerEntityController extends "
            },
            {
              "kind": "Reference",
              "text": "BaseEntityController",
              "canonicalReference": "server!BaseEntityController:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/worlds/entities/controllers/DefaultPlayerEntityController.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "DefaultPlayerEntityController",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!DefaultPlayerEntityController:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `DefaultPlayerEntityController` class\n *\n * @param options - Options for the controller.\n *\n * **Category:** Controllers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "DefaultPlayerEntityControllerOptions",
                  "canonicalReference": "server!DefaultPlayerEntityControllerOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#applyDirectionalMovementRotations:member",
              "docComment": "/**\n * Whether to apply directional rotations to the entity while moving, defaults to true.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "applyDirectionalMovementRotations: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "applyDirectionalMovementRotations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!DefaultPlayerEntityController#attach:member(1)",
              "docComment": "/**\n * Called when the controller is attached to an entity.\n *\n * @remarks\n *\n * **Wraps `applyImpulse`:** The entity's `applyImpulse` method is wrapped to track external velocities separately from internal movement. External impulses decay over time when grounded.\n *\n * **Locks rotations:** Calls `entity.lockAllRotations()` to prevent physics from rotating the entity. Rotation is set explicitly by the controller based on camera orientation.\n *\n * **Enables CCD:** Enables continuous collision detection on the entity.\n *\n * **Swimming detection:** Registers a `BLOCK_COLLISION` listener to detect liquid blocks and manage swimming state, gravity scale, and animations.\n *\n * @param entity - The entity to attach the controller to.\n *\n * **Category:** Controllers\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!DefaultPlayerEntityController#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!DefaultPlayerEntityController#canJump:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can jump.\n *\n * @param controller - The default player 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": "(controller: "
                },
                {
                  "kind": "Reference",
                  "text": "DefaultPlayerEntityController",
                  "canonicalReference": "server!DefaultPlayerEntityController: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!DefaultPlayerEntityController#canRun:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can run.\n *\n * @param controller - The default player 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": "(controller: "
                },
                {
                  "kind": "Reference",
                  "text": "DefaultPlayerEntityController",
                  "canonicalReference": "server!DefaultPlayerEntityController: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!DefaultPlayerEntityController#canSwim:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can swim.\n *\n * @param controller - The default player entity controller instance.\n *\n * @returns Whether the entity of the entity controller can swim.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "canSwim: "
                },
                {
                  "kind": "Content",
                  "text": "(controller: "
                },
                {
                  "kind": "Reference",
                  "text": "DefaultPlayerEntityController",
                  "canonicalReference": "server!DefaultPlayerEntityController:class"
                },
                {
                  "kind": "Content",
                  "text": ") => boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "canSwim",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#canWalk:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can walk.\n *\n * @param controller - The default player 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": "(controller: "
                },
                {
                  "kind": "Reference",
                  "text": "DefaultPlayerEntityController",
                  "canonicalReference": "server!DefaultPlayerEntityController: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!DefaultPlayerEntityController#facesCameraWhenIdle:member",
              "docComment": "/**\n * Whether the entity rotates to face the camera direction when idle. When `true`, the entity always faces the camera direction. When `false`, the entity only rotates while actively moving.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "facesCameraWhenIdle: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "facesCameraWhenIdle",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#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!DefaultPlayerEntityController#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!DefaultPlayerEntityController#isActivelyMoving:member",
              "docComment": "/**\n * Whether the entity is moving from player inputs.\n *\n * **Category:** Controllers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isActivelyMoving(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isActivelyMoving",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#isGrounded:member",
              "docComment": "/**\n * Whether the entity is grounded.\n *\n * **Category:** Controllers\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!DefaultPlayerEntityController#isOnPlatform:member",
              "docComment": "/**\n * Whether the entity is on a platform.\n *\n * @remarks\n *\n * A platform is any entity with a kinematic rigid body.\n *\n * **Category:** Controllers\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!DefaultPlayerEntityController#isSwimming:member",
              "docComment": "/**\n * Whether the entity is swimming.\n *\n * @remarks\n *\n * Determined by whether the entity is in contact with a liquid block.\n *\n * **Category:** Controllers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isSwimming(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isSwimming",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#jumpLandHeavyOneshotAnimations:member",
              "docComment": "/**\n * The oneshot animation(s) that will play when the entity lands with a high velocity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jumpLandHeavyOneshotAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "jumpLandHeavyOneshotAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#jumpLandLightOneshotAnimations:member",
              "docComment": "/**\n * The oneshot animation(s) that will play when the entity lands after jumping or being airborne.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jumpLandLightOneshotAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "jumpLandLightOneshotAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#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!DefaultPlayerEntityController#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!DefaultPlayerEntityController#platform:member",
              "docComment": "/**\n * The platform the entity is on, if any.\n *\n * **Category:** Controllers\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!DefaultPlayerEntityController#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!DefaultPlayerEntityController#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!DefaultPlayerEntityController#spawn:member(1)",
              "docComment": "/**\n * Called when the controlled entity is spawned. In DefaultPlayerEntityController, this function is used to create the colliders for the entity for wall and ground detection.\n *\n * @remarks\n *\n * **Creates colliders:** Adds two child colliders to the entity: - `groundSensor`: Cylinder sensor below entity for ground/platform detection and landing animations - `wallCollider`: Capsule collider for wall collision with zero friction\n *\n * **Collider sizes scale:** Collider dimensions scale proportionally with `entity.height`.\n *\n * @param entity - The entity that is spawned.\n *\n * **Category:** Controllers\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!DefaultPlayerEntityController#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": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#swimFastVelocity:member",
              "docComment": "/**\n * The normalized horizontal velocity applied to the entity when it swims fast (equivalent to running).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimFastVelocity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "swimFastVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#swimGravity:member",
              "docComment": "/**\n * The gravity modifier applied to the entity when swimming.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimGravity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "swimGravity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#swimIdleLoopedAnimations:member",
              "docComment": "/**\n * The looped animation(s) that will play when the entity is not moving while swimming.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimIdleLoopedAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "swimIdleLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#swimLoopedAnimations:member",
              "docComment": "/**\n * The looped animation(s) that will play when the entity is swimming in any direction.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimLoopedAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "swimLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#swimMaxGravityVelocity:member",
              "docComment": "/**\n * The maximum downward velocity that the entity can reach when affected by gravity while swimming.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimMaxGravityVelocity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "swimMaxGravityVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#swimSlowVelocity:member",
              "docComment": "/**\n * The normalized horizontal velocity applied to the entity when it swims slowly (equivalent to walking).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimSlowVelocity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "swimSlowVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!DefaultPlayerEntityController#swimUpwardVelocity:member",
              "docComment": "/**\n * The upward velocity applied to the entity when swimming.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimUpwardVelocity: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "swimUpwardVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!DefaultPlayerEntityController#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 * @remarks\n *\n * **Rotation (-Z forward):** Sets entity rotation based on camera yaw. A yaw of 0 faces -Z. Movement direction offsets (WASD/joystick) are added to camera yaw to determine facing. Models must be authored with their front facing -Z.\n *\n * **Child entities:** If `entity.parent` is set, only emits the event and returns early. Movement logic is skipped for child entities.\n *\n * **Input cancellation:** If `autoCancelMouseLeftClick` is true (default), `input.ml` is set to `false` after processing to prevent repeated triggers.\n *\n * **Animations:** Automatically manages idle, walk, run, jump, swim, and interact animations based on movement state and input.\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 * **Category:** Controllers\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!DefaultPlayerEntityController#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!DefaultPlayerEntityController#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!DefaultPlayerEntityControllerOptions:interface",
          "docComment": "/**\n * Options for creating a DefaultPlayerEntityController instance.\n *\n * Use for: configuring default player movement and animation behavior at construction time. Do NOT use for: per-frame changes; override methods or adjust controller state instead.\n *\n * **Category:** Controllers\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface DefaultPlayerEntityControllerOptions "
            }
          ],
          "fileUrlPath": "src/worlds/entities/controllers/DefaultPlayerEntityController.ts",
          "releaseTag": "Public",
          "name": "DefaultPlayerEntityControllerOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#applyDirectionalMovementRotations:member",
              "docComment": "/**\n * Whether to apply directional rotations to the entity while moving, defaults to true.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "applyDirectionalMovementRotations?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "applyDirectionalMovementRotations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#canSwim:member",
              "docComment": "/**\n * A function allowing custom logic to determine if the entity can swim.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "canSwim?: "
                },
                {
                  "kind": "Content",
                  "text": "() => boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "canSwim",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#facesCameraWhenIdle:member",
              "docComment": "/**\n * Whether the entity rotates to face the camera direction when idle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "facesCameraWhenIdle?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "facesCameraWhenIdle",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#jumpLandHeavyOneshotAnimations:member",
              "docComment": "/**\n * Overrides the animation(s) that will play when the entity lands with a high velocity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jumpLandHeavyOneshotAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "jumpLandHeavyOneshotAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#jumpLandLightOneshotAnimations:member",
              "docComment": "/**\n * Overrides the animation(s) that will play when the entity lands after jumping or being airborne.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "jumpLandLightOneshotAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "jumpLandLightOneshotAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#swimFastVelocity:member",
              "docComment": "/**\n * The normalized horizontal velocity applied to the entity when it swims fast (equivalent to running).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimFastVelocity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "swimFastVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#swimGravity:member",
              "docComment": "/**\n * The gravity modifier applied to the entity when swimming.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimGravity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "swimGravity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#swimIdleLoopedAnimations:member",
              "docComment": "/**\n * The looped animation(s) that will play when the entity is not moving while swimming.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimIdleLoopedAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "swimIdleLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#swimLoopedAnimations:member",
              "docComment": "/**\n * The looped animation(s) that will play when the entity is swimming in any direction.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimLoopedAnimations?: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "swimLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#swimMaxGravityVelocity:member",
              "docComment": "/**\n * The maximum downward velocity that the entity can reach when affected by gravity while swimming.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimMaxGravityVelocity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "swimMaxGravityVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#swimSlowVelocity:member",
              "docComment": "/**\n * The normalized horizontal velocity applied to the entity when it swims slowly (equivalent to walking).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimSlowVelocity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "swimSlowVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#swimUpwardVelocity:member",
              "docComment": "/**\n * The upward velocity applied to the entity when swimming.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "swimUpwardVelocity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "swimUpwardVelocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityControllerOptions#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!DefaultPlayerEntityOptions:type",
          "docComment": "/**\n * Options for creating a DefaultPlayerEntity instance.\n *\n * Use for: customizing the default player avatar (for example cosmetic visibility). Do NOT use for: changing movement behavior; use `DefaultPlayerEntityControllerOptions`.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type DefaultPlayerEntityOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    cosmeticHiddenSlots?: "
            },
            {
              "kind": "Reference",
              "text": "PlayerCosmeticSlot",
              "canonicalReference": "server!PlayerCosmeticSlot:type"
            },
            {
              "kind": "Content",
              "text": "[];\n} & "
            },
            {
              "kind": "Reference",
              "text": "PlayerEntityOptions",
              "canonicalReference": "server!PlayerEntityOptions:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/entities/DefaultPlayerEntity.ts",
          "releaseTag": "Public",
          "name": "DefaultPlayerEntityOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 5
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!DynamicRigidBodyOptions:interface",
          "docComment": "/**\n * The options for a dynamic rigid body, also the default type.\n *\n * Use for: physics-driven bodies affected by forces and collisions. Do NOT use for: kinematic bodies; use the kinematic option types instead.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Entity:class",
          "docComment": "/**\n * Represents a dynamic or static object in a world.\n *\n * When to use: any non-player object that needs physics, visuals, or interactions. Do NOT use for: player-controlled avatars (use `PlayerEntity` / `DefaultPlayerEntity`). Do NOT use for: voxel blocks (use block APIs on `ChunkLattice`).\n *\n * @remarks\n *\n * Entities are created from a block texture or a `.gltf` model and can have rigid bodies, colliders, animations, and controllers.\n *\n * <h2>Coordinate System</h2>\n *\n * HYTOPIA uses a right-handed coordinate system where: - **+X** is right - **+Y** is up - **-Z** is forward (identity orientation)\n *\n * Models should be authored with their front/forward facing the **-Z axis**. When an entity has identity rotation (0,0,0,1 quaternion or yaw=0), it faces -Z.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `EntityEventPayloads`.\n *\n * @example\n * ```typescript\n * const spider = new Entity({\n *   name: 'Spider',\n *   modelUri: 'models/spider.gltf',\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 * **Category:** Entities\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/worlds/entities/Entity.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Entity",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!Entity:constructor(1)",
              "docComment": "/**\n * Creates a new Entity instance.\n *\n * Use for: defining a new entity before spawning it into a world. Do NOT use for: player-controlled avatars (use `PlayerEntity` or `DefaultPlayerEntity`).\n *\n * @remarks\n *\n * Exactly one of `blockTextureUri` or `modelUri` must be provided. If `controller` is provided, `controller.attach(this)` is called during construction (before spawn).\n *\n * @param options - The options for the entity.\n *\n * **Requires:** If `parent` is provided, it must already be spawned.\n *\n * **Side effects:** May attach the provided controller.\n *\n * **Category:** Entities\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#availableModelAnimationNames:member",
              "docComment": "/**\n * The names of the animations available in the entity's model.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get availableModelAnimationNames(): "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<string[]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "availableModelAnimationNames",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#availableModelNodeNames:member",
              "docComment": "/**\n * The names of the nodes available in the entity's model.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get availableModelNodeNames(): "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<string[]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "availableModelNodeNames",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#blockHalfExtents:member",
              "docComment": "/**\n * The half extents of the block entity's visual size.\n *\n * @remarks\n *\n * Only set for block entities.\n *\n * **Category:** Entities\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 texture URI for block entities.\n *\n * @remarks\n *\n * When set, this entity is treated as a block entity.\n *\n * **Category:** Entities\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": "Method",
              "canonicalReference": "server!Entity#clearModelNodeOverrides:member(1)",
              "docComment": "/**\n * Clears all model node overrides from the entity's model.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clearModelNodeOverrides(): "
                },
                {
                  "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": "clearModelNodeOverrides"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#controller:member",
              "docComment": "/**\n * The controller for the entity.\n *\n * **Category:** Entities\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": "Property",
              "canonicalReference": "server!Entity#depth:member",
              "docComment": "/**\n * The depth (Z-axis) of the entity's model or block size.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get depth(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "depth",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "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 * Use for: removing entities from the world. Do NOT use for: temporary hiding; consider visibility or animations instead.\n *\n * @remarks\n *\n * **Cascading:** Recursively despawns all child entities first (depth-first).\n *\n * **Controller:** Calls `controller.detach()` then `controller.despawn()` if attached.\n *\n * **Cleanup:** Automatically unregisters attached audios, despawns attached particle emitters, and unloads attached scene UIs from their respective managers.\n *\n * **Simulation:** Removes from physics simulation.\n *\n * **Side effects:** Emits `EntityEvent.DESPAWN` and unregisters from world managers.\n *\n * **Category:** Entities\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#emissiveColor:member",
              "docComment": "/**\n * The emissive color of the entity.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get emissiveColor(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "emissiveColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#emissiveIntensity:member",
              "docComment": "/**\n * The emissive intensity of the entity.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get emissiveIntensity(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "emissiveIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#getModelAnimation:member(1)",
              "docComment": "/**\n * Gets or lazily creates a model animation for the entity's model by name.\n *\n * @remarks\n *\n * Model entities only; returns `undefined` for block entities. If the animation does not yet exist, a new instance with default settings is created and added to `modelAnimations`. Use `availableModelAnimationNames` to discover which animation names exist in the model.\n *\n * @param name - The name of the animation to get or create.\n *\n * @returns The model animation instance, or `undefined` for block entities.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getModelAnimation(name: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getModelAnimation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#getModelNodeOverride:member(1)",
              "docComment": "/**\n * Gets or lazily creates a model node override for the entity's model.\n *\n * @remarks\n *\n * Model entities only; returns `undefined` for block entities. If the override does not yet exist, a new instance with default settings is created and added to `modelNodeOverrides`. Use `availableModelNodeNames` to discover which node names exist in the model.\n *\n * @param nameMatch - The node selector for the model node override to get or create. Case-insensitive exact match by default, with optional edge wildcard (`head*`, `*head`, `*head*`).\n *\n * @returns The model node override instance, or `undefined` for block entities.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getModelNodeOverride(nameMatch: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "nameMatch",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getModelNodeOverride"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#height:member",
              "docComment": "/**\n * The height (Y-axis) of the entity's model or block size.\n *\n * **Category:** Entities\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 * @remarks\n *\n * Assigned when the entity is spawned.\n *\n * **Category:** Entities\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": "Method",
              "canonicalReference": "server!Entity#interact:member(1)",
              "docComment": "/**\n * Triggers an interaction on the entity from a player.\n *\n * Use for: programmatic interactions that should mimic a player click/tap. Do NOT use for: server-only effects without player context.\n *\n * @remarks\n *\n * This is automatically called when a player clicks or taps the entity, but can also be called directly for programmatic interactions. Emits `EntityEvent.INTERACT`.\n *\n * @param player - The player interacting with the entity.\n *\n * @param raycastHit - The raycast hit result, if the interaction was triggered by a client-side click/tap.\n *\n * **Requires:** Entity must be spawned.\n *\n * **Side effects:** Emits `EntityEvent.INTERACT`.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "interact(player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ", raycastHit?: "
                },
                {
                  "kind": "Reference",
                  "text": "RaycastHit",
                  "canonicalReference": "server!RaycastHit: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": "player",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "raycastHit",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "interact"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#isBlockEntity:member",
              "docComment": "/**\n * Whether this entity is a block entity.\n *\n * **Category:** Entities\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#isEnvironmental:member",
              "docComment": "/**\n * Whether the entity is environmental.\n *\n * @remarks\n *\n * Environmental entities are excluded from per-tick controller updates and update emission.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isEnvironmental(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isEnvironmental",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#isModelEntity:member",
              "docComment": "/**\n * Whether this entity is a model entity.\n *\n * **Category:** Entities\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 in a world.\n *\n * **Category:** Entities\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#modelAnimations:member",
              "docComment": "/**\n * The animations of the entity's model that have been accessed or configured.\n *\n * @remarks\n *\n * Animations are lazily created on first access via `getModelAnimation()`. This array only contains animations that have been explicitly used, not every clip in the model.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelAnimations(): "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": "[]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#modelNodeOverrides:member",
              "docComment": "/**\n * The node overrides of the entity's model that have been accessed or configured.\n *\n * @remarks\n *\n * Node overrides are lazily created on first access via `getModelNodeOverride()`. This array only contains overrides that have been explicitly used.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelNodeOverrides(): "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": "[]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelNodeOverrides",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#modelPreferredShape:member",
              "docComment": "/**\n * The preferred collider shape when auto-generating colliders from the model.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelPreferredShape(): "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape",
                  "canonicalReference": "server!ColliderShape:enum"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelPreferredShape",
              "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 * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelScale(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "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#modelScaleInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to model scale changes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelScaleInterpolationMs(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelScaleInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#modelTextureUri:member",
              "docComment": "/**\n * The texture URI that overrides the model entity's default texture.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelTextureUri(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelTextureUri",
              "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.\n *\n * **Category:** Entities\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 * **Category:** Entities\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.\n *\n * **Category:** Entities\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#outline:member",
              "docComment": "/**\n * The outline rendering options for the entity.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get outline(): "
                },
                {
                  "kind": "Reference",
                  "text": "Outline",
                  "canonicalReference": "server!Outline:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "outline",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#parent:member",
              "docComment": "/**\n * The parent entity, if attached.\n *\n * **Category:** Entities\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 parent model node name, if attached.\n *\n * **Category:** Entities\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": "Property",
              "canonicalReference": "server!Entity#positionInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to position changes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get positionInterpolationMs(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "positionInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#removeModelNodeOverride:member(1)",
              "docComment": "/**\n * Removes a model node override from the entity's model.\n *\n * @param nameMatch - The name match of the model node override to remove.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "removeModelNodeOverride(nameMatch: "
                },
                {
                  "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": "nameMatch",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "removeModelNodeOverride"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#removeModelNodeOverrides:member(1)",
              "docComment": "/**\n * Removes multiple model node overrides from the entity's model.\n *\n * @param nameMatches - The name matches of the model node overrides to remove.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "removeModelNodeOverrides(nameMatches: "
                },
                {
                  "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": "nameMatches",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "removeModelNodeOverrides"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#rotationInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to rotation changes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rotationInterpolationMs(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "rotationInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setBlockTextureUri:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setBlockTextureUri(blockTextureUri: "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "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": "blockTextureUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setBlockTextureUri"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setEmissiveColor:member(1)",
              "docComment": "/**\n * Sets the emissive color of the entity.\n *\n * Use for: glow effects or highlighted states.\n *\n * @param emissiveColor - The emissive color of the entity.\n *\n * **Side effects:** Emits `EntityEvent.SET_EMISSIVE_COLOR` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setEmissiveColor(emissiveColor: "
                },
                {
                  "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": "emissiveColor",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setEmissiveColor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setEmissiveIntensity:member(1)",
              "docComment": "/**\n * Sets the emissive intensity of the entity.\n *\n * @param emissiveIntensity - The emissive intensity of the entity. Use a value over 1 for brighter emissive effects.\n *\n * **Side effects:** Emits `EntityEvent.SET_EMISSIVE_INTENSITY` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setEmissiveIntensity(emissiveIntensity: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "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": "emissiveIntensity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setEmissiveIntensity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setModelScale:member(1)",
              "docComment": "/**\n * Sets the scale of the entity's model and proportionally scales its colliders.\n *\n * @remarks\n *\n * Model entities only; no effect for block entities.\n *\n * **Collider scaling is relative:** Colliders are scaled by the ratio of new/old scale, not set to absolute values. Example: scaling from 1 to 2 doubles collider size; scaling from 2 to 4 also doubles it.\n *\n * **Reference equality check:** Uses `===` to compare with current scale, so passing the same object reference will early return even if values changed. Always pass a new object.\n *\n * @param modelScale - The scale of the entity's model. Can be a vector or a number for uniform scaling.\n *\n * **Side effects:** Scales existing colliders and emits `EntityEvent.SET_MODEL_SCALE` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setModelScale(modelScale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | number"
                },
                {
                  "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": "modelScale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setModelScale"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setModelScaleInterpolationMs:member(1)",
              "docComment": "/**\n * Sets the interpolation time in milliseconds applied to model scale changes.\n *\n * @param interpolationMs - The interpolation time in milliseconds to set.\n *\n * **Side effects:** Emits `EntityEvent.SET_MODEL_SCALE_INTERPOLATION_MS` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setModelScaleInterpolationMs(interpolationMs: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "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": "interpolationMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setModelScaleInterpolationMs"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setModelTextureUri:member(1)",
              "docComment": "/**\n * Sets the texture uri of the entity's model. Setting this overrides the model's default texture.\n *\n * @remarks\n *\n * Model entities only; no effect for block entities.\n *\n * @param modelTextureUri - The texture uri of the entity's model.\n *\n * **Side effects:** Emits `EntityEvent.SET_MODEL_TEXTURE_URI` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setModelTextureUri(modelTextureUri: "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "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": "modelTextureUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setModelTextureUri"
            },
            {
              "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 * **Side effects:** Emits `EntityEvent.SET_OPACITY` when spawned.\n *\n * **Category:** Entities\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#setOutline:member(1)",
              "docComment": "/**\n * Sets the outline rendering options for the entity.\n *\n * @param outline - The outline options, or undefined to remove the outline.\n *\n * @param forPlayer - The player to set the outline for, if undefined the outline will be set for all players.\n *\n * **Side effects:** Emits `EntityEvent.SET_OUTLINE` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOutline(outline: "
                },
                {
                  "kind": "Reference",
                  "text": "Outline",
                  "canonicalReference": "server!Outline:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ", forPlayer?: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "outline",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "forPlayer",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOutline"
            },
            {
              "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 * **Requires:** If `parent` is provided, it must be spawned.\n *\n * **Side effects:** Disables/enables colliders, changes rigid body type, and emits `EntityEvent.SET_PARENT`.\n *\n * **Category:** Entities\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#setPositionInterpolationMs:member(1)",
              "docComment": "/**\n * Sets the interpolation time in milliseconds applied to position changes.\n *\n * @param interpolationMs - The interpolation time in milliseconds to set.\n *\n * **Side effects:** Emits `EntityEvent.SET_POSITION_INTERPOLATION_MS` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPositionInterpolationMs(interpolationMs: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "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": "interpolationMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPositionInterpolationMs"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#setRotationInterpolationMs:member(1)",
              "docComment": "/**\n * Sets the interpolation time in milliseconds applied to rotation changes.\n *\n * @param interpolationMs - The interpolation time in milliseconds to set.\n *\n * **Side effects:** Emits `EntityEvent.SET_ROTATION_INTERPOLATION_MS` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setRotationInterpolationMs(interpolationMs: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "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": "interpolationMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setRotationInterpolationMs"
            },
            {
              "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 * **Side effects:** Emits `EntityEvent.SET_TINT_COLOR` when spawned.\n *\n * **Category:** Entities\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 * Use for: placing the entity into a world so it simulates and syncs to clients. Do NOT use for: reusing a single entity instance across multiple worlds.\n *\n * @remarks\n *\n * **Rotation default:** If no rotation is provided, entity spawns with identity rotation facing -Z. For Y-axis rotation (yaw): `{ x: 0, y: sin(yaw/2), z: 0, w: cos(yaw/2) }`. Yaw 0 = facing -Z.\n *\n * **Auto-collider creation:** If no colliders are provided, a default collider is auto-generated from the model bounds (or block half extents). Set `modelPreferredShape` to `ColliderShape.NONE` to disable.\n *\n * **Collision groups:** Colliders with default collision groups are auto-assigned based on `isEnvironmental` and `isSensor` flags. Environmental entities don't collide with blocks or other environmental entities.\n *\n * **Event enabling:** Collision/contact force events are auto-enabled on colliders if listeners are registered for `BLOCK_COLLISION`, `ENTITY_COLLISION`, `BLOCK_CONTACT_FORCE`, or `ENTITY_CONTACT_FORCE` prior to spawning.\n *\n * **Controller:** If a controller is attached, `controller.spawn()` is called after the entity is added to the physics simulation.\n *\n * **Parent handling:** If `parent` was set in options, `setParent()` is called after spawn with the provided position/rotation.\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 * **Requires:** Entity must not already be spawned.\n *\n * **Side effects:** Registers the entity, adds it to the simulation, and emits `EntityEvent.SPAWN`.\n *\n * **Category:** Entities\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#stopAllModelAnimations:member(1)",
              "docComment": "/**\n * Stops all model animations for the entity, optionally excluding the provided animations from stopping.\n *\n * @param exclusionFilter - The filter to determine if a model animation should be excluded from being stopped.\n *\n * **Side effects:** May emit `EntityModelAnimationEvent.STOP` for each stopped animation.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stopAllModelAnimations(exclusionFilter?: "
                },
                {
                  "kind": "Content",
                  "text": "(modelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ">) => boolean"
                },
                {
                  "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": "exclusionFilter",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "stopAllModelAnimations"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Entity#stopModelAnimations:member(1)",
              "docComment": "/**\n * Stops the provided model animations for the entity.\n *\n * @param modelAnimationNames - The model animation names to stop.\n *\n * **Side effects:** May emit `EntityModelAnimationEvent.STOP` for each stopped animation.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stopModelAnimations(modelAnimationNames: "
                },
                {
                  "kind": "Content",
                  "text": "readonly 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": "modelAnimationNames",
                  "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 for your own logic.\n *\n * **Category:** Entities\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 * **Category:** Entities\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#width:member",
              "docComment": "/**\n * The width (X-axis) of the entity's model or block size.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get width(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "width",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Entity#world:member",
              "docComment": "/**\n * The world the entity is in, if spawned.\n *\n * **Category:** Entities\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.\n *\n * See `EntityEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum EntityEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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.INTERACT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "INTERACT = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.INTERACT\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "INTERACT"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.REMOVE_MODEL_NODE_OVERRIDE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REMOVE_MODEL_NODE_OVERRIDE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.REMOVE_MODEL_NODE_OVERRIDE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "REMOVE_MODEL_NODE_OVERRIDE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_BLOCK_TEXTURE_URI:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_BLOCK_TEXTURE_URI = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_BLOCK_TEXTURE_URI\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_BLOCK_TEXTURE_URI"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_EMISSIVE_COLOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_EMISSIVE_COLOR = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_EMISSIVE_COLOR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_EMISSIVE_COLOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_EMISSIVE_INTENSITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_EMISSIVE_INTENSITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_EMISSIVE_INTENSITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_EMISSIVE_INTENSITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_MODEL_SCALE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_MODEL_SCALE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_MODEL_SCALE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_MODEL_SCALE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_MODEL_SCALE_INTERPOLATION_MS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_MODEL_SCALE_INTERPOLATION_MS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_MODEL_SCALE_INTERPOLATION_MS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_MODEL_SCALE_INTERPOLATION_MS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_MODEL_TEXTURE_URI:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_MODEL_TEXTURE_URI = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_MODEL_TEXTURE_URI\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_MODEL_TEXTURE_URI"
            },
            {
              "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_OUTLINE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OUTLINE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_OUTLINE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OUTLINE"
            },
            {
              "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_POSITION_INTERPOLATION_MS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_POSITION_INTERPOLATION_MS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_POSITION_INTERPOLATION_MS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_POSITION_INTERPOLATION_MS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityEvent.SET_ROTATION_INTERPOLATION_MS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ROTATION_INTERPOLATION_MS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY.SET_ROTATION_INTERPOLATION_MS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ROTATION_INTERPOLATION_MS"
            },
            {
              "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.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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface EntityEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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.INTERACT\":member",
              "docComment": "/**\n * Emitted when a player interacts with the entity by clicking or tapping it.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.INTERACT",
                  "canonicalReference": "server!EntityEvent.INTERACT:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        raycastHit?: "
                },
                {
                  "kind": "Reference",
                  "text": "RaycastHit",
                  "canonicalReference": "server!RaycastHit:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.INTERACT\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.REMOVE_MODEL_NODE_OVERRIDE\":member",
              "docComment": "/**\n * Emitted when a model node override is removed from the entity's model.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.REMOVE_MODEL_NODE_OVERRIDE",
                  "canonicalReference": "server!EntityEvent.REMOVE_MODEL_NODE_OVERRIDE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.REMOVE_MODEL_NODE_OVERRIDE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_BLOCK_TEXTURE_URI\":member",
              "docComment": "/**\n * Emitted when the texture uri of a block entity is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_BLOCK_TEXTURE_URI",
                  "canonicalReference": "server!EntityEvent.SET_BLOCK_TEXTURE_URI:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        blockTextureUri: string | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_BLOCK_TEXTURE_URI\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_EMISSIVE_COLOR\":member",
              "docComment": "/**\n * Emitted when the emissive color is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_EMISSIVE_COLOR",
                  "canonicalReference": "server!EntityEvent.SET_EMISSIVE_COLOR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        emissiveColor: "
                },
                {
                  "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_EMISSIVE_COLOR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_EMISSIVE_INTENSITY\":member",
              "docComment": "/**\n * Emitted when the emissive intensity is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_EMISSIVE_INTENSITY",
                  "canonicalReference": "server!EntityEvent.SET_EMISSIVE_INTENSITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        emissiveIntensity: number | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_EMISSIVE_INTENSITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_MODEL_SCALE_INTERPOLATION_MS\":member",
              "docComment": "/**\n * Emitted when the interpolation time in milliseconds applied to model scale changes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_MODEL_SCALE_INTERPOLATION_MS",
                  "canonicalReference": "server!EntityEvent.SET_MODEL_SCALE_INTERPOLATION_MS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        interpolationMs: number | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_MODEL_SCALE_INTERPOLATION_MS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_MODEL_SCALE\":member",
              "docComment": "/**\n * Emitted when the scale of the entity's model is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_MODEL_SCALE",
                  "canonicalReference": "server!EntityEvent.SET_MODEL_SCALE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        modelScale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_MODEL_SCALE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_MODEL_TEXTURE_URI\":member",
              "docComment": "/**\n * Emitted when the texture uri of the entity's model is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_MODEL_TEXTURE_URI",
                  "canonicalReference": "server!EntityEvent.SET_MODEL_TEXTURE_URI:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        modelTextureUri: string | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_MODEL_TEXTURE_URI\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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_OUTLINE\":member",
              "docComment": "/**\n * Emitted when the outline of the entity is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_OUTLINE",
                  "canonicalReference": "server!EntityEvent.SET_OUTLINE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        outline: "
                },
                {
                  "kind": "Reference",
                  "text": "Outline",
                  "canonicalReference": "server!Outline:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n        forPlayer?: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_OUTLINE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 10
              }
            },
            {
              "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_POSITION_INTERPOLATION_MS\":member",
              "docComment": "/**\n * Emitted when the interpolation time in milliseconds applied to position changes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_POSITION_INTERPOLATION_MS",
                  "canonicalReference": "server!EntityEvent.SET_POSITION_INTERPOLATION_MS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        interpolationMs: number | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_POSITION_INTERPOLATION_MS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityEventPayloads#\"ENTITY.SET_ROTATION_INTERPOLATION_MS\":member",
              "docComment": "/**\n * Emitted when the interpolation time in milliseconds applied to rotation changes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityEvent.SET_ROTATION_INTERPOLATION_MS",
                  "canonicalReference": "server!EntityEvent.SET_ROTATION_INTERPOLATION_MS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        interpolationMs: number | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY.SET_ROTATION_INTERPOLATION_MS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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.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 * When to use: querying and filtering entities within a specific world. Do NOT use for: cross-world queries; access each world's manager separately.\n *\n * @remarks\n *\n * The EntityManager is created internally per `World` 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 `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 * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class EntityManager "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "EntityManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!EntityManager#entityCount:member",
              "docComment": "/**\n * The number of spawned entities in the world.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get entityCount(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "entityCount",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "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 * **Category:** Entities\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 * **Category:** Entities\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 * **Category:** Entities\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 * **Category:** Entities\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 * **Category:** Entities\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 * @remarks\n *\n * Direct children only; does not include recursive descendants.\n *\n * @param entity - The entity to get the children for.\n *\n * @returns All direct child entities of the entity.\n *\n * **Category:** Entities\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 player 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 player entities in the world assigned to the player.\n *\n * **Category:** Entities\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 this manager is for.\n *\n * **Category:** Entities\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": "Class",
          "canonicalReference": "server!EntityModelAnimation:class",
          "docComment": "/**\n * Represents a single animation of the model used for an Entity.\n *\n * When to use: controlling individual animation playback, blending, and looping on model entities. Do NOT use for: block entities (they have no model animations).\n *\n * @remarks\n *\n * EntityModelAnimation instances are composed by an Entity and represent a single animation clip from the entity's model. Events are emitted through the parent Entity's event router and its world.\n *\n * <h2>Events</h2>\n *\n * Events emitted by this class are listed under `EntityModelAnimationEventPayloads`. They are emitted via the parent entity's event router.\n *\n * @example\n * ```typescript\n * const walkAnimation = entity.getModelAnimation('walk');\n * walkAnimation.setLoopMode(EntityModelAnimationLoopMode.LOOP);\n * walkAnimation.play();\n * walkAnimation.setPlaybackRate(2);\n * ```\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class EntityModelAnimation implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelAnimation.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "EntityModelAnimation",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!EntityModelAnimation:constructor(1)",
              "docComment": "/**\n * Creates a new EntityModelAnimation instance.\n *\n * @param options - The options for the entity model animation.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationOptions",
                  "canonicalReference": "server!EntityModelAnimationOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#blendMode:member",
              "docComment": "/**\n * The blend mode of the entity model animation.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get blendMode(): "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationBlendMode",
                  "canonicalReference": "server!EntityModelAnimationBlendMode:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "blendMode",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#clampWhenFinished:member",
              "docComment": "/**\n * Whether the animation should clamp when finished, holding the last frame.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get clampWhenFinished(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "clampWhenFinished",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#entity:member",
              "docComment": "/**\n * The entity that the entity model animation belongs to.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get entity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "entity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#fadesIn:member",
              "docComment": "/**\n * Whether the animation fades in when played or restarted.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get fadesIn(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "fadesIn",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#fadesOut:member",
              "docComment": "/**\n * Whether the animation fades out when paused or stopped.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get fadesOut(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "fadesOut",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#isPaused:member",
              "docComment": "/**\n * Whether the animation is currently paused.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isPaused(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isPaused",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#isPlaying:member",
              "docComment": "/**\n * Whether the animation is currently playing.\n *\n * **Category:** Entities\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!EntityModelAnimation#isStopped:member",
              "docComment": "/**\n * Whether the animation is currently stopped.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isStopped(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isStopped",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#loopMode:member",
              "docComment": "/**\n * The loop mode of the entity model animation.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get loopMode(): "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationLoopMode",
                  "canonicalReference": "server!EntityModelAnimationLoopMode:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "loopMode",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#name:member",
              "docComment": "/**\n * The name of the entity model animation.\n *\n * @remarks\n *\n * This is the name of the animation as defined in the model.\n *\n * **Category:** Entities\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": "Method",
              "canonicalReference": "server!EntityModelAnimation#pause:member(1)",
              "docComment": "/**\n * Pauses the entity model animation, does nothing if already paused.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.PAUSE` when spawned.\n *\n * **Category:** Entities\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!EntityModelAnimation#play:member(1)",
              "docComment": "/**\n * Plays the entity model animation, does nothing if already playing.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.PLAY` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "play(): "
                },
                {
                  "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": "play"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#playbackRate:member",
              "docComment": "/**\n * The playback rate of the entity model animation.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get playbackRate(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "playbackRate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelAnimation#restart:member(1)",
              "docComment": "/**\n * Restarts the entity model animation from the beginning.\n *\n * @remarks\n *\n * Unlike `play()`, this always emits even if the animation is already playing, allowing the animation to restart from the beginning.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.RESTART` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "restart(): "
                },
                {
                  "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": "restart"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelAnimation#setBlendMode:member(1)",
              "docComment": "/**\n * Sets the blend mode of the entity model animation.\n *\n * @param blendMode - The blend mode of the entity model animation.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.SET_BLEND_MODE` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setBlendMode(blendMode: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationBlendMode",
                  "canonicalReference": "server!EntityModelAnimationBlendMode: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": "blendMode",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setBlendMode"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelAnimation#setClampWhenFinished:member(1)",
              "docComment": "/**\n * Sets whether the animation should clamp when finished, holding the last frame.\n *\n * @param clampWhenFinished - Whether to clamp when finished.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.SET_CLAMP_WHEN_FINISHED` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setClampWhenFinished(clampWhenFinished: "
                },
                {
                  "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": "clampWhenFinished",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setClampWhenFinished"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelAnimation#setFadesIn:member(1)",
              "docComment": "/**\n * Sets whether the animation fades in when played or restarted.\n *\n * @param fadesIn - Whether the animation should fade in when played or restarted.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.SET_FADES_IN` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFadesIn(fadesIn: "
                },
                {
                  "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": "fadesIn",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFadesIn"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelAnimation#setFadesOut:member(1)",
              "docComment": "/**\n * Sets whether the animation fades out when paused or stopped.\n *\n * @param fadesOut - Whether the animation should fade out when paused or stopped.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.SET_FADES_OUT` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFadesOut(fadesOut: "
                },
                {
                  "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": "fadesOut",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFadesOut"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelAnimation#setLoopMode:member(1)",
              "docComment": "/**\n * Sets the loop mode of the entity model animation.\n *\n * @param loopMode - The loop mode of the entity model animation.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.SET_LOOP_MODE` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLoopMode(loopMode: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationLoopMode",
                  "canonicalReference": "server!EntityModelAnimationLoopMode: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": "loopMode",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLoopMode"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelAnimation#setPlaybackRate:member(1)",
              "docComment": "/**\n * Sets the playback rate of the entity model animation.\n *\n * @remarks\n *\n * A positive value plays the animation forward, a negative value plays it in reverse. Defaults to 1.\n *\n * @param playbackRate - The playback rate of the entity model animation.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.SET_PLAYBACK_RATE` when spawned.\n *\n * **Category:** Entities\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!EntityModelAnimation#setWeight:member(1)",
              "docComment": "/**\n * Sets the weight of the entity model animation for blending with other playing animations.\n *\n * @param weight - The weight of the entity model animation.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.SET_WEIGHT` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setWeight(weight: "
                },
                {
                  "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": "weight",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setWeight"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelAnimation#stop:member(1)",
              "docComment": "/**\n * Stops the entity model animation, does nothing if already stopped.\n *\n * **Side effects:** Emits `EntityModelAnimationEvent.STOP` when spawned.\n *\n * **Category:** Entities\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"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelAnimation#weight:member",
              "docComment": "/**\n * The weight of the entity model animation.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get weight(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "weight",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!EntityModelAnimationBlendMode:enum",
          "docComment": "/**\n * The blend mode of an entity model animation.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum EntityModelAnimationBlendMode "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelAnimation.ts",
          "releaseTag": "Public",
          "name": "EntityModelAnimationBlendMode",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationBlendMode.ADDITIVE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ADDITIVE = "
                },
                {
                  "kind": "Content",
                  "text": "0"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ADDITIVE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationBlendMode.NORMAL:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "NORMAL = "
                },
                {
                  "kind": "Content",
                  "text": "1"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "NORMAL"
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!EntityModelAnimationEvent:enum",
          "docComment": "/**\n * Event types an EntityModelAnimation instance can emit.\n *\n * See `EntityModelAnimationEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum EntityModelAnimationEvent "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelAnimation.ts",
          "releaseTag": "Public",
          "name": "EntityModelAnimationEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.PAUSE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PAUSE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.PAUSE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PAUSE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.PLAY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAY = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.PLAY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.RESTART:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "RESTART = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.RESTART\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "RESTART"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.SET_BLEND_MODE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_BLEND_MODE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.SET_BLEND_MODE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_BLEND_MODE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.SET_CLAMP_WHEN_FINISHED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_CLAMP_WHEN_FINISHED = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.SET_CLAMP_WHEN_FINISHED\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_CLAMP_WHEN_FINISHED"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.SET_FADES_IN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_FADES_IN = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.SET_FADES_IN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_FADES_IN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.SET_FADES_OUT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_FADES_OUT = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.SET_FADES_OUT\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_FADES_OUT"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.SET_LOOP_MODE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LOOP_MODE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.SET_LOOP_MODE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LOOP_MODE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.SET_PLAYBACK_RATE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_PLAYBACK_RATE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.SET_PLAYBACK_RATE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_PLAYBACK_RATE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.SET_WEIGHT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_WEIGHT = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.SET_WEIGHT\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_WEIGHT"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationEvent.STOP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "STOP = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_ANIMATION.STOP\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "STOP"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!EntityModelAnimationEventPayloads:interface",
          "docComment": "/**\n * Event payloads for EntityModelAnimation emitted events.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface EntityModelAnimationEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelAnimation.ts",
          "releaseTag": "Public",
          "name": "EntityModelAnimationEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.PAUSE\":member",
              "docComment": "/**\n * Emitted when an entity model animation is paused.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.PAUSE",
                  "canonicalReference": "server!EntityModelAnimationEvent.PAUSE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.PAUSE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.PLAY\":member",
              "docComment": "/**\n * Emitted when an entity model animation is played.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.PLAY",
                  "canonicalReference": "server!EntityModelAnimationEvent.PLAY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.PLAY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.RESTART\":member",
              "docComment": "/**\n * Emitted when an entity model animation is restarted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.RESTART",
                  "canonicalReference": "server!EntityModelAnimationEvent.RESTART:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.RESTART\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.SET_BLEND_MODE\":member",
              "docComment": "/**\n * Emitted when the blend mode of an entity model animation is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.SET_BLEND_MODE",
                  "canonicalReference": "server!EntityModelAnimationEvent.SET_BLEND_MODE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        blendMode: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationBlendMode",
                  "canonicalReference": "server!EntityModelAnimationBlendMode:enum"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.SET_BLEND_MODE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.SET_CLAMP_WHEN_FINISHED\":member",
              "docComment": "/**\n * Emitted when the clamp when finished setting of an entity model animation is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.SET_CLAMP_WHEN_FINISHED",
                  "canonicalReference": "server!EntityModelAnimationEvent.SET_CLAMP_WHEN_FINISHED:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        clampWhenFinished: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.SET_CLAMP_WHEN_FINISHED\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.SET_FADES_IN\":member",
              "docComment": "/**\n * Emitted when the fade in behavior of an entity model animation is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.SET_FADES_IN",
                  "canonicalReference": "server!EntityModelAnimationEvent.SET_FADES_IN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        fadesIn: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.SET_FADES_IN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.SET_FADES_OUT\":member",
              "docComment": "/**\n * Emitted when the fade out behavior of an entity model animation is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.SET_FADES_OUT",
                  "canonicalReference": "server!EntityModelAnimationEvent.SET_FADES_OUT:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        fadesOut: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.SET_FADES_OUT\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.SET_LOOP_MODE\":member",
              "docComment": "/**\n * Emitted when the loop mode of an entity model animation is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.SET_LOOP_MODE",
                  "canonicalReference": "server!EntityModelAnimationEvent.SET_LOOP_MODE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        loopMode: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationLoopMode",
                  "canonicalReference": "server!EntityModelAnimationLoopMode:enum"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.SET_LOOP_MODE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.SET_PLAYBACK_RATE\":member",
              "docComment": "/**\n * Emitted when the playback rate of an entity model animation is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.SET_PLAYBACK_RATE",
                  "canonicalReference": "server!EntityModelAnimationEvent.SET_PLAYBACK_RATE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        playbackRate: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.SET_PLAYBACK_RATE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.SET_WEIGHT\":member",
              "docComment": "/**\n * Emitted when the weight of an entity model animation is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.SET_WEIGHT",
                  "canonicalReference": "server!EntityModelAnimationEvent.SET_WEIGHT:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        weight: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.SET_WEIGHT\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationEventPayloads#\"ENTITY_MODEL_ANIMATION.STOP\":member",
              "docComment": "/**\n * Emitted when an entity model animation is stopped.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationEvent.STOP",
                  "canonicalReference": "server!EntityModelAnimationEvent.STOP:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelAnimation: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimation",
                  "canonicalReference": "server!EntityModelAnimation:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_ANIMATION.STOP\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!EntityModelAnimationLoopMode:enum",
          "docComment": "/**\n * The loop mode of an entity model animation.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum EntityModelAnimationLoopMode "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelAnimation.ts",
          "releaseTag": "Public",
          "name": "EntityModelAnimationLoopMode",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationLoopMode.LOOP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "LOOP = "
                },
                {
                  "kind": "Content",
                  "text": "1"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "LOOP"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationLoopMode.ONCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ONCE = "
                },
                {
                  "kind": "Content",
                  "text": "0"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ONCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationLoopMode.PING_PONG:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PING_PONG = "
                },
                {
                  "kind": "Content",
                  "text": "2"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PING_PONG"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!EntityModelAnimationOptions:interface",
          "docComment": "/**\n * The options for creating an EntityModelAnimation instance.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface EntityModelAnimationOptions "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelAnimation.ts",
          "releaseTag": "Public",
          "name": "EntityModelAnimationOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationOptions#blendMode:member",
              "docComment": "/**\n * The initial blend mode of the entity model animation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "blendMode?: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationBlendMode",
                  "canonicalReference": "server!EntityModelAnimationBlendMode:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "blendMode",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationOptions#clampWhenFinished:member",
              "docComment": "/**\n * Whether the animation should clamp when finished, holding the last frame.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clampWhenFinished?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "clampWhenFinished",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationOptions#entity:member",
              "docComment": "/**\n * The entity that the entity model animation belongs to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "entity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationOptions#fadesIn:member",
              "docComment": "/**\n * Whether the animation fades in when played or restarted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "fadesIn?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "fadesIn",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationOptions#fadesOut:member",
              "docComment": "/**\n * Whether the animation fades out when paused or stopped.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "fadesOut?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "fadesOut",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationOptions#loopMode:member",
              "docComment": "/**\n * The initial loop mode of the entity model animation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "loopMode?: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationLoopMode",
                  "canonicalReference": "server!EntityModelAnimationLoopMode:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "loopMode",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationOptions#name:member",
              "docComment": "/**\n * The name of the entity model animation.\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!EntityModelAnimationOptions#play:member",
              "docComment": "/**\n * Whether the animation should start playing on construction.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "play?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "play",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelAnimationOptions#playbackRate:member",
              "docComment": "/**\n * The initial playback rate of the entity model animation.\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!EntityModelAnimationOptions#weight:member",
              "docComment": "/**\n * The initial blend weight of the entity model animation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "weight?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "weight",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!EntityModelAnimationState:enum",
          "docComment": "/**\n * The state of an entity model animation.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum EntityModelAnimationState "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelAnimation.ts",
          "releaseTag": "Public",
          "name": "EntityModelAnimationState",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationState.PAUSED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PAUSED = "
                },
                {
                  "kind": "Content",
                  "text": "1"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PAUSED"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationState.PLAYING:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAYING = "
                },
                {
                  "kind": "Content",
                  "text": "0"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAYING"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelAnimationState.STOPPED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "STOPPED = "
                },
                {
                  "kind": "Content",
                  "text": "2"
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "STOPPED"
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!EntityModelNodeOverride:class",
          "docComment": "/**\n * Represents a name-match model node override rule for an Entity.\n *\n * When to use: configuring visual and transform overrides for one or more model nodes selected by name match.\n *\n * @remarks\n *\n * Node overrides are match-rule based and may target multiple nodes. Matching is case-insensitive. Exact match is used by default; wildcard matching is only enabled when `*` is used at the start and/or end of `nameMatch` (`head*`, `*head`, `*head*`). Supported override settings include emissive color/intensity, hidden state, and local position/rotation/scale.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class EntityModelNodeOverride implements "
            },
            {
              "kind": "Reference",
              "text": "protocol.Serializable",
              "canonicalReference": "@hytopia.com/server-protocol!Serializable:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelNodeOverride.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "EntityModelNodeOverride",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!EntityModelNodeOverride:constructor(1)",
              "docComment": "/**\n * Creates a new EntityModelNodeOverride instance.\n *\n * @param options - The options for the model node override.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideOptions",
                  "canonicalReference": "server!EntityModelNodeOverrideOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#emissiveColor:member",
              "docComment": "/**\n * The emissive color for matching nodes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get emissiveColor(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "emissiveColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#emissiveIntensity:member",
              "docComment": "/**\n * The emissive intensity for matching nodes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get emissiveIntensity(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "emissiveIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#entity:member",
              "docComment": "/**\n * The entity that the model node override belongs to.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get entity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "entity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#isHidden:member",
              "docComment": "/**\n * Whether the matched node(s) are hidden.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isHidden(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isHidden",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#localPosition:member",
              "docComment": "/**\n * The local position set for matching nodes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get localPosition(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "localPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#localPositionInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to local position changes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get localPositionInterpolationMs(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "localPositionInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#localRotation:member",
              "docComment": "/**\n * The local rotation set for matching nodes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get localRotation(): "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "localRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#localRotationInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to local rotation changes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get localRotationInterpolationMs(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "localRotationInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#localScale:member",
              "docComment": "/**\n * The local scale set for matching nodes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get localScale(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "localScale",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#localScaleInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to local scale changes.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get localScaleInterpolationMs(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "localScaleInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EntityModelNodeOverride#name:member",
              "docComment": "/**\n * Alias used by networking serializer and protocol schema (`n`).\n *\n * **Category:** Entities\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!EntityModelNodeOverride#nameMatch:member",
              "docComment": "/**\n * The node name match selector for this override. Exact match by default, with optional edge wildcard (`head*`, `*head`, `*head*`).\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get nameMatch(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "nameMatch",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#remove:member(1)",
              "docComment": "/**\n * Removes this model node override from its parent entity.\n *\n * @remarks\n *\n * This delegates to `Entity.removeModelNodeOverride()` so that map mutation and related event emission remain centralized on the entity.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "remove(): "
                },
                {
                  "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": "remove"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setEmissiveColor:member(1)",
              "docComment": "/**\n * Sets the emissive color for matching nodes.\n *\n * @param emissiveColor - The emissive color to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_EMISSIVE_COLOR` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setEmissiveColor(emissiveColor: "
                },
                {
                  "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": "emissiveColor",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setEmissiveColor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setEmissiveIntensity:member(1)",
              "docComment": "/**\n * Sets the emissive intensity for matching nodes.\n *\n * @param emissiveIntensity - The emissive intensity to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_EMISSIVE_INTENSITY` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setEmissiveIntensity(emissiveIntensity: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "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": "emissiveIntensity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setEmissiveIntensity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setHidden:member(1)",
              "docComment": "/**\n * Sets the hidden state for matching nodes.\n *\n * @param hidden - The hidden state to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_HIDDEN` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setHidden(hidden: "
                },
                {
                  "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": "hidden",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setHidden"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setLocalPosition:member(1)",
              "docComment": "/**\n * Sets the local position for matching nodes.\n *\n * @param localPosition - The local position to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_LOCAL_POSITION` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLocalPosition(localPosition: "
                },
                {
                  "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": "localPosition",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLocalPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setLocalPositionInterpolationMs:member(1)",
              "docComment": "/**\n * Sets the interpolation time in milliseconds applied to local position changes.\n *\n * @param interpolationMs - The interpolation time in milliseconds to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_LOCAL_POSITION_INTERPOLATION_MS` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLocalPositionInterpolationMs(interpolationMs: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "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": "interpolationMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLocalPositionInterpolationMs"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setLocalRotation:member(1)",
              "docComment": "/**\n * Sets the local rotation for matching nodes.\n *\n * @param localRotation - The local rotation to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_LOCAL_ROTATION` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLocalRotation(localRotation: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike: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": "localRotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLocalRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setLocalRotationInterpolationMs:member(1)",
              "docComment": "/**\n * Sets the interpolation time in milliseconds applied to local rotation changes.\n *\n * @param interpolationMs - The interpolation time in milliseconds to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_LOCAL_ROTATION_INTERPOLATION_MS` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLocalRotationInterpolationMs(interpolationMs: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "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": "interpolationMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLocalRotationInterpolationMs"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setLocalScale:member(1)",
              "docComment": "/**\n * Sets the local scale for matching nodes.\n *\n * @param localScale - The local scale to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_LOCAL_SCALE` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLocalScale(localScale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | number | 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": "localScale",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLocalScale"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EntityModelNodeOverride#setLocalScaleInterpolationMs:member(1)",
              "docComment": "/**\n * Sets the interpolation time in milliseconds applied to local scale changes.\n *\n * @param interpolationMs - The interpolation time in milliseconds to set.\n *\n * **Side effects:** Emits `EntityModelNodeOverrideEvent.SET_LOCAL_SCALE_INTERPOLATION_MS` when spawned.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLocalScaleInterpolationMs(interpolationMs: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "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": "interpolationMs",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLocalScaleInterpolationMs"
            }
          ],
          "implementsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!EntityModelNodeOverrideEvent:enum",
          "docComment": "/**\n * Event types an EntityModelNodeOverride instance can emit.\n *\n * See `EntityModelNodeOverrideEventPayloads` for payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum EntityModelNodeOverrideEvent "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelNodeOverride.ts",
          "releaseTag": "Public",
          "name": "EntityModelNodeOverrideEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_EMISSIVE_COLOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_EMISSIVE_COLOR = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_EMISSIVE_COLOR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_EMISSIVE_COLOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_EMISSIVE_INTENSITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_EMISSIVE_INTENSITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_EMISSIVE_INTENSITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_EMISSIVE_INTENSITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_HIDDEN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_HIDDEN = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_HIDDEN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_HIDDEN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LOCAL_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LOCAL_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_POSITION_INTERPOLATION_MS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LOCAL_POSITION_INTERPOLATION_MS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_POSITION_INTERPOLATION_MS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LOCAL_POSITION_INTERPOLATION_MS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_ROTATION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LOCAL_ROTATION = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_ROTATION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LOCAL_ROTATION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_ROTATION_INTERPOLATION_MS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LOCAL_ROTATION_INTERPOLATION_MS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_ROTATION_INTERPOLATION_MS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LOCAL_ROTATION_INTERPOLATION_MS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_SCALE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LOCAL_SCALE = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_SCALE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LOCAL_SCALE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_SCALE_INTERPOLATION_MS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LOCAL_SCALE_INTERPOLATION_MS = "
                },
                {
                  "kind": "Content",
                  "text": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_SCALE_INTERPOLATION_MS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LOCAL_SCALE_INTERPOLATION_MS"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!EntityModelNodeOverrideEventPayloads:interface",
          "docComment": "/**\n * Event payloads for EntityModelNodeOverride emitted events.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface EntityModelNodeOverrideEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelNodeOverride.ts",
          "releaseTag": "Public",
          "name": "EntityModelNodeOverrideEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_EMISSIVE_COLOR\":member",
              "docComment": "/**\n * Emitted when the emissive color for matching nodes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_EMISSIVE_COLOR",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_EMISSIVE_COLOR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        emissiveColor: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_EMISSIVE_COLOR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_EMISSIVE_INTENSITY\":member",
              "docComment": "/**\n * Emitted when the emissive intensity for matching nodes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_EMISSIVE_INTENSITY",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_EMISSIVE_INTENSITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        emissiveIntensity: number | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_EMISSIVE_INTENSITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_HIDDEN\":member",
              "docComment": "/**\n * Emitted when the hidden state for matching nodes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_HIDDEN",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_HIDDEN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        hidden: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_HIDDEN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_POSITION_INTERPOLATION_MS\":member",
              "docComment": "/**\n * Emitted when the interpolation time in milliseconds applied to local position changes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_LOCAL_POSITION_INTERPOLATION_MS",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_POSITION_INTERPOLATION_MS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        interpolationMs: number | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_POSITION_INTERPOLATION_MS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_POSITION\":member",
              "docComment": "/**\n * Emitted when the position for matching nodes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_LOCAL_POSITION",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        localPosition: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_ROTATION_INTERPOLATION_MS\":member",
              "docComment": "/**\n * Emitted when the interpolation time in milliseconds applied to local rotation changes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_LOCAL_ROTATION_INTERPOLATION_MS",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_ROTATION_INTERPOLATION_MS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        interpolationMs: number | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_ROTATION_INTERPOLATION_MS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_ROTATION\":member",
              "docComment": "/**\n * Emitted when the rotation for matching nodes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_LOCAL_ROTATION",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_ROTATION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        localRotation: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_ROTATION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_SCALE_INTERPOLATION_MS\":member",
              "docComment": "/**\n * Emitted when the interpolation time in milliseconds applied to local scale changes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_LOCAL_SCALE_INTERPOLATION_MS",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_SCALE_INTERPOLATION_MS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        interpolationMs: number | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_SCALE_INTERPOLATION_MS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads#\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_SCALE\":member",
              "docComment": "/**\n * Emitted when the scale for matching nodes is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideEvent.SET_LOCAL_SCALE",
                  "canonicalReference": "server!EntityModelNodeOverrideEvent.SET_LOCAL_SCALE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        entityModelNodeOverride: "
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverride",
                  "canonicalReference": "server!EntityModelNodeOverride:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        localScale: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"ENTITY_MODEL_NODE_OVERRIDE.SET_LOCAL_SCALE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!EntityModelNodeOverrideOptions:interface",
          "docComment": "/**\n * The options for creating an EntityModelNodeOverride instance.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface EntityModelNodeOverrideOptions "
            }
          ],
          "fileUrlPath": "src/worlds/entities/EntityModelNodeOverride.ts",
          "releaseTag": "Public",
          "name": "EntityModelNodeOverrideOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#emissiveColor:member",
              "docComment": "/**\n * The emissive color for matching nodes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emissiveColor?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "emissiveColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#emissiveIntensity:member",
              "docComment": "/**\n * The emissive intensity for matching nodes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emissiveIntensity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "emissiveIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#entity:member",
              "docComment": "/**\n * The entity that the model node override belongs to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "entity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#hidden:member",
              "docComment": "/**\n * The hidden state for matching nodes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hidden?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "hidden",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#localPosition:member",
              "docComment": "/**\n * The local position for matching nodes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "localPosition?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "localPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#localPositionInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to local position changes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "localPositionInterpolationMs?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "localPositionInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#localRotation:member",
              "docComment": "/**\n * The local rotation for matching nodes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "localRotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "localRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#localRotationInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to local rotation changes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "localRotationInterpolationMs?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "localRotationInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#localScale:member",
              "docComment": "/**\n * The local scale for matching nodes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "localScale?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "localScale",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#localScaleInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to local scale changes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "localScaleInterpolationMs?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "localScaleInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!EntityModelNodeOverrideOptions#nameMatch:member",
              "docComment": "/**\n * The node name match selector. Case-insensitive exact match by default, with optional edge wildcard (`head*`, `*head`, `*head*`).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "nameMatch: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "nameMatch",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!EntityOptions:type",
          "docComment": "/**\n * The options for creating an `Entity` instance.\n *\n * Use for: constructing an entity; choose `BlockEntityOptions` or `ModelEntityOptions`. Do NOT use for: mutating entity state after spawn; use entity setters and methods.\n *\n * **Category:** Entities\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/worlds/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 * When to use: reporting recoverable issues or fatal errors with consistent formatting. Do NOT use for: normal control flow; prefer explicit return values or exceptions.\n *\n * @remarks\n *\n * In production, `console.log` is disabled to reduce log spam; use `console.info` instead. Pattern: log warnings for recoverable issues and use `ErrorHandler.fatalError` for unrecoverable state. Anti-pattern: swallowing exceptions without logging context.\n *\n * **Category:** Utilities\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 * **Side effects:** Writes to stderr and increments the error count.\n *\n * **Category:** Utilities\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 * **Side effects:** Writes to stderr and throws, terminating the current execution path.\n *\n * **Category:** Utilities\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 * **Side effects:** Writes to stderr and increments the warning count.\n *\n * **Category:** Utilities\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 * **Category:** Events\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": "ChunkLatticeEventPayloads",
              "canonicalReference": "server!ChunkLatticeEventPayloads: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": "EntityModelAnimationEventPayloads",
              "canonicalReference": "server!EntityModelAnimationEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "EntityModelNodeOverrideEventPayloads",
              "canonicalReference": "server!EntityModelNodeOverrideEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "GameServerEventPayloads",
              "canonicalReference": "server!GameServerEventPayloads:interface"
            },
            {
              "kind": "Content",
              "text": ", "
            },
            {
              "kind": "Reference",
              "text": "ParticleEmitterEventPayloads",
              "canonicalReference": "server!ParticleEmitterEventPayloads: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": "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": ", "
            },
            {
              "kind": "Reference",
              "text": "WorldManagerEventPayloads",
              "canonicalReference": "server!WorldManagerEventPayloads: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
            },
            {
              "startIndex": 41,
              "endIndex": 42
            },
            {
              "startIndex": 43,
              "endIndex": 44
            }
          ]
        },
        {
          "kind": "Class",
          "canonicalReference": "server!EventRouter:class",
          "docComment": "/**\n * Routes events to listeners in local, world, or global scope.\n *\n * When to use: event-driven hooks within server subsystems. Do NOT use for: high-frequency per-entity updates; prefer direct method calls for hot paths.\n *\n * @remarks\n *\n * Provides local emission, world-scoped emission, and a shared global instance. Pattern: use `EventRouter.emitWithWorld()` for world-scoped events and `final()` to install a single terminal listener. Anti-pattern: installing multiple final listeners for the same event type; only one is supported.\n *\n * **Category:** Events\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 * **Side effects:** Invokes listeners registered for the event type.\n *\n * **Category:** Events\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#emit:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emit(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", payload: "
                },
                {
                  "kind": "Content",
                  "text": "any"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "payload",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "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 * **Side effects:** Invokes local listeners and `EventRouter.globalInstance` listeners.\n *\n * @see\n *\n * `EventRouter.emit()`\n *\n * **Category:** Events\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#emitWithGlobal:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emitWithGlobal(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", payload: "
                },
                {
                  "kind": "Content",
                  "text": "any"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "payload",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "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 * **Requires:** The provided world must be active and using the same event payload types.\n *\n * **Side effects:** Invokes local listeners and listeners registered on the world instance.\n *\n * @see\n *\n * `EventRouter.emit()`\n *\n * **Category:** Events\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#emitWithWorld:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emitWithWorld(world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ", eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", payload: "
                },
                {
                  "kind": "Content",
                  "text": "any"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "world",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "payload",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "emitWithWorld"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#final:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "final(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", listener: "
                },
                {
                  "kind": "Content",
                  "text": "(payload: any) => void"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "listener",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "final"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!EventRouter.globalInstance:member",
              "docComment": "/**\n * The global event router instance.\n *\n * **Category:** Events\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static readonly globalInstance: "
                },
                {
                  "kind": "Reference",
                  "text": "EventRouter",
                  "canonicalReference": "server!EventRouter:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "globalInstance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": true,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "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 * **Category:** Events\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasListeners<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": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "hasListeners"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#hasListeners:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasListeners(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "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 * **Category:** Events\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "listenerCount<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": "): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "listenerCount"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#listenerCount:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "listenerCount(eventType: "
                },
                {
                  "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": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "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 * **Category:** Events\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "listeners<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": "): "
                },
                {
                  "kind": "Reference",
                  "text": "EventEmitter.EventListener",
                  "canonicalReference": "eventemitter3!EventEmitter.EventListener:type"
                },
                {
                  "kind": "Content",
                  "text": "<any, string>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "listeners"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#listeners:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "listeners(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "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": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "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 * **Category:** Events\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#off:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "off(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", listener: "
                },
                {
                  "kind": "Content",
                  "text": "(payload: any) => void"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "listener",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "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 * **Side effects:** Clears listeners and final listeners for the event type.\n *\n * **Category:** Events\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "offAll<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": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "TEventType",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "offAll"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#offAll:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "offAll(eventType?: "
                },
                {
                  "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": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "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 * **Category:** Events\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#on:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "on(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", listener: "
                },
                {
                  "kind": "Content",
                  "text": "(payload: any) => void"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "listener",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "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 * **Category:** Events\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"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!EventRouter#once:member(2)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "once(eventType: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", listener: "
                },
                {
                  "kind": "Content",
                  "text": "(payload: any) => void"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 2,
              "parameters": [
                {
                  "parameterName": "eventType",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "listener",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "once"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!FaceCallback:type",
          "docComment": "/**\n * Callback invoked as the entity rotates toward a target.\n *\n * @param currentRotation - The current rotation of the entity.\n *\n * @param targetRotation - The target rotation of the entity.\n *\n * **Category:** Controllers\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/worlds/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "FaceCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!FaceCompleteCallback:type",
          "docComment": "/**\n * Callback invoked when the entity finishes rotating to face a target.\n *\n * @param endRotation - The rotation of the entity after it has finished rotating.\n *\n * **Category:** Controllers\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/worlds/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "FaceCompleteCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!FaceOptions:type",
          "docComment": "/**\n * Options for `SimpleEntityController.face`.\n *\n * Use for: customizing a single `face()` call (callbacks, completion). Do NOT use for: persistent defaults; use `SimpleEntityControllerOptions`.\n *\n * **Category:** Controllers\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/worlds/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "FaceOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!FilterOptions:type",
          "docComment": "/**\n * Filter options for raycasting and intersection queries.\n *\n * Use for: scoping physics queries to specific colliders or groups. Do NOT use for: persistent collision configuration; use `CollisionGroupsBuilder`.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type FilterOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    filterFlags?: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.QueryFilterFlags",
              "canonicalReference": "@dimforge/rapier3d-simd-compat!QueryFilterFlags:enum"
            },
            {
              "kind": "Content",
              "text": ";\n    filterGroups?: number;\n    filterExcludeCollider?: "
            },
            {
              "kind": "Reference",
              "text": "RawCollider",
              "canonicalReference": "server!RawCollider:type"
            },
            {
              "kind": "Content",
              "text": ";\n    filterExcludeRigidBody?: "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.RigidBody",
              "canonicalReference": "@dimforge/rapier3d-simd-compat!RigidBody:class"
            },
            {
              "kind": "Content",
              "text": ";\n    filterPredicate?: (collider: "
            },
            {
              "kind": "Reference",
              "text": "RawCollider",
              "canonicalReference": "server!RawCollider:type"
            },
            {
              "kind": "Content",
              "text": ") => boolean;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "FilterOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!FixedRigidBodyOptions:interface",
          "docComment": "/**\n * The options for a fixed rigid body.\n *\n * Use for: immovable bodies (world geometry, static platforms). Do NOT use for: moving objects; use dynamic or kinematic options.\n *\n * **Category:** Physics\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/worlds/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 * Global entry point for server systems (players, worlds, assets).\n *\n * When to use: accessing global managers and registries after startup. Do NOT use for: constructing your own server instance.\n *\n * @remarks\n *\n * Access via `GameServer.instance` — do not construct directly. Initialize with `startServer` to ensure physics and assets are ready.\n *\n * **Category:** Core\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#blockTextureRegistry:member",
              "docComment": "/**\n * The block texture registry for the game server.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get blockTextureRegistry(): "
                },
                {
                  "kind": "Reference",
                  "text": "BlockTextureRegistry",
                  "canonicalReference": "server!BlockTextureRegistry:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "blockTextureRegistry",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!GameServer.instance:member",
              "docComment": "/**\n * The singleton instance of the game server.\n *\n * @remarks\n *\n * Access this after calling `startServer`.\n *\n * **Category:** Core\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 registry for the game server.\n *\n * **Category:** Core\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 * **Category:** Core\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 * **Category:** Core\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#worldManager:member",
              "docComment": "/**\n * The world manager for the game server.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get worldManager(): "
                },
                {
                  "kind": "Reference",
                  "text": "WorldManager",
                  "canonicalReference": "server!WorldManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "worldManager",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "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.\n *\n * See `GameServerEventPayloads` for the payloads.\n *\n * **Category:** Events\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 * **Category:** 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": "TypeAlias",
          "canonicalReference": "server!IntersectionResult:type",
          "docComment": "/**\n * An intersection result.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type IntersectionResult = "
            },
            {
              "kind": "Content",
              "text": "{\n    intersectedBlockType?: "
            },
            {
              "kind": "Reference",
              "text": "BlockType",
              "canonicalReference": "server!BlockType:class"
            },
            {
              "kind": "Content",
              "text": ";\n    intersectedEntity?: "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "server!Entity:class"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "IntersectionResult",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!IterationMap:class",
          "docComment": "/**\n * A high-performance Map-like data structure optimized for frequent iteration.\n *\n * When to use: per-tick collections that are built, iterated, and cleared each frame. Do NOT use for: long-lived maps with rare iteration; a standard Map is simpler.\n *\n * @remarks\n *\n * IterationMap maintains both a Map for O(1) lookups and an Array for fast iteration, eliminating the need for Array.from() calls and providing ~2x faster iteration than Map.values(). Optimized for \"build up, iterate, clear\" usage patterns common in game loops.\n *\n * Pattern: update via `IterationMap.set`, iterate with `IterationMap.valuesArray`, then `IterationMap.clear`. Anti-pattern: mutating the map during `IterationMap.valuesArray` iteration.\n *\n * @example\n * ```typescript\n * const iterationMap = new IterationMap<number, string>();\n * iterationMap.set(1, 'hello');\n * iterationMap.set(2, 'world');\n *\n * // Fast O(1) lookup\n * const value = iterationMap.get(1);\n *\n * // Fast array iteration (no Map.values() overhead)\n * for (const item of iterationMap.valuesArray) {\n *   console.log(item);\n * }\n *\n * // Efficient bulk clear\n * iterationMap.clear();\n * ```\n *\n * **Category:** Utilities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class IterationMap<K, V> "
            }
          ],
          "fileUrlPath": "src/shared/classes/IterationMap.ts",
          "releaseTag": "Public",
          "typeParameters": [
            {
              "typeParameterName": "K",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "V",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "isAbstract": false,
          "name": "IterationMap",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#[Symbol.iterator]:member(1)",
              "docComment": "/**\n * Returns an iterator for the key-value pairs in the IterationMap.\n *\n * @returns An iterator for the entries.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "Symbol.iterator",
                  "canonicalReference": "!SymbolConstructor#iterator"
                },
                {
                  "kind": "Content",
                  "text": "](): "
                },
                {
                  "kind": "Reference",
                  "text": "IterableIterator",
                  "canonicalReference": "!IterableIterator:interface"
                },
                {
                  "kind": "Content",
                  "text": "<[K, V]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "[Symbol.iterator]"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#clear:member(1)",
              "docComment": "/**\n * Removes all key-value pairs from the IterationMap. Highly optimized for the common \"build up, iterate, clear\" pattern.\n *\n * **Side effects:** Clears the backing map and value array.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "clear(): "
                },
                {
                  "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": "clear"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#delete:member(1)",
              "docComment": "/**\n * Removes the key-value pair from the IterationMap.\n *\n * @param key - The key to delete.\n *\n * @returns True if the key existed and was deleted, false otherwise.\n *\n * **Side effects:** Marks the internal array as dirty.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "delete(key: "
                },
                {
                  "kind": "Content",
                  "text": "K"
                },
                {
                  "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": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "delete"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#entries:member(1)",
              "docComment": "/**\n * Returns an iterator for the key-value pairs in the IterationMap.\n *\n * @returns An iterator for the entries.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "entries(): "
                },
                {
                  "kind": "Reference",
                  "text": "IterableIterator",
                  "canonicalReference": "!IterableIterator:interface"
                },
                {
                  "kind": "Content",
                  "text": "<[K, V]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "entries"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#forEach:member(1)",
              "docComment": "/**\n * Executes a provided function once for each key-value pair.\n *\n * @param callbackfn - Function to execute for each element.\n *\n * @param thisArg - Value to use as this when executing callback.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "forEach(callbackfn: "
                },
                {
                  "kind": "Content",
                  "text": "(value: V, key: K, map: "
                },
                {
                  "kind": "Reference",
                  "text": "IterationMap",
                  "canonicalReference": "server!IterationMap:class"
                },
                {
                  "kind": "Content",
                  "text": "<K, V>) => void"
                },
                {
                  "kind": "Content",
                  "text": ", thisArg?: "
                },
                {
                  "kind": "Content",
                  "text": "any"
                },
                {
                  "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": "callbackfn",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "thisArg",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "forEach"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#get:member(1)",
              "docComment": "/**\n * Returns the value associated with the key, or undefined if the key doesn't exist.\n *\n * @param key - The key to look up.\n *\n * @returns The value associated with the key, or undefined.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get(key: "
                },
                {
                  "kind": "Content",
                  "text": "K"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "V | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "get"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#has:member(1)",
              "docComment": "/**\n * Returns true if the key exists in the IterationMap.\n *\n * @param key - The key to check.\n *\n * @returns True if the key exists, false otherwise.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "has(key: "
                },
                {
                  "kind": "Content",
                  "text": "K"
                },
                {
                  "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": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "has"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#keys:member(1)",
              "docComment": "/**\n * Returns an iterator for the keys in the IterationMap.\n *\n * @returns An iterator for the keys.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "keys(): "
                },
                {
                  "kind": "Reference",
                  "text": "IterableIterator",
                  "canonicalReference": "!IterableIterator:interface"
                },
                {
                  "kind": "Content",
                  "text": "<K>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "keys"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#set:member(1)",
              "docComment": "/**\n * Sets the value for the key in the IterationMap.\n *\n * @param key - The key to set.\n *\n * @param value - The value to set.\n *\n * @returns The IterationMap instance for chaining.\n *\n * **Side effects:** May mark the internal array as dirty.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "set(key: "
                },
                {
                  "kind": "Content",
                  "text": "K"
                },
                {
                  "kind": "Content",
                  "text": ", value: "
                },
                {
                  "kind": "Content",
                  "text": "V"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "set"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!IterationMap#size:member",
              "docComment": "/**\n * Returns the number of key-value pairs in the IterationMap.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get size(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "size",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!IterationMap#values:member(1)",
              "docComment": "/**\n * Returns an iterator for the values in the IterationMap. Note: For performance-critical iteration, use .valuesArray instead.\n *\n * @returns An iterator for the values.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "values(): "
                },
                {
                  "kind": "Reference",
                  "text": "IterableIterator",
                  "canonicalReference": "!IterableIterator:interface"
                },
                {
                  "kind": "Content",
                  "text": "<V>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "values"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!IterationMap#valuesArray:member",
              "docComment": "/**\n * Returns a readonly array of all values for fast iteration. This is the key performance feature - use this instead of .values() for iteration.\n *\n * **Side effects:** Rebuilds the backing array when the map has changed.\n *\n * **Category:** Utilities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get valuesArray(): "
                },
                {
                  "kind": "Content",
                  "text": "readonly V[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "valuesArray",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!KinematicPositionRigidBodyOptions:interface",
          "docComment": "/**\n * The options for a kinematic position rigid body.\n *\n * Use for: moving bodies by setting target positions each tick. Do NOT use for: physics-driven motion; use dynamic bodies instead.\n *\n * **Category:** Physics\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/worlds/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 * Use for: moving bodies by setting velocities each tick. Do NOT use for: physics-driven motion; use dynamic bodies instead.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * **Category:** Physics\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!Matrix2:class",
          "docComment": "/**\n * Represents a 2x2 matrix.\n *\n * When to use: 2D transforms or linear algebra utilities. Do NOT use for: immutable math; most methods mutate the instance.\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.\n *\n * Pattern: reuse instances to reduce allocations. Anti-pattern: treating matrices as immutable values.\n *\n * **Category:** Math\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 * When to use: 2D homogeneous transforms or normal matrix math. Do NOT use for: immutable math; most methods mutate the instance.\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.\n *\n * Pattern: reuse instances to reduce allocations. Anti-pattern: treating matrices as immutable values.\n *\n * **Category:** Math\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 * When to use: 3D transforms (translation, rotation, scale) and camera math. Do NOT use for: immutable math; most methods mutate the instance.\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.\n *\n * Pattern: reuse instances to reduce allocations. Anti-pattern: treating matrices as immutable values.\n *\n * **Category:** Math\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": "TypeAlias",
          "canonicalReference": "server!ModelBoundingBox:type",
          "docComment": "/**\n * A bounding box for a model.\n *\n * **Category:** Models\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ModelBoundingBox = "
            },
            {
              "kind": "Content",
              "text": "{\n    min: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    max: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/models/ModelRegistry.ts",
          "releaseTag": "Public",
          "name": "ModelBoundingBox",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!ModelEntityOptions:interface",
          "docComment": "/**\n * The options for creating a model entity.\n *\n * Use for: entities rendered from a glTF model. Do NOT use for: block entities; use `BlockEntityOptions`.\n *\n * **Category:** Entities\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/worlds/entities/Entity.ts",
          "releaseTag": "Public",
          "name": "ModelEntityOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelAnimations:member",
              "docComment": "/**\n * The model animation options for animations to configure immediately.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelAnimations?: "
                },
                {
                  "kind": "Reference",
                  "text": "Omit",
                  "canonicalReference": "!Omit:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelAnimationOptions",
                  "canonicalReference": "server!EntityModelAnimationOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ", 'entity'>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelNodeOverrides:member",
              "docComment": "/**\n * The node overrides for the entity's model. `nameMatch` is exact by default, with optional edge wildcard (`head*`, `*head`, `*head*`).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelNodeOverrides?: "
                },
                {
                  "kind": "Reference",
                  "text": "Omit",
                  "canonicalReference": "!Omit:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "EntityModelNodeOverrideOptions",
                  "canonicalReference": "server!EntityModelNodeOverrideOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ", 'entity'>[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelNodeOverrides",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelPreferredShape:member",
              "docComment": "/**\n * The preferred shape of the entity's model when automatically generating its collider when no explicit colliders are provided.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelPreferredShape?: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape",
                  "canonicalReference": "server!ColliderShape:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelPreferredShape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelScale:member",
              "docComment": "/**\n * The scale of the entity's model. Can be a vector3 for per-axis scaling, or a number for uniform scaling.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelScale?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelScale",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelScaleInterpolationMs:member",
              "docComment": "/**\n * The interpolation time in milliseconds applied to model scale changes.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelScaleInterpolationMs?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelScaleInterpolationMs",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ModelEntityOptions#modelTextureUri:member",
              "docComment": "/**\n * The texture uri of the entity's model. Setting this overrides the model's default texture.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "modelTextureUri?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "modelTextureUri",
              "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 * When to use: querying model metadata (bounds, node names, animations, trimesh). Do NOT use for: runtime mesh editing; use dedicated tooling or physics colliders.\n *\n * @remarks\n *\n * The ModelRegistry is created internally as a global singleton accessible via `ModelRegistry.instance`. Model data is preloaded during server startup and cached in memory.\n *\n * Pattern: call `ModelRegistry.hasModel` before accessing metadata to avoid warnings. Anti-pattern: calling `ModelRegistry.getTrimesh` every tick; it may allocate arrays.\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 * **Category:** Models\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#getAllModelUris:member(1)",
              "docComment": "/**\n * Retrieves an array of all available model URIs.\n *\n * @returns An array of all available model URIs.\n *\n * **Category:** Models\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllModelUris(): "
                },
                {
                  "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": "getAllModelUris"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ModelRegistry#getAnimationNames:member(1)",
              "docComment": "/**\n * Retrieves an array of all known animation names for a model.\n *\n * @param modelUri - The URI of the model to retrieve the animation names for.\n *\n * @returns An array of all known animation names for the model.\n *\n * **Requires:** Model data must be loaded (server startup).\n *\n * **Category:** Models\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAnimationNames(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Readonly",
                  "canonicalReference": "!Readonly:type"
                },
                {
                  "kind": "Content",
                  "text": "<string[]>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "modelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getAnimationNames"
            },
            {
              "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 * **Requires:** Model data must be loaded (server startup).\n *\n * **Category:** Models\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#getDepth:member(1)",
              "docComment": "/**\n * Retrieves the Z-axis depth of a model for a scale of 1.\n *\n * @param modelUri - The URI of the model to retrieve the depth for.\n *\n * @returns The depth of the model.\n *\n * @see\n *\n * `ModelRegistry.getBoundingBox`\n *\n * **Category:** Models\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getDepth(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": "getDepth"
            },
            {
              "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 * @see\n *\n * `ModelRegistry.getBoundingBox`\n *\n * **Category:** Models\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 * **Requires:** Model data must be loaded (server startup).\n *\n * **Category:** Models\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": "Method",
              "canonicalReference": "server!ModelRegistry#getTrimesh:member(1)",
              "docComment": "/**\n * Retrieves the trimesh of a model.\n *\n * @param modelUri - The URI of the model to retrieve the trimesh for.\n *\n * @param scale - Optional scaling to apply to the trimesh. Defaults to 1 for all axes (no scaling).\n *\n * @returns The trimesh of the model.\n *\n * **Requires:** Model data must be loaded (server startup).\n *\n * **Category:** Models\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getTrimesh(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", scale?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ModelTrimesh",
                  "canonicalReference": "server!ModelTrimesh:type"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "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": "getTrimesh"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ModelRegistry#getWidth:member(1)",
              "docComment": "/**\n * Retrieves the X-axis width of a model for a scale of 1.\n *\n * @param modelUri - The URI of the model to retrieve the width for.\n *\n * @returns The width of the model.\n *\n * @see\n *\n * `ModelRegistry.getBoundingBox`\n *\n * **Category:** Models\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getWidth(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": "getWidth"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ModelRegistry#hasModel:member(1)",
              "docComment": "/**\n * Checks if a model is registered in the model registry.\n *\n * @param modelUri - The URI of the model to check.\n *\n * @returns Whether the model is registered.\n *\n * **Category:** Models\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasModel(modelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "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": "modelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "hasModel"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ModelRegistry.instance:member",
              "docComment": "/**\n * The global ModelRegistry instance as a singleton.\n *\n * **Category:** Models\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 * **Requires:** Model data must be loaded (server startup).\n *\n * **Category:** Models\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 generate optimized models if needed.\n *\n * Defaults to `true` in development, `false` in production.\n *\n * **Category:** Models\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
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!ModelTrimesh:type",
          "docComment": "/**\n * A trimesh for a model.\n *\n * **Category:** Models\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ModelTrimesh = "
            },
            {
              "kind": "Content",
              "text": "{\n    vertices: "
            },
            {
              "kind": "Reference",
              "text": "Float32Array",
              "canonicalReference": "!Float32Array:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    indices: "
            },
            {
              "kind": "Reference",
              "text": "Uint32Array",
              "canonicalReference": "!Uint32Array:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/models/ModelRegistry.ts",
          "releaseTag": "Public",
          "name": "ModelTrimesh",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!MoveCallback:type",
          "docComment": "/**\n * Callback invoked as the entity moves toward 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 * **Category:** Controllers\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/worlds/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "MoveCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!MoveCompleteCallback:type",
          "docComment": "/**\n * Callback invoked when the entity reaches the target coordinate.\n *\n * @param endPosition - The position of the entity after it has finished moving.\n *\n * **Category:** Controllers\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/worlds/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "name": "MoveCompleteCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!MoveOptions:type",
          "docComment": "/**\n * Options for `SimpleEntityController.move`.\n *\n * Use for: customizing a single `move()` call. Do NOT use for: persistent defaults; use `SimpleEntityControllerOptions`.\n *\n * **Category:** Controllers\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    moveStartIdleAnimationsOnCompletion?: boolean;\n    moveStoppingDistance?: number;\n    moveCompletesWhenStuck?: boolean;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/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 * Use for: explicitly disabling collider creation. Do NOT use for: physical interactions; no collider will be created.\n *\n * **Category:** Physics\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/worlds/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": "Interface",
          "canonicalReference": "server!Outline:interface",
          "docComment": "/**\n * The options for rendering an outline.\n *\n * **Category:** Types\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface Outline "
            }
          ],
          "fileUrlPath": "src/shared/types/Outline.ts",
          "releaseTag": "Public",
          "name": "Outline",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Outline#color:member",
              "docComment": "/**\n * The color of the outline. Defaults to black.\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!Outline#colorIntensity:member",
              "docComment": "/**\n * The intensity multiplier for the outline color. Use values over 1 for brighter/glowing outlines. Defaults to 1.0.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorIntensity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorIntensity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Outline#occluded:member",
              "docComment": "/**\n * Whether the outline should be hidden when the entity is occluded by other objects. If false, the outline is always visible (shows through walls). Defaults to true.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "occluded?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "occluded",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!Outline#opacity:member",
              "docComment": "/**\n * The opacity of the outline between 0 and 1. Defaults to 1.0.\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!Outline#thickness:member",
              "docComment": "/**\n * The thickness of the outline in world units. Defaults to 0.03.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "thickness?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "thickness",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!ParticleEmitter:class",
          "docComment": "/**\n * Represents a particle emitter in the world. Emit 2D particles that always face the camera.\n *\n * @remarks\n *\n * Particle emitters are created directly as instances. They support a variety of configuration options through the `ParticleEmitterOptions` constructor argument.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instance of it emit events with payloads listed under `ParticleEmitterEventPayloads`.\n *\n * @example\n * ```typescript\n * const particleEmitter = new ParticleEmitter({\n *   textureUri: 'textures/particles/smoke.png',\n * });\n *\n * particleEmitter.spawn(world);\n * ```\n *\n * **Category:** Particles\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class ParticleEmitter 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/worlds/particles/ParticleEmitter.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "ParticleEmitter",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!ParticleEmitter:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `ParticleEmitter` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterOptions",
                  "canonicalReference": "server!ParticleEmitterOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#alphaTest:member",
              "docComment": "/**\n * The alpha test value, discards particle texture pixels with alpha opacity less than this value.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get alphaTest(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "alphaTest",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#attachedToEntity:member",
              "docComment": "/**\n * The entity to which the ParticleEmitter 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!ParticleEmitter#attachedToEntityNodeName:member",
              "docComment": "/**\n * The name of the node of the attached entity (if the attached entity is a model entity) to attach the particle emitter to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get attachedToEntityNodeName(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "attachedToEntityNodeName",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#burst:member(1)",
              "docComment": "/**\n * Creates a burst of particles, regardless of pause state.\n *\n * @param count - The number of particles to burst.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "burst(count: "
                },
                {
                  "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": "count",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "burst"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#colorEnd:member",
              "docComment": "/**\n * The color of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colorEnd(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colorEnd",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#colorEndVariance:member",
              "docComment": "/**\n * The color variance of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colorEndVariance(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colorEndVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#colorIntensityEnd:member",
              "docComment": "/**\n * The color intensity of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colorIntensityEnd(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colorIntensityEnd",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#colorIntensityEndVariance:member",
              "docComment": "/**\n * The color intensity variance of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colorIntensityEndVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colorIntensityEndVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#colorIntensityStart:member",
              "docComment": "/**\n * The color intensity of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colorIntensityStart(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colorIntensityStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#colorIntensityStartVariance:member",
              "docComment": "/**\n * The color intensity variance of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colorIntensityStartVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colorIntensityStartVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#colorStart:member",
              "docComment": "/**\n * The color of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colorStart(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colorStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#colorStartVariance:member",
              "docComment": "/**\n * The color variance of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get colorStartVariance(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "colorStartVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#despawn:member(1)",
              "docComment": "/**\n * Despawns the ParticleEmitter 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!ParticleEmitter#gravity:member",
              "docComment": "/**\n * The gravity vector for an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get gravity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "gravity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#id:member",
              "docComment": "/**\n * The unique identifier for the ParticlEmitter.\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!ParticleEmitter#isSpawned:member",
              "docComment": "/**\n * Whether the ParticleEmitter is spawned in 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!ParticleEmitter#lifetime:member",
              "docComment": "/**\n * The lifetime of an emitted particle in seconds.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get lifetime(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "lifetime",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#lifetimeVariance:member",
              "docComment": "/**\n * The lifetime variance of an emitted particle in seconds.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get lifetimeVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "lifetimeVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#lockToEmitter:member",
              "docComment": "/**\n * Whether emitted particles follow the emitter's world position. Cannot be changed after construction.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get lockToEmitter(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "lockToEmitter",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#maxParticles:member",
              "docComment": "/**\n * The maximum number of live particles.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get maxParticles(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "maxParticles",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#offset:member",
              "docComment": "/**\n * The offset of the particle emitter 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!ParticleEmitter#opacityEnd:member",
              "docComment": "/**\n * The opacity of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get opacityEnd(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "opacityEnd",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#opacityEndVariance:member",
              "docComment": "/**\n * The opacity variance of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get opacityEndVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "opacityEndVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#opacityStart:member",
              "docComment": "/**\n * The opacity of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get opacityStart(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "opacityStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#opacityStartVariance:member",
              "docComment": "/**\n * The opacity variance of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get opacityStartVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "opacityStartVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#orientation:member",
              "docComment": "/**\n * The orientation mode of emitted particles.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get orientation(): "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterOrientation",
                  "canonicalReference": "server!ParticleEmitterOrientation:type"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "orientation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#orientationFixedRotation:member",
              "docComment": "/**\n * The fixed rotation of emitted particles in degrees when orientation is 'fixed'.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get orientationFixedRotation(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "orientationFixedRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#paused:member",
              "docComment": "/**\n * Whether an emitted particle is being paused.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get paused(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "paused",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#position:member",
              "docComment": "/**\n * The position of the particle emitter 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!ParticleEmitter#positionVariance:member",
              "docComment": "/**\n * The position variance of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get positionVariance(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "positionVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#rate:member",
              "docComment": "/**\n * The rate per second at which particles are emitted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rate(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "rate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#rateVariance:member",
              "docComment": "/**\n * The rate per second variance of the particle emission rate.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rateVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "rateVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#restart:member(1)",
              "docComment": "/**\n * Restarts the particle emission if it was previously stopped.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "restart(): "
                },
                {
                  "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": "restart"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setAlphaTest:member(1)",
              "docComment": "/**\n * Sets the alpha test value, discards particle texture pixels with alpha opacity less than this value.\n *\n * @param alphaTest - The alpha test value, discards particle texture pixels with alpha opacity less than this value.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAlphaTest(alphaTest: "
                },
                {
                  "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": "alphaTest",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAlphaTest"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setAttachedToEntity:member(1)",
              "docComment": "/**\n * Sets the entity to which the ParticleEmitter is attached.\n *\n * @remarks\n *\n * Clears any set position (mutual exclusivity).\n *\n * @param entity - The entity to attach the ParticleEmitter 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!ParticleEmitter#setAttachedToEntityNodeName:member(1)",
              "docComment": "/**\n * Sets the name of the node of the attached entity (if the attached entity is a model entity) to attach the particle emitter to.\n *\n * @param attachedToEntityNodeName - The name of the node of the attached entity (if the attached entity is a model entity) to attach the particle emitter to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setAttachedToEntityNodeName(attachedToEntityNodeName: "
                },
                {
                  "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": "attachedToEntityNodeName",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setAttachedToEntityNodeName"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setColorEnd:member(1)",
              "docComment": "/**\n * Sets the color of an emitted particle at the end of its lifetime.\n *\n * @param colorEnd - The color of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColorEnd(colorEnd: "
                },
                {
                  "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": "colorEnd",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColorEnd"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setColorEndVariance:member(1)",
              "docComment": "/**\n * Sets the color variance of an emitted particle at the end of its lifetime.\n *\n * @param colorEndVariance - The color variance of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColorEndVariance(colorEndVariance: "
                },
                {
                  "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": "colorEndVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColorEndVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setColorIntensityEnd:member(1)",
              "docComment": "/**\n * Sets the color intensity of an emitted particle at the end of its lifetime.\n *\n * @param colorIntensityEnd - The color intensity at the end of lifetime. Values greater than 1 create HDR/bloom effects.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColorIntensityEnd(colorIntensityEnd: "
                },
                {
                  "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": "colorIntensityEnd",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColorIntensityEnd"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setColorIntensityEndVariance:member(1)",
              "docComment": "/**\n * Sets the color intensity variance of an emitted particle at the end of its lifetime.\n *\n * @param colorIntensityEndVariance - The color intensity variance at the end of lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColorIntensityEndVariance(colorIntensityEndVariance: "
                },
                {
                  "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": "colorIntensityEndVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColorIntensityEndVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setColorIntensityStart:member(1)",
              "docComment": "/**\n * Sets the color intensity of an emitted particle at the start of its lifetime.\n *\n * @param colorIntensityStart - The color intensity at the start of lifetime. Values greater than 1 create HDR/bloom effects.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColorIntensityStart(colorIntensityStart: "
                },
                {
                  "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": "colorIntensityStart",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColorIntensityStart"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setColorIntensityStartVariance:member(1)",
              "docComment": "/**\n * Sets the color intensity variance of an emitted particle at the start of its lifetime.\n *\n * @param colorIntensityStartVariance - The color intensity variance at the start of lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColorIntensityStartVariance(colorIntensityStartVariance: "
                },
                {
                  "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": "colorIntensityStartVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColorIntensityStartVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setColorStart:member(1)",
              "docComment": "/**\n * Sets the color of an emitted particle at the start of its lifetime.\n *\n * @param colorStart - The color of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColorStart(colorStart: "
                },
                {
                  "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": "colorStart",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColorStart"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setColorStartVariance:member(1)",
              "docComment": "/**\n * Sets the color variance of an emitted particle at the start of its lifetime.\n *\n * @param colorStartVariance - The color variance of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setColorStartVariance(colorStartVariance: "
                },
                {
                  "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": "colorStartVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setColorStartVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setGravity:member(1)",
              "docComment": "/**\n * Sets the gravity vector for an emitted particle.\n *\n * @param gravity - The gravity vector for an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setGravity(gravity: "
                },
                {
                  "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": "gravity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setGravity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setLifetime:member(1)",
              "docComment": "/**\n * Sets the lifetime of an emitted particle in seconds.\n *\n * @param lifetime - The lifetime of an emitted particle in seconds.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLifetime(lifetime: "
                },
                {
                  "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": "lifetime",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLifetime"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setLifetimeVariance:member(1)",
              "docComment": "/**\n * Sets the lifetime variance of an emitted particle in seconds.\n *\n * @param lifetimeVariance - The lifetime variance of an emitted particle in seconds.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setLifetimeVariance(lifetimeVariance: "
                },
                {
                  "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": "lifetimeVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setLifetimeVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setMaxParticles:member(1)",
              "docComment": "/**\n * Sets the maximum number of live particles.\n *\n * @param maxParticles - The maximum number of live particles.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setMaxParticles(maxParticles: "
                },
                {
                  "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": "maxParticles",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setMaxParticles"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setOffset:member(1)",
              "docComment": "/**\n * Sets the offset of the particle emitter from the attached entity or position.\n *\n * @param offset - The offset of the particle emitter from the attached entity or position.\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!ParticleEmitter#setOpacityEnd:member(1)",
              "docComment": "/**\n * Sets the opacity of an emitted particle at the end of its lifetime.\n *\n * @param opacityEnd - The opacity of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOpacityEnd(opacityEnd: "
                },
                {
                  "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": "opacityEnd",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOpacityEnd"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setOpacityEndVariance:member(1)",
              "docComment": "/**\n * Sets the opacity variance of an emitted particle at the end of its lifetime.\n *\n * @param opacityEndVariance - The opacity variance of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOpacityEndVariance(opacityEndVariance: "
                },
                {
                  "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": "opacityEndVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOpacityEndVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setOpacityStart:member(1)",
              "docComment": "/**\n * Sets the opacity of an emitted particle at the start of its lifetime.\n *\n * @param opacityStart - The opacity of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOpacityStart(opacityStart: "
                },
                {
                  "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": "opacityStart",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOpacityStart"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setOpacityStartVariance:member(1)",
              "docComment": "/**\n * Sets the opacity variance of an emitted particle at the start of its lifetime.\n *\n * @param opacityStartVariance - The opacity variance of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOpacityStartVariance(opacityStartVariance: "
                },
                {
                  "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": "opacityStartVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOpacityStartVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setOrientation:member(1)",
              "docComment": "/**\n * Sets the orientation mode of emitted particles.\n *\n * @param orientation - The orientation mode. 'billboard' faces the camera, 'billboardY' faces the camera but keeps Y-axis upward, 'fixed' uses a fixed rotation.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOrientation(orientation: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterOrientation",
                  "canonicalReference": "server!ParticleEmitterOrientation: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": "orientation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOrientation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setOrientationFixedRotation:member(1)",
              "docComment": "/**\n * Sets the fixed rotation of emitted particles when orientation is 'fixed'.\n *\n * @param orientationFixedRotation - The fixed rotation in degrees (x, y, z).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setOrientationFixedRotation(orientationFixedRotation: "
                },
                {
                  "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": "orientationFixedRotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setOrientationFixedRotation"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setPosition:member(1)",
              "docComment": "/**\n * Sets the position of the particle emitter.\n *\n * @param position - The position of the particle emitter.\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!ParticleEmitter#setPositionVariance:member(1)",
              "docComment": "/**\n * Sets the position variance of an emitted particle.\n *\n * @param positionVariance - The position variance of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPositionVariance(positionVariance: "
                },
                {
                  "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": "positionVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setPositionVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setRate:member(1)",
              "docComment": "/**\n * Sets the rate per second at which particles are emitted.\n *\n * @param rate - The rate per second at which particles are emitted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setRate(rate: "
                },
                {
                  "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": "rate",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setRate"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setRateVariance:member(1)",
              "docComment": "/**\n * Sets the rate variance of the particle emission rate.\n *\n * @param rateVariance - The rate variance of the particle emission rate.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setRateVariance(rateVariance: "
                },
                {
                  "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": "rateVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setRateVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setSizeEnd:member(1)",
              "docComment": "/**\n * Sets the size at the end of an emitted particle's lifetime.\n *\n * @param sizeEnd - The size at the end of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSizeEnd(sizeEnd: "
                },
                {
                  "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": "sizeEnd",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setSizeEnd"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setSizeEndVariance:member(1)",
              "docComment": "/**\n * Sets the size variance at the end of an emitted particle's lifetime.\n *\n * @param sizeEndVariance - The size variance at the end of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSizeEndVariance(sizeEndVariance: "
                },
                {
                  "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": "sizeEndVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setSizeEndVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setSizeStart:member(1)",
              "docComment": "/**\n * Sets the size at the start of an emitted particle's lifetime.\n *\n * @param sizeStart - The size at the start of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSizeStart(sizeStart: "
                },
                {
                  "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": "sizeStart",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setSizeStart"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setSizeStartVariance:member(1)",
              "docComment": "/**\n * Sets the size variance at the start of an emitted particle's lifetime.\n *\n * @param sizeStartVariance - The size variance at the start of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSizeStartVariance(sizeStartVariance: "
                },
                {
                  "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": "sizeStartVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setSizeStartVariance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setTextureUri:member(1)",
              "docComment": "/**\n * Sets the texture URI of the particles emitted.\n *\n * @param textureUri - The texture URI of the particles emitted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTextureUri(textureUri: "
                },
                {
                  "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": "textureUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setTextureUri"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setTransparent:member(1)",
              "docComment": "/**\n * Sets the transparency of the particle emitter.\n *\n * @param transparent - The transparency of the particle emitter.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTransparent(transparent: "
                },
                {
                  "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": "transparent",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setTransparent"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setVelocity:member(1)",
              "docComment": "/**\n * Sets the velocity of an emitted particle.\n *\n * @param velocity - The velocity of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setVelocity(velocity: "
                },
                {
                  "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": "velocity",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setVelocity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#setVelocityVariance:member(1)",
              "docComment": "/**\n * Sets the velocity variance of an emitted particle.\n *\n * @param velocityVariance - The velocity variance of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setVelocityVariance(velocityVariance: "
                },
                {
                  "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": "velocityVariance",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setVelocityVariance"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#sizeEnd:member",
              "docComment": "/**\n * The size at the end of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get sizeEnd(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "sizeEnd",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#sizeEndVariance:member",
              "docComment": "/**\n * The size variance at the end of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get sizeEndVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "sizeEndVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#sizeStart:member",
              "docComment": "/**\n * The size at the start of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get sizeStart(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "sizeStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#sizeStartVariance:member",
              "docComment": "/**\n * The size variance at the start of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get sizeStartVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "sizeStartVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#sizeVariance:member",
              "docComment": "/**\n * The size variance of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get sizeVariance(): "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "sizeVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitter#spawn:member(1)",
              "docComment": "/**\n * Spawns the ParticleEmitter in the world.\n *\n * @remarks\n *\n * **Requires spawned entity:** If attached to an entity, the entity must be spawned first.\n *\n * @param world - The world to spawn the ParticleEmitter in.\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": "Method",
              "canonicalReference": "server!ParticleEmitter#stop:member(1)",
              "docComment": "/**\n * Stops the particle emission.\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"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#textureUri:member",
              "docComment": "/**\n * The URI or path to the texture to be used for the particles.\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
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#transparent:member",
              "docComment": "/**\n * Whether an emitted particle is transparent, resulting in smoother transparency blending.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get transparent(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "transparent",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#velocity:member",
              "docComment": "/**\n * The velocity of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get velocity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "velocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#velocityVariance:member",
              "docComment": "/**\n * The velocity variance of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get velocityVariance(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "velocityVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitter#world:member",
              "docComment": "/**\n * The world the ParticleEmitter 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!ParticleEmitterEvent:enum",
          "docComment": "/**\n * Event types a ParticleEmitter instance can emit.\n *\n * See `ParticleEmitterEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum ParticleEmitterEvent "
            }
          ],
          "fileUrlPath": "src/worlds/particles/ParticleEmitter.ts",
          "releaseTag": "Public",
          "name": "ParticleEmitterEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.BURST:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BURST = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.BURST\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "BURST"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.DESPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "DESPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.DESPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "DESPAWN"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_ALPHA_TEST:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ALPHA_TEST = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_ALPHA_TEST\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ALPHA_TEST"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_ATTACHED_TO_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ATTACHED_TO_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_ATTACHED_TO_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ATTACHED_TO_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_ATTACHED_TO_ENTITY_NODE_NAME:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ATTACHED_TO_ENTITY_NODE_NAME = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_ATTACHED_TO_ENTITY_NODE_NAME\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ATTACHED_TO_ENTITY_NODE_NAME"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_END:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR_END = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_COLOR_END\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR_END"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_END_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR_END_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_COLOR_END_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR_END_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_INTENSITY_END:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR_INTENSITY_END = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_END\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR_INTENSITY_END"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_INTENSITY_END_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR_INTENSITY_END_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_END_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR_INTENSITY_END_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_INTENSITY_START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR_INTENSITY_START = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR_INTENSITY_START"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_INTENSITY_START_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR_INTENSITY_START_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_START_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR_INTENSITY_START_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR_START = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_COLOR_START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR_START"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_START_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLOR_START_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_COLOR_START_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLOR_START_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_GRAVITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_GRAVITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_GRAVITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_GRAVITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_LIFETIME:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LIFETIME = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_LIFETIME\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LIFETIME"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_LIFETIME_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_LIFETIME_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_LIFETIME_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_LIFETIME_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_MAX_PARTICLES:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_MAX_PARTICLES = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_MAX_PARTICLES\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_MAX_PARTICLES"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_OFFSET:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OFFSET = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_OFFSET\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OFFSET"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_OPACITY_END:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OPACITY_END = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_OPACITY_END\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OPACITY_END"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_OPACITY_END_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OPACITY_END_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_OPACITY_END_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OPACITY_END_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_OPACITY_START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OPACITY_START = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_OPACITY_START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OPACITY_START"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_OPACITY_START_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_OPACITY_START_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_OPACITY_START_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_OPACITY_START_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_ORIENTATION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ORIENTATION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_ORIENTATION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ORIENTATION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_ORIENTATION_FIXED_ROTATION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_ORIENTATION_FIXED_ROTATION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_ORIENTATION_FIXED_ROTATION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_ORIENTATION_FIXED_ROTATION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_PAUSED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_PAUSED = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_PAUSED\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_PAUSED"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_POSITION_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_POSITION_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_POSITION_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_POSITION_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_RATE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_RATE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_RATE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_RATE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_RATE_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_RATE_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_RATE_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_RATE_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_SIZE_END:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_SIZE_END = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_SIZE_END\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_SIZE_END"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_SIZE_END_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_SIZE_END_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_SIZE_END_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_SIZE_END_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_SIZE_START:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_SIZE_START = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_SIZE_START\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_SIZE_START"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_SIZE_START_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_SIZE_START_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_SIZE_START_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_SIZE_START_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_TEXTURE_URI:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TEXTURE_URI = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_TEXTURE_URI\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TEXTURE_URI"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_TRANSPARENT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TRANSPARENT = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_TRANSPARENT\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TRANSPARENT"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_VELOCITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VELOCITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_VELOCITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VELOCITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SET_VELOCITY_VARIANCE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VELOCITY_VARIANCE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SET_VELOCITY_VARIANCE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VELOCITY_VARIANCE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!ParticleEmitterEvent.SPAWN:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SPAWN = "
                },
                {
                  "kind": "Content",
                  "text": "\"PARTICLE_EMITTER.SPAWN\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SPAWN"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!ParticleEmitterEventPayloads:interface",
          "docComment": "/**\n * Event payloads for ParticleEmitter emitted events.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ParticleEmitterEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/particles/ParticleEmitter.ts",
          "releaseTag": "Public",
          "name": "ParticleEmitterEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.BURST\":member",
              "docComment": "/**\n * Emitted when a ParticleEmitter bursts the specified number of particles.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.BURST",
                  "canonicalReference": "server!ParticleEmitterEvent.BURST:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        count: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.BURST\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.DESPAWN\":member",
              "docComment": "/**\n * Emitted when a ParticleEmitter is despawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.DESPAWN",
                  "canonicalReference": "server!ParticleEmitterEvent.DESPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.DESPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_ALPHA_TEST\":member",
              "docComment": "/**\n * Emitted when the alpha test value is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_ALPHA_TEST",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_ALPHA_TEST:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        alphaTest: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_ALPHA_TEST\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_ATTACHED_TO_ENTITY_NODE_NAME\":member",
              "docComment": "/**\n * Emitted when the name of the node of the attached entity the particle emitter is attached to is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_ATTACHED_TO_ENTITY_NODE_NAME",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_ATTACHED_TO_ENTITY_NODE_NAME:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        attachedToEntityNodeName: string;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_ATTACHED_TO_ENTITY_NODE_NAME\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_ATTACHED_TO_ENTITY\":member",
              "docComment": "/**\n * Emitted when the ParticleEmitter is attached to an entity.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_ATTACHED_TO_ENTITY",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_ATTACHED_TO_ENTITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter: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": "\"PARTICLE_EMITTER.SET_ATTACHED_TO_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_COLOR_END_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the color variance of an emitted particle at the end of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_COLOR_END_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_END_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colorEndVariance: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_COLOR_END_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_COLOR_END\":member",
              "docComment": "/**\n * Emitted when the color of an emitted particle at the end of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_COLOR_END",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_END:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colorEnd: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_COLOR_END\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_END_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the color intensity variance of an emitted particle at the end of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_COLOR_INTENSITY_END_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_INTENSITY_END_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colorIntensityEndVariance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_END_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_END\":member",
              "docComment": "/**\n * Emitted when the color intensity of an emitted particle at the end of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_COLOR_INTENSITY_END",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_INTENSITY_END:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colorIntensityEnd: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_END\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_START_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the color intensity variance of an emitted particle at the start of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_COLOR_INTENSITY_START_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_INTENSITY_START_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colorIntensityStartVariance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_START_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_START\":member",
              "docComment": "/**\n * Emitted when the color intensity of an emitted particle at the start of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_COLOR_INTENSITY_START",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_INTENSITY_START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colorIntensityStart: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_COLOR_INTENSITY_START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_COLOR_START_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the color variance of an emitted particle at the start of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_COLOR_START_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_START_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colorStartVariance: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_COLOR_START_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_COLOR_START\":member",
              "docComment": "/**\n * Emitted when the color of an emitted particle at the start of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_COLOR_START",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_COLOR_START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        colorStart: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_COLOR_START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_GRAVITY\":member",
              "docComment": "/**\n * Emitted when the gravity vector for an emitted particle is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_GRAVITY",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_GRAVITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        gravity: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_GRAVITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_LIFETIME_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the lifetime variance of an emitted particle is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_LIFETIME_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_LIFETIME_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        lifetimeVariance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_LIFETIME_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_LIFETIME\":member",
              "docComment": "/**\n * Emitted when the lifetime of an emitted particle is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_LIFETIME",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_LIFETIME:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        lifetime: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_LIFETIME\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_MAX_PARTICLES\":member",
              "docComment": "/**\n * Emitted when the maximum number of live particles is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_MAX_PARTICLES",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_MAX_PARTICLES:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        maxParticles: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_MAX_PARTICLES\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_OFFSET\":member",
              "docComment": "/**\n * Emitted when the offset of the particle emitter is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_OFFSET",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_OFFSET:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter: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": "\"PARTICLE_EMITTER.SET_OFFSET\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_OPACITY_END_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the opacity variance of an emitted particle at the end of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_OPACITY_END_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_OPACITY_END_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        opacityEndVariance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_OPACITY_END_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_OPACITY_END\":member",
              "docComment": "/**\n * Emitted when the opacity of an emitted particle at the end of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_OPACITY_END",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_OPACITY_END:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        opacityEnd: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_OPACITY_END\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_OPACITY_START_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the opacity variance of an emitted particle at the start of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_OPACITY_START_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_OPACITY_START_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        opacityStartVariance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_OPACITY_START_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_OPACITY_START\":member",
              "docComment": "/**\n * Emitted when the opacity of an emitted particle at the start of its lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_OPACITY_START",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_OPACITY_START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        opacityStart: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_OPACITY_START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_ORIENTATION_FIXED_ROTATION\":member",
              "docComment": "/**\n * Emitted when the fixed rotation of emitted particles is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_ORIENTATION_FIXED_ROTATION",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_ORIENTATION_FIXED_ROTATION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        orientationFixedRotation: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_ORIENTATION_FIXED_ROTATION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_ORIENTATION\":member",
              "docComment": "/**\n * Emitted when the orientation mode of emitted particles is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_ORIENTATION",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_ORIENTATION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        orientation: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterOrientation",
                  "canonicalReference": "server!ParticleEmitterOrientation:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_ORIENTATION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_PAUSED\":member",
              "docComment": "/**\n * Emitted when the paused state of an emitted particle is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_PAUSED",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_PAUSED:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        paused: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_PAUSED\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_POSITION_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the position variance of an emitted particle is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_POSITION_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_POSITION_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        positionVariance: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_POSITION_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_POSITION\":member",
              "docComment": "/**\n * Emitted when the position of the particle emitter is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_POSITION",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_POSITION:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter: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": "\"PARTICLE_EMITTER.SET_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_RATE_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the rate per second variance of the particle emission rate is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_RATE_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_RATE_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        rateVariance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_RATE_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_RATE\":member",
              "docComment": "/**\n * Emitted when the rate per second at which particles are emitted is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_RATE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_RATE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        rate: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_RATE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_SIZE_END_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the size variance at the end of an emitted particle's lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_SIZE_END_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_SIZE_END_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        sizeEndVariance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_SIZE_END_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_SIZE_END\":member",
              "docComment": "/**\n * Emitted when the size at the end of an emitted particle's lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_SIZE_END",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_SIZE_END:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        sizeEnd: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_SIZE_END\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_SIZE_START_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the size variance at the start of an emitted particle's lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_SIZE_START_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_SIZE_START_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        sizeStartVariance: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_SIZE_START_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_SIZE_START\":member",
              "docComment": "/**\n * Emitted when the size at the start of an emitted particle's lifetime is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_SIZE_START",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_SIZE_START:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        sizeStart: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_SIZE_START\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_TEXTURE_URI\":member",
              "docComment": "/**\n * Emitted when the texture URI is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_TEXTURE_URI",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_TEXTURE_URI:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        textureUri: string;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_TEXTURE_URI\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_TRANSPARENT\":member",
              "docComment": "/**\n * Emitted when the transparency of an emitted particle is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_TRANSPARENT",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_TRANSPARENT:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        transparent: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_TRANSPARENT\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_VELOCITY_VARIANCE\":member",
              "docComment": "/**\n * Emitted when the velocity variance of an emitted particle is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_VELOCITY_VARIANCE",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_VELOCITY_VARIANCE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        velocityVariance: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_VELOCITY_VARIANCE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SET_VELOCITY\":member",
              "docComment": "/**\n * Emitted when the velocity of an emitted particle is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SET_VELOCITY",
                  "canonicalReference": "server!ParticleEmitterEvent.SET_VELOCITY:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        velocity: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SET_VELOCITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterEventPayloads#\"PARTICLE_EMITTER.SPAWN\":member",
              "docComment": "/**\n * Emitted when a ParticleEmitter is spawned.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterEvent.SPAWN",
                  "canonicalReference": "server!ParticleEmitterEvent.SPAWN:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        particleEmitter: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PARTICLE_EMITTER.SPAWN\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!ParticleEmitterManager:class",
          "docComment": "/**\n * Manages ParticleEmitter instances in a world.\n *\n * When to use: querying or bulk-cleaning particle emitters for a world. Do NOT use for: configuring emitters; use `ParticleEmitter` instances directly.\n *\n * @remarks\n *\n * The ParticleEmitterManager is created internally per `World` instance. Pattern: spawn emitters during gameplay and use this manager for cleanup on entity despawn.\n *\n * **Category:** Particles\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 `ParticleEmitterManager` class.\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class ParticleEmitterManager "
            }
          ],
          "fileUrlPath": "src/worlds/particles/ParticleEmitterManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "ParticleEmitterManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitterManager#getAllEntityAttachedParticleEmitters:member(1)",
              "docComment": "/**\n * Retrieves all spawned ParticleEmitter instances attached to a specific entity.\n *\n * Use for: cleanup or inspection of entity-bound emitters.\n *\n * @param entity - The entity to get attached ParticleEmitter instances for.\n *\n * @returns An array of ParticleEmitter instances.\n *\n * **Requires:** Entity should belong to this world for meaningful results.\n *\n * @see\n *\n * `despawnEntityAttachedParticleEmitters()`\n *\n * **Category:** Particles\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllEntityAttachedParticleEmitters(entity: "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter: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": "getAllEntityAttachedParticleEmitters"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!ParticleEmitterManager#getAllParticleEmitters:member(1)",
              "docComment": "/**\n * Retrieves all spawned ParticleEmitter instances for the world.\n *\n * @returns An array of ParticleEmitter instances.\n *\n * **Category:** Particles\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllParticleEmitters(): "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitter",
                  "canonicalReference": "server!ParticleEmitter: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": "getAllParticleEmitters"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!ParticleEmitterManager#world:member",
              "docComment": "/**\n * The world the ParticleEmitterManager is for.\n *\n * **Category:** Particles\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!ParticleEmitterOptions:interface",
          "docComment": "/**\n * Options for creating a ParticleEmitter instance.\n *\n * Use for: configuring an emitter before calling `ParticleEmitter.spawn`. Do NOT use for: runtime updates after spawn; use `ParticleEmitter.set*` methods.\n *\n * **Category:** Particles\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ParticleEmitterOptions "
            }
          ],
          "fileUrlPath": "src/worlds/particles/ParticleEmitter.ts",
          "releaseTag": "Public",
          "name": "ParticleEmitterOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#alphaTest:member",
              "docComment": "/**\n * The alpha test value, discards particle texture pixels with alpha opacity less than this value. Defaults to 0.5.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "alphaTest?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "alphaTest",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#attachedToEntity:member",
              "docComment": "/**\n * If set, the ParticleEmitter 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!ParticleEmitterOptions#attachedToEntityNodeName:member",
              "docComment": "/**\n * The name of the node of the attached entity (if the attached entity is a model entity) to attach the particle emitter to.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "attachedToEntityNodeName?: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "attachedToEntityNodeName",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#colorEnd:member",
              "docComment": "/**\n * The color of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorEnd?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorEnd",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#colorEndVariance:member",
              "docComment": "/**\n * The color variance of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorEndVariance?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorEndVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#colorIntensityEnd:member",
              "docComment": "/**\n * The color intensity of an emitted particle at the end of its lifetime. Values greater than 1 create HDR/bloom effects.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorIntensityEnd?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorIntensityEnd",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#colorIntensityEndVariance:member",
              "docComment": "/**\n * The color intensity variance of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorIntensityEndVariance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorIntensityEndVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#colorIntensityStart:member",
              "docComment": "/**\n * The color intensity of an emitted particle at the start of its lifetime. Values greater than 1 create HDR/bloom effects.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorIntensityStart?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorIntensityStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#colorIntensityStartVariance:member",
              "docComment": "/**\n * The color intensity variance of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorIntensityStartVariance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorIntensityStartVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#colorStart:member",
              "docComment": "/**\n * The color of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorStart?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#colorStartVariance:member",
              "docComment": "/**\n * The color variance of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "colorStartVariance?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "colorStartVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#gravity:member",
              "docComment": "/**\n * The gravity vector for an emitted particle.\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!ParticleEmitterOptions#lifetime:member",
              "docComment": "/**\n * The lifetime of an emitted particle in seconds.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lifetime?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "lifetime",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#lifetimeVariance:member",
              "docComment": "/**\n * The lifetime variance of an emitted particle in seconds.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lifetimeVariance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "lifetimeVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#lockToEmitter:member",
              "docComment": "/**\n * When enabled, emitted particles follow the emitter's world position. Cannot be changed after construction.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "lockToEmitter?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "lockToEmitter",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#maxParticles:member",
              "docComment": "/**\n * The maximum number of live particles.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "maxParticles?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "maxParticles",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#offset:member",
              "docComment": "/**\n * The offset of the particle emitter 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!ParticleEmitterOptions#opacityEnd:member",
              "docComment": "/**\n * The opacity of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "opacityEnd?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "opacityEnd",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#opacityEndVariance:member",
              "docComment": "/**\n * The opacity variance of an emitted particle at the end of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "opacityEndVariance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "opacityEndVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#opacityStart:member",
              "docComment": "/**\n * The opacity of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "opacityStart?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "opacityStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#opacityStartVariance:member",
              "docComment": "/**\n * The opacity variance of an emitted particle at the start of its lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "opacityStartVariance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "opacityStartVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#orientation:member",
              "docComment": "/**\n * The orientation mode of emitted particles. 'billboard' faces the camera, 'billboardY' faces the camera but keeps Y-axis upward, 'fixed' uses a fixed rotation. Defaults to 'billboard'.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "orientation?: "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterOrientation",
                  "canonicalReference": "server!ParticleEmitterOrientation:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "orientation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#orientationFixedRotation:member",
              "docComment": "/**\n * The fixed rotation of emitted particles in degrees (x, y, z) when orientation is 'fixed'. Defaults to (0, 0, 0).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "orientationFixedRotation?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "orientationFixedRotation",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#position:member",
              "docComment": "/**\n * The position of the particle emitter in the world if explicitly set.\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!ParticleEmitterOptions#positionVariance:member",
              "docComment": "/**\n * The position variance of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "positionVariance?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "positionVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#rate:member",
              "docComment": "/**\n * The rate per second at which particles are emitted.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rate?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "rate",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#rateVariance:member",
              "docComment": "/**\n * The rate per second variance of the particle emission rate.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "rateVariance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "rateVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#sizeEnd:member",
              "docComment": "/**\n * The size at the end of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sizeEnd?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "sizeEnd",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#sizeEndVariance:member",
              "docComment": "/**\n * The size variance at the end of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sizeEndVariance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "sizeEndVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#sizeStart:member",
              "docComment": "/**\n * The size at the start of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sizeStart?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "sizeStart",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#sizeStartVariance:member",
              "docComment": "/**\n * The size variance at the start of an emitted particle's lifetime.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "sizeStartVariance?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "sizeStartVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#textureUri:member",
              "docComment": "/**\n * The URI or path to the texture to be used for the particles.\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
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#transparent:member",
              "docComment": "/**\n * Whether an emitted particle is transparent, resulting in smoother transparency blending.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "transparent?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "transparent",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#velocity:member",
              "docComment": "/**\n * The velocity of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "velocity?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "velocity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!ParticleEmitterOptions#velocityVariance:member",
              "docComment": "/**\n * The velocity variance of an emitted particle.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "velocityVariance?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "velocityVariance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!ParticleEmitterOrientation:type",
          "docComment": "/**\n * The orientation mode for particles.\n *\n * **Category:** Particles\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ParticleEmitterOrientation = "
            },
            {
              "kind": "Content",
              "text": "'billboard' | 'billboardY' | 'fixed' | 'velocity'"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/particles/ParticleEmitter.ts",
          "releaseTag": "Public",
          "name": "ParticleEmitterOrientation",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PathfindAbortCallback:type",
          "docComment": "/**\n * Callback invoked when pathfinding aborts.\n *\n * **Category:** Controllers\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PathfindAbortCallback = "
            },
            {
              "kind": "Content",
              "text": "() => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "name": "PathfindAbortCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PathfindCompleteCallback:type",
          "docComment": "/**\n * Callback invoked when pathfinding completes and the entity reaches the target.\n *\n * **Category:** Controllers\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PathfindCompleteCallback = "
            },
            {
              "kind": "Content",
              "text": "() => void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/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 `SimpleEntityController`.\n *\n * When to use: obstacle-aware movement to a target coordinate. Do NOT use for: per-tick recalculation; pathfinding is synchronous and can be expensive.\n *\n * @remarks\n *\n * Implements A* pathfinding. Call `PathfindingEntityController.pathfind` sparingly; it is intended to be called once per destination in most cases.\n *\n * <h2>Coordinate System & Model Orientation</h2>\n *\n * HYTOPIA uses **-Z as forward**. Models must be authored with their front facing -Z. The controller automatically calls `face()` to orient the entity's -Z axis toward each waypoint.\n *\n * **Category:** Controllers\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/worlds/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PathfindingEntityController",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!PathfindingEntityController:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `PathfindingEntityController` class\n *\n * @param options - Options for the controller.\n *\n * **Category:** Controllers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "PathfindingEntityControllerOptions",
                  "canonicalReference": "server!~PathfindingEntityControllerOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PathfindingEntityController#debug:member",
              "docComment": "/**\n * Whether to enable debug mode.\n *\n * @remarks\n *\n * When enabled, pathfinding logs debug information to the console.\n *\n * **Category:** Controllers\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 * **Category:** Controllers\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 * **Category:** Controllers\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 open set iterations before aborting pathfinding.\n *\n * **Category:** Controllers\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 * Calculates a path and moves to the target if a path is found.\n *\n * Use for: one-shot navigation to a destination. Do NOT use for: high-frequency replanning; it is synchronous.\n *\n * @remarks\n *\n * **Synchronous return:** Path calculation happens synchronously. Returns `true` if a path was found, `false` if no path exists or calculation was aborted.\n *\n * **Auto-starts movement:** If a path is found, movement begins immediately using the inherited `move()`, `face()`, and `jump()` methods from `SimpleEntityController`.\n *\n * **Auto-facing (-Z forward):** Automatically calls `face()` for each waypoint, orienting the entity's -Z axis toward the next waypoint. Models must be authored with their front facing -Z.\n *\n * **A* algorithm:** Uses A* pathfinding with configurable `maxJump`, `maxFall`, and `verticalPenalty`. Path calculation is capped by `maxOpenSetIterations` (default 200) to prevent blocking.\n *\n * **Waypoint progression:** Entity moves through calculated waypoints sequentially. Each waypoint has a timeout (`waypointTimeoutMs`) after which it's skipped if not reached.\n *\n * @param target - The target coordinate to pathfind to.\n *\n * @param speed - The speed of the entity (blocks per second).\n *\n * @param options - The pathfinding options.\n *\n * @returns True if a path was found, false otherwise.\n *\n * **Requires:** The controller must be attached to a spawned entity in a world.\n *\n * **Side effects:** Starts movement and facing if a path is found.\n *\n * **Category:** Controllers\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 used for path movement.\n *\n * **Category:** Controllers\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 being pathfound to.\n *\n * **Category:** Controllers\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 used during pathfinding.\n *\n * **Category:** Controllers\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 of the next waypoint being approached.\n *\n * **Category:** Controllers\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 * **Category:** Controllers\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.\n *\n * **Category:** Controllers\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 `PathfindingEntityController.pathfind`.\n *\n * Use for: configuring a single pathfinding request. Do NOT use for: per-tick recalculation; call `pathfind` sparingly.\n *\n * **Category:** Controllers\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    waypointStoppingDistance?: number;\n    waypointTimeoutMs?: number;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/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 * When to use: reading or writing persisted data shared across lobbies or per player. Do NOT use for: per-tick state; cache data in memory and write back periodically.\n *\n * @remarks\n *\n * This class is a singleton accessible with `PersistenceManager.instance`. Convenience methods are also available on `Player` and `GameServer`.\n *\n * Pattern: load data on join, update in memory, and save on significant events. Anti-pattern: calling persistence APIs every frame.\n *\n * **Category:** Persistence\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 * @remarks\n *\n * **Empty data:** Returns `{}` if key exists but has no data.\n *\n * **Failure:** Returns `undefined` if fetch failed after retries.\n *\n * @param key - The key to get the data from.\n *\n * @param maxRetries - The maximum number of retries to attempt in the event of failure.\n *\n * @returns The data from the persistence layer.\n *\n * **Side effects:** May perform network I/O and retries.\n *\n * @see\n *\n * `PersistenceManager.setGlobalData`\n *\n * **Category:** Persistence\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getGlobalData(key: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", maxRetries?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "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> | undefined>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "key",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "maxRetries",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getGlobalData"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PersistenceManager.instance:member",
              "docComment": "/**\n * Singleton instance.\n *\n * **Category:** Persistence\n */\n",
              "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 * **Side effects:** Performs network I/O to persist data.\n *\n * @see\n *\n * `PersistenceManager.getGlobalData`\n *\n * **Category:** Persistence\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": "<void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 8
              },
              "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"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Player:class",
          "docComment": "/**\n * A connected player in the game.\n *\n * When to use: interacting with a connected player's state, UI, and world membership. Do NOT use for: constructing players or representing offline users.\n *\n * @remarks\n *\n * Players are created automatically on connection by `PlayerManager`.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `PlayerEventPayloads`.\n *\n * **Category:** Players\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 * **Category:** Players\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": "Property",
              "canonicalReference": "server!Player#cosmetics:member",
              "docComment": "/**\n * The cosmetics for the player.\n *\n * @remarks\n *\n * This resolves asynchronously and may resolve to `void` if unavailable.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "readonly cosmetics: "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCosmetics",
                  "canonicalReference": "server!PlayerCosmetics:type"
                },
                {
                  "kind": "Content",
                  "text": " | void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "cosmetics",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "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 * Use for: kicking a player or enforcing a logout. Do NOT use for: switching worlds; use `Player.joinWorld` instead.\n *\n * **Side effects:** Emits `PlayerEvent.LEFT_WORLD` if the player is in a world and closes the connection.\n *\n * **Category:** Players\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 * Gets the persisted data for the player, if available.\n *\n * Use for: reading saved progress after the player connects.\n *\n * @remarks\n *\n * Returns `undefined` if data hasn't loaded or no data exists. Returns an empty object when data loads successfully but is empty.\n *\n * @returns The persisted data for the player, or undefined.\n *\n * **Requires:** Player persistence must have been loaded (handled during connect).\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getPersistedData(): "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown> | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "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 * **Category:** Players\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 `PlayerInput` of the player.\n *\n * **Category:** Players\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": "Property",
              "canonicalReference": "server!Player#isInteractEnabled:member",
              "docComment": "/**\n * Whether player click/tap input triggers interactions.\n *\n * @remarks\n *\n * Defaults to `true`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isInteractEnabled(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isInteractEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#joinWorld:member(1)",
              "docComment": "/**\n * Assigns the player to a world.\n *\n * Use for: initial placement or moving a player between worlds. Do NOT use for: respawning or teleporting within the same world.\n *\n * @remarks\n *\n * If switching worlds, the player is internally disconnected/reconnected and `JOINED_WORLD` is emitted after reconnection completes.\n *\n * @param world - The world to join the player to.\n *\n * **Side effects:** Emits `PlayerEvent.JOINED_WORLD` and `PlayerEvent.LEFT_WORLD` during world switches.\n *\n * **Category:** Players\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": "Property",
              "canonicalReference": "server!Player#maxInteractDistance:member",
              "docComment": "/**\n * The maximum distance a player can interact with entities or blocks.\n *\n * @remarks\n *\n * Measured in world blocks. Defaults to `20`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get maxInteractDistance(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "maxInteractDistance",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Player#profilePictureUrl:member",
              "docComment": "/**\n * The profile picture URL for the player.\n *\n * **Category:** Players\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#resetInputs:member(1)",
              "docComment": "/**\n * Resets all cached input keys for the player.\n *\n * Use for: clearing stuck input states (e.g., after disconnect or pause).\n *\n * **Side effects:** Clears the current `PlayerInput` state.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "resetInputs(): "
                },
                {
                  "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": "resetInputs"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#scheduleNotification:member(1)",
              "docComment": "/**\n * Schedules a notification for the player at a future time.\n *\n * Use for: re-engagement or timed reminders. Do NOT use for: immediate in-game messaging; use chat or UI instead.\n *\n * @remarks\n *\n * Automatically prompts for notification permission in-game if needed.\n *\n * @param type - The type of notification to schedule.\n *\n * @param scheduledFor - A future timestamp in milliseconds to schedule the notification for.\n *\n * @returns The ID of the notification if scheduled successfully, undefined otherwise.\n *\n * **Requires:** Player must be in a world to request permission.\n *\n * **Side effects:** Emits `PlayerEvent.REQUEST_NOTIFICATION_PERMISSION`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "scheduleNotification(type: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", scheduledFor: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string | void>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "type",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "scheduledFor",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "scheduleNotification"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#setInteractEnabled:member(1)",
              "docComment": "/**\n * Enables or disables interaction clicks/taps for this player.\n *\n * Use for: cutscenes, menus, or temporary input blocking.\n *\n * @param enabled - True to allow interactions, false to block them.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setInteractEnabled(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": "setInteractEnabled"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#setMaxInteractDistance:member(1)",
              "docComment": "/**\n * Sets the maximum distance a player can interact with entities or blocks.\n *\n * @param distance - The maximum distance in blocks used for the interact raycast.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setMaxInteractDistance(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": "setMaxInteractDistance"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Player#setPersistedData:member(1)",
              "docComment": "/**\n * Merges data into the player's persisted data cache.\n *\n * Use for: saving progress, inventory, or other player-specific state. Do NOT use for: large binary data or per-tick updates.\n *\n * @remarks\n *\n * Data is merged shallowly into the cached persistence object.\n *\n * @param data - The data to merge into the persisted data.\n *\n * **Requires:** Player persistence must have been loaded before calling.\n *\n * **Side effects:** Mutates the in-memory persistence cache for this player.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setPersistedData(data: "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown>"
                },
                {
                  "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": "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 * **Category:** Players\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": "Method",
              "canonicalReference": "server!Player#unscheduleNotification:member(1)",
              "docComment": "/**\n * Unschedules a scheduled notification for the player.\n *\n * @param notificationId - The ID returned from `Player.scheduleNotification`.\n *\n * @returns True if the notification was unscheduled, false otherwise.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "unscheduleNotification(notificationId: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Promise",
                  "canonicalReference": "!Promise:interface"
                },
                {
                  "kind": "Content",
                  "text": "<boolean>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "notificationId",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "unscheduleNotification"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Player#username:member",
              "docComment": "/**\n * The unique HYTOPIA username for the player.\n *\n * **Category:** Players\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 `World` the player is in, or undefined if not yet joined.\n *\n * **Category:** Players\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 * When to use: controlling a player's view, mode, and camera offsets. Do NOT use for: moving the player or entities; use entity movement APIs.\n *\n * @remarks\n *\n * Access via `Player.camera`. Most operations require the player to be in a world.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `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 * // Camera follows player, continuously looks at enemy\n * player.camera.setAttachedToEntity(playerEntity);\n * player.camera.setTargetEntity(enemyEntity);\n *\n * // Camera at fixed position, continuously looks at player\n * player.camera.setAttachedToPosition({ x: 0, y: 10, z: 0 });\n * player.camera.setTargetEntity(playerEntity);\n *\n * // Stop targeting, restore manual camera control\n * player.camera.setTargetEntity(undefined);\n * ```\n *\n * **Category:** Players\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 * **Category:** Players\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 * **Category:** Players\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#collidesWithBlocks:member",
              "docComment": "/**\n * Whether the camera collides with blocks instead of clipping through them.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get collidesWithBlocks(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "collidesWithBlocks",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#faceEntity:member(1)",
              "docComment": "/**\n * Makes the camera look at an entity once.\n *\n * Use for: one-off focus moments (e.g., cutscene beats). Do NOT use for: continuous tracking; use `PlayerCamera.setTrackedEntity`.\n *\n * @param entity - The entity to look at.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.LOOK_AT_ENTITY`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "faceEntity(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": "faceEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#facePosition:member(1)",
              "docComment": "/**\n * Makes the camera look at a position once.\n *\n * Use for: one-off focus moments (e.g., points of interest). Do NOT use for: continuous tracking; use `PlayerCamera.setTrackedPosition`.\n *\n * @param position - The position to look at.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.LOOK_AT_POSITION`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "facePosition(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": "facePosition"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#facingDirection:member",
              "docComment": "/**\n * The facing direction vector of the camera based on its current orientation.\n *\n * **Category:** Players\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#facingQuaternion:member",
              "docComment": "/**\n * The quaternion representing the camera's facing direction.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get facingQuaternion(): "
                },
                {
                  "kind": "Reference",
                  "text": "QuaternionLike",
                  "canonicalReference": "server!QuaternionLike:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "facingQuaternion",
              "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.\n *\n * @remarks\n *\n * Positive shifts right, negative shifts left.\n *\n * **Category:** Players\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 * The forward offset of the camera (first-person mode only).\n *\n * @remarks\n *\n * Positive shifts forward, negative shifts backward.\n *\n * **Category:** Players\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 * **Category:** Players\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": "Property",
              "canonicalReference": "server!PlayerCamera#mode:member",
              "docComment": "/**\n * The mode of the camera.\n *\n * **Category:** Players\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 * Model nodes that will not be rendered for this player.\n *\n * @remarks\n *\n * Uses case-insensitive substring matching.\n *\n * **Category:** Players\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#modelShownNodes:member",
              "docComment": "/**\n * Model nodes that will be rendered for this player, overriding hidden nodes.\n *\n * @remarks\n *\n * Uses case-insensitive substring matching.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get modelShownNodes(): "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "modelShownNodes",
              "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 its attachment target.\n *\n * **Category:** Players\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 * @remarks\n *\n * Updated by client input; there is no public setter.\n *\n * **Category:** Players\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 * **Category:** Players\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#reset:member(1)",
              "docComment": "/**\n * Resets the camera state on the server.\n *\n * Use for: clearing camera state on disconnect or reconnect.\n *\n * @remarks\n *\n * Clears `attachedToEntity`, `attachedToPosition`, `orientation`, `trackedEntity`, and `trackedPosition`. This does not emit a camera event; it only resets server-side state.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "reset(): "
                },
                {
                  "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": "reset"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setAttachedToEntity:member(1)",
              "docComment": "/**\n * Attaches the camera to an entity.\n *\n * Use for: third-person follow cameras or entity-bound views. Do NOT use for: tracking an entity without attachment; use `PlayerCamera.setTrackedEntity`.\n *\n * @param entity - The entity to attach the camera to (must be spawned).\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_ATTACHED_TO_ENTITY`.\n *\n * **Category:** Players\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 * Attaches the camera to a world position.\n *\n * Use for: fixed cameras or cinematic shots. Do NOT use for: tracking a moving target; use `PlayerCamera.setTrackedPosition`.\n *\n * @param position - The position to attach the camera to.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_ATTACHED_TO_POSITION`.\n *\n * **Category:** Players\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#setCollidesWithBlocks:member(1)",
              "docComment": "/**\n * Sets whether the camera collides with blocks instead of clipping through them.\n *\n * @param collidesWithBlocks - Whether the camera should collide with blocks.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setCollidesWithBlocks(collidesWithBlocks: "
                },
                {
                  "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": "collidesWithBlocks",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setCollidesWithBlocks"
            },
            {
              "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 * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_FILM_OFFSET`.\n *\n * **Category:** Players\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 * Sets the forward offset of the camera (first-person mode only).\n *\n * @remarks\n *\n * Positive shifts forward, negative shifts backward.\n *\n * @param forwardOffset - The forward offset to set.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_FORWARD_OFFSET`.\n *\n * **Category:** Players\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 * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_FOV`.\n *\n * **Category:** Players\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 * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_MODE`.\n *\n * **Category:** Players\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#setOffset:member(1)",
              "docComment": "/**\n * Sets the relative offset of the camera from its attachment target.\n *\n * @param offset - The offset to set.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_OFFSET`.\n *\n * **Category:** Players\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#setShoulderAngle:member(1)",
              "docComment": "/**\n * Sets the shoulder angle of the camera in degrees (third-person mode only).\n *\n * @remarks\n *\n * Positive shifts right, negative shifts left.\n *\n * @param shoulderAngle - The shoulder angle to set in degrees.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_SHOULDER_ANGLE`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setShoulderAngle(shoulderAngle: "
                },
                {
                  "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": "shoulderAngle",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setShoulderAngle"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setTargetEntity:member(1)",
              "docComment": "/**\n * Sets the entity the camera will continuously look at.\n *\n * Use for: keeping the camera focused on a moving entity.\n *\n * @param entity - The entity to track, or undefined to stop tracking.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_TRACKED_ENTITY`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTargetEntity(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": "setTargetEntity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setTargetPosition:member(1)",
              "docComment": "/**\n * Sets the position the camera will continuously look at.\n *\n * Use for: fixed focal points in the scene.\n *\n * @param position - The position to track, or undefined to stop tracking.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_TRACKED_POSITION`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTargetPosition(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": "setTargetPosition"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setViewModel:member(1)",
              "docComment": "/**\n * Sets a view model for first-person rendering.\n *\n * @remarks\n *\n * The view model is only visible to this camera's player and renders in place of the attached entity's model (e.g., first-person arms/weapon). Animations played on the attached entity automatically sync to this model if animation names match.\n *\n * @param viewModelUri - The model URI, or `undefined` to clear.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setViewModel(viewModelUri: "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "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": "viewModelUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setViewModel"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setViewModelHiddenNodes:member(1)",
              "docComment": "/**\n * Hides nodes on the view model (or attached entity's model if no view model is set).\n *\n * @remarks\n *\n * Only affects this camera's player. Uses case-insensitive substring matching. Replaces the current set (not a merge).\n *\n * @param viewModelHiddenNodes - Node name substrings to hide.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setViewModelHiddenNodes(viewModelHiddenNodes: "
                },
                {
                  "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": "viewModelHiddenNodes",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setViewModelHiddenNodes"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setViewModelPitchesWithCamera:member(1)",
              "docComment": "/**\n * Sets whether the view model pitches up/down with the camera orientation.\n *\n * @remarks\n *\n * Useful for first-person view models to tilt when looking up/down.\n *\n * @param viewModelPitchesWithCamera - Whether the view model should pitch with the camera.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setViewModelPitchesWithCamera(viewModelPitchesWithCamera: "
                },
                {
                  "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": "viewModelPitchesWithCamera",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setViewModelPitchesWithCamera"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setViewModelShownNodes:member(1)",
              "docComment": "/**\n * Shows nodes on the view model (or attached entity's model if no view model is set), overriding hidden nodes.\n *\n * @remarks\n *\n * Only affects this camera's player. Uses case-insensitive substring matching. Replaces the current set (not a merge).\n *\n * @param viewModelShownNodes - Node name substrings to show.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setViewModelShownNodes(viewModelShownNodes: "
                },
                {
                  "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": "viewModelShownNodes",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setViewModelShownNodes"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerCamera#setViewModelYawsWithCamera:member(1)",
              "docComment": "/**\n * Sets whether the view model yaws left/right with the camera orientation.\n *\n * @remarks\n *\n * Useful for first-person view models to rotate when looking left/right.\n *\n * @param viewModelYawsWithCamera - Whether the view model should yaw with the camera.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setViewModelYawsWithCamera(viewModelYawsWithCamera: "
                },
                {
                  "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": "viewModelYawsWithCamera",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setViewModelYawsWithCamera"
            },
            {
              "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 * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerCameraEvent.SET_ZOOM`.\n *\n * **Category:** Players\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#shoulderAngle:member",
              "docComment": "/**\n * The shoulder angle of the camera in degrees.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get shoulderAngle(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shoulderAngle",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#targetEntity:member",
              "docComment": "/**\n * The entity the camera continuously rotates to face.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get targetEntity(): "
                },
                {
                  "kind": "Reference",
                  "text": "Entity",
                  "canonicalReference": "server!Entity:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "targetEntity",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#targetPosition:member",
              "docComment": "/**\n * The position the camera continuously rotates to face.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get targetPosition(): "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "targetPosition",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#viewModelHiddenNodes:member",
              "docComment": "/**\n * Node substrings to hide on the view model (or attached entity's model).\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get viewModelHiddenNodes(): "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "viewModelHiddenNodes",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#viewModelPitchesWithCamera:member",
              "docComment": "/**\n * Whether the view model pitches up/down with the camera orientation.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get viewModelPitchesWithCamera(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "viewModelPitchesWithCamera",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#viewModelShownNodes:member",
              "docComment": "/**\n * Node substrings to show on the view model (or attached entity's model).\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get viewModelShownNodes(): "
                },
                {
                  "kind": "Reference",
                  "text": "Set",
                  "canonicalReference": "!Set:interface"
                },
                {
                  "kind": "Content",
                  "text": "<string>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "viewModelShownNodes",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#viewModelUri:member",
              "docComment": "/**\n * The URI of the view model.\n *\n * @remarks\n *\n * If not set, defaults to using attached entity's model uri. If no entity is attached, returns `undefined`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get viewModelUri(): "
                },
                {
                  "kind": "Content",
                  "text": "string | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "viewModelUri",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#viewModelYawsWithCamera:member",
              "docComment": "/**\n * Whether the view model yaws left/right with the camera orientation.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get viewModelYawsWithCamera(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "viewModelYawsWithCamera",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerCamera#zoom:member",
              "docComment": "/**\n * The zoom of the camera.\n *\n * **Category:** Players\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.\n *\n * See `PlayerCameraEventPayloads` for the payloads.\n *\n * **Category:** Events\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.FACE_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "FACE_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.FACE_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "FACE_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.FACE_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "FACE_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.FACE_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "FACE_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_COLLIDES_WITH_BLOCKS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_COLLIDES_WITH_BLOCKS = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_COLLIDES_WITH_BLOCKS\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_COLLIDES_WITH_BLOCKS"
            },
            {
              "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_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_SHOULDER_ANGLE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_SHOULDER_ANGLE = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_SHOULDER_ANGLE\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_SHOULDER_ANGLE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_TARGET_ENTITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TARGET_ENTITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_TARGET_ENTITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TARGET_ENTITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_TARGET_POSITION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_TARGET_POSITION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_TARGET_POSITION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_TARGET_POSITION"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VIEW_MODEL = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_VIEW_MODEL\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VIEW_MODEL"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL_HIDDEN_NODES:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VIEW_MODEL_HIDDEN_NODES = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_VIEW_MODEL_HIDDEN_NODES\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VIEW_MODEL_HIDDEN_NODES"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL_PITCHES_WITH_CAMERA:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VIEW_MODEL_PITCHES_WITH_CAMERA = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_VIEW_MODEL_PITCHES_WITH_CAMERA\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VIEW_MODEL_PITCHES_WITH_CAMERA"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL_SHOWN_NODES:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VIEW_MODEL_SHOWN_NODES = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_VIEW_MODEL_SHOWN_NODES\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VIEW_MODEL_SHOWN_NODES"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL_YAWS_WITH_CAMERA:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_VIEW_MODEL_YAWS_WITH_CAMERA = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_CAMERA.SET_VIEW_MODEL_YAWS_WITH_CAMERA\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_VIEW_MODEL_YAWS_WITH_CAMERA"
            },
            {
              "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 * **Category:** 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.FACE_ENTITY\":member",
              "docComment": "/**\n * Emitted when the camera faces an entity (one-time rotation).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.FACE_ENTITY",
                  "canonicalReference": "server!PlayerCameraEvent.FACE_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.FACE_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.FACE_POSITION\":member",
              "docComment": "/**\n * Emitted when the camera faces a position (one-time rotation).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.FACE_POSITION",
                  "canonicalReference": "server!PlayerCameraEvent.FACE_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.FACE_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_ATTACHED_TO_ENTITY\":member",
              "docComment": "/**\n * Emitted when the camera attachment entity is set.\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 attachment position is set.\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_COLLIDES_WITH_BLOCKS\":member",
              "docComment": "/**\n * Emitted when collides with blocks is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_COLLIDES_WITH_BLOCKS",
                  "canonicalReference": "server!PlayerCameraEvent.SET_COLLIDES_WITH_BLOCKS:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        collidesWithBlocks: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_COLLIDES_WITH_BLOCKS\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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_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_SHOULDER_ANGLE\":member",
              "docComment": "/**\n * Emitted when the shoulder angle of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_SHOULDER_ANGLE",
                  "canonicalReference": "server!PlayerCameraEvent.SET_SHOULDER_ANGLE:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        shoulderAngle: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_SHOULDER_ANGLE\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_TARGET_ENTITY\":member",
              "docComment": "/**\n * Emitted when the target entity of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_TARGET_ENTITY",
                  "canonicalReference": "server!PlayerCameraEvent.SET_TARGET_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_TARGET_ENTITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_TARGET_POSITION\":member",
              "docComment": "/**\n * Emitted when the target position of the camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_TARGET_POSITION",
                  "canonicalReference": "server!PlayerCameraEvent.SET_TARGET_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_TARGET_POSITION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_VIEW_MODEL_HIDDEN_NODES\":member",
              "docComment": "/**\n * Emitted when the nodes of the view model are set to be hidden.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_VIEW_MODEL_HIDDEN_NODES",
                  "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL_HIDDEN_NODES:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        viewModelHiddenNodes: "
                },
                {
                  "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_VIEW_MODEL_HIDDEN_NODES\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_VIEW_MODEL_PITCHES_WITH_CAMERA\":member",
              "docComment": "/**\n * Emitted when view model pitches with camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_VIEW_MODEL_PITCHES_WITH_CAMERA",
                  "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL_PITCHES_WITH_CAMERA:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        viewModelPitchesWithCamera: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_VIEW_MODEL_PITCHES_WITH_CAMERA\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_VIEW_MODEL_SHOWN_NODES\":member",
              "docComment": "/**\n * Emitted when the nodes of the view model are set to be shown.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_VIEW_MODEL_SHOWN_NODES",
                  "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL_SHOWN_NODES:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        viewModelShownNodes: "
                },
                {
                  "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_VIEW_MODEL_SHOWN_NODES\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_VIEW_MODEL_YAWS_WITH_CAMERA\":member",
              "docComment": "/**\n * Emitted when view model yaws with camera is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_VIEW_MODEL_YAWS_WITH_CAMERA",
                  "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL_YAWS_WITH_CAMERA:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        viewModelYawsWithCamera: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_VIEW_MODEL_YAWS_WITH_CAMERA\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerCameraEventPayloads#\"PLAYER_CAMERA.SET_VIEW_MODEL\":member",
              "docComment": "/**\n * Emitted when the view model is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCameraEvent.SET_VIEW_MODEL",
                  "canonicalReference": "server!PlayerCameraEvent.SET_VIEW_MODEL:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerCamera: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerCamera",
                  "canonicalReference": "server!PlayerCamera:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        viewModelUri: string | undefined;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_CAMERA.SET_VIEW_MODEL\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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 * **Category:** Players\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 * **Category:** Players\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": "TypeAlias",
          "canonicalReference": "server!PlayerCosmetics:type",
          "docComment": "/**\n * The cosmetics of a player.\n *\n * **Category:** Networking\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PlayerCosmetics = "
            },
            {
              "kind": "Content",
              "text": "{\n    equippedItems: {\n        slot: string;\n        item: "
            },
            {
              "kind": "Reference",
              "text": "PlayerCosmeticsEquippedItem",
              "canonicalReference": "server!PlayerCosmeticsEquippedItem:type"
            },
            {
              "kind": "Content",
              "text": ";\n    }[];\n    hairModelUri?: string;\n    hairTextureUri?: string;\n    skinTextureUri: string;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/networking/PlatformGateway.ts",
          "releaseTag": "Public",
          "name": "PlayerCosmetics",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PlayerCosmeticsEquippedItem:type",
          "docComment": "/**\n * An equipped item of a player's cosmetics.\n *\n * **Category:** Networking\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PlayerCosmeticsEquippedItem = "
            },
            {
              "kind": "Content",
              "text": "{\n    flags: string[];\n    type: string;\n    modelUrl: string;\n    textureUrl?: string;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/networking/PlatformGateway.ts",
          "releaseTag": "Public",
          "name": "PlayerCosmeticsEquippedItem",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PlayerCosmeticSlot:type",
          "docComment": "/**\n * The slots used for player cosmetics.\n *\n * **Category:** Entities\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PlayerCosmeticSlot = "
            },
            {
              "kind": "Content",
              "text": "'ALL' | 'BACK' | 'HEAD' | 'LEFT_ARM' | 'LEFT_FOOT' | 'LEFT_HAND' | 'LEFT_ITEM' | 'LEFT_LEG' | 'RIGHT_ARM' | 'RIGHT_FOOT' | 'RIGHT_HAND' | 'RIGHT_ITEM' | 'RIGHT_LEG' | 'TORSO'"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/entities/DefaultPlayerEntity.ts",
          "releaseTag": "Public",
          "name": "PlayerCosmeticSlot",
          "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 * When to use: custom player avatars that respond to player input. Do NOT use for: non-player NPCs; use `Entity` with a controller instead.\n *\n * @remarks\n *\n * Player entities extend `Entity`. They expect a controller to be set before spawning. Without a controller, player input cannot be processed.\n *\n * @example\n * ```typescript\n * world.onPlayerJoin = player => {\n *   const playerEntity = new PlayerEntity({\n *     player,\n *     name: 'Player',\n *     modelUri: 'models/players/player.gltf',\n *     modelAnimations: [\n *       { name: 'idle-lower', loopMode: EntityModelAnimationLoopMode.LOOP, play: true },\n *       { name: 'idle-upper', loopMode: EntityModelAnimationLoopMode.LOOP, play: true },\n *     ],\n *     modelScale: 0.5,\n *   });\n *\n *   playerEntity.spawn(world, { x: 10, y: 20, z: 15 });\n * };\n * ```\n *\n * **Category:** Entities\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/worlds/entities/PlayerEntity.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "PlayerEntity",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!PlayerEntity:constructor(1)",
              "docComment": "/**\n * Creates a new PlayerEntity instance.\n *\n * @remarks\n *\n * **Nametag:** A `nametagSceneUI` is automatically created using the built-in `hytopia:nametag` template with the player's username and profile picture. Access via `nametagSceneUI` property to customize.\n *\n * @param options - The options for the player entity.\n *\n * **Category:** Entities\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#isTickWithPlayerInputEnabled:member",
              "docComment": "/**\n * Whether `tickWithPlayerInput()` is called during the entity's tick.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isTickWithPlayerInputEnabled(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isTickWithPlayerInputEnabled",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerEntity#nametagSceneUI:member",
              "docComment": "/**\n * The SceneUI instance for the player entity's nametag.\n *\n * **Category:** Entities\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 this entity is assigned to and controlled by.\n *\n * **Category:** Entities\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!PlayerEntity#setTickWithPlayerInputEnabled:member(1)",
              "docComment": "/**\n * Enables or disables `tickWithPlayerInput()` during the entity's tick.\n *\n * Use for: temporarily disabling player control (cutscenes, menus, stuns).\n *\n * @param enabled - Whether `tickWithPlayerInput()` should be called.\n *\n * **Category:** Entities\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setTickWithPlayerInputEnabled(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": "setTickWithPlayerInputEnabled"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!PlayerEntityOptions:type",
          "docComment": "/**\n * Options for creating a PlayerEntity instance.\n *\n * Use for: creating a player-bound entity (requires `player`). Do NOT use for: non-player entities; use `EntityOptions`.\n *\n * **Category:** Entities\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/worlds/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.\n *\n * See `PlayerEventPayloads` for the payloads.\n *\n * **Category:** Events\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.INTERACT:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "INTERACT = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER.INTERACT\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "INTERACT"
            },
            {
              "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.RECONNECTED_WORLD:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "RECONNECTED_WORLD = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER.RECONNECTED_WORLD\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "RECONNECTED_WORLD"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerEvent.REQUEST_NOTIFICATION_PERMISSION:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "REQUEST_NOTIFICATION_PERMISSION = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER.REQUEST_NOTIFICATION_PERMISSION\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "REQUEST_NOTIFICATION_PERMISSION"
            },
            {
              "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 * **Category:** 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.INTERACT\":member",
              "docComment": "/**\n * Emitted when a player interacts the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEvent.INTERACT",
                  "canonicalReference": "server!PlayerEvent.INTERACT:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        player: "
                },
                {
                  "kind": "Reference",
                  "text": "Player",
                  "canonicalReference": "server!Player:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        interactOrigin: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n        interactDirection: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n        raycastHit?: "
                },
                {
                  "kind": "Reference",
                  "text": "RaycastHit",
                  "canonicalReference": "server!RaycastHit:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER.INTERACT\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 12
              }
            },
            {
              "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.RECONNECTED_WORLD\":member",
              "docComment": "/**\n * Emitted when a player reconnects to a world after a unintentional disconnect.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEvent.RECONNECTED_WORLD",
                  "canonicalReference": "server!PlayerEvent.RECONNECTED_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.RECONNECTED_WORLD\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerEventPayloads#\"PLAYER.REQUEST_NOTIFICATION_PERMISSION\":member",
              "docComment": "/**\n * Emitted when notification permission is requested by a game.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerEvent.REQUEST_NOTIFICATION_PERMISSION",
                  "canonicalReference": "server!PlayerEvent.REQUEST_NOTIFICATION_PERMISSION: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.REQUEST_NOTIFICATION_PERMISSION\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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`.\n *\n * **Category:** Players\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type PlayerInput = "
            },
            {
              "kind": "Reference",
              "text": "InputSchema",
              "canonicalReference": "@hytopia.com/server-protocol!InputSchema:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/players/Player.ts",
          "releaseTag": "Public",
          "name": "PlayerInput",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PlayerManager:class",
          "docComment": "/**\n * Manages all connected players in a game server.\n *\n * When to use: accessing online players, reacting to connection lifecycle events, or routing players to worlds. Do NOT use for: constructing or persisting players yourself; players are created automatically on connection.\n *\n * @remarks\n *\n * Access via `PlayerManager.instance` — do not construct directly.\n *\n * <h2>Events</h2>\n *\n * This class emits global events with payloads listed under `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 * **Category:** Players\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 * **Category:** Players\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 * **Category:** 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 * **Category:** Players\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 (singleton).\n *\n * **Category:** Players\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
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerManager#playerCount:member",
              "docComment": "/**\n * The number of players currently connected to the server.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get playerCount(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "playerCount",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!PlayerManager#worldSelectionHandler:member",
              "docComment": "/**\n * Optional handler for selecting the world a newly connected player joins.\n *\n * Use for: lobby routing or game mode selection. Do NOT use for: moving players after they have already joined a world; use `Player.joinWorld`.\n *\n * @remarks\n *\n * Return `undefined` to place the player in the default world.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "worldSelectionHandler?: "
                },
                {
                  "kind": "Content",
                  "text": "(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": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": " | undefined>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "worldSelectionHandler",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 8
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!PlayerManagerEvent:enum",
          "docComment": "/**\n * Event types a PlayerManager can emit.\n *\n * See `PlayerManagerEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum PlayerManagerEvent "
            }
          ],
          "fileUrlPath": "src/players/PlayerManager.ts",
          "releaseTag": "Public",
          "name": "PlayerManagerEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerManagerEvent.PLAYER_CONNECTED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAYER_CONNECTED = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_MANAGER.PLAYER_CONNECTED\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAYER_CONNECTED"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerManagerEvent.PLAYER_DISCONNECTED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAYER_DISCONNECTED = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_MANAGER.PLAYER_DISCONNECTED\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAYER_DISCONNECTED"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!PlayerManagerEvent.PLAYER_RECONNECTED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PLAYER_RECONNECTED = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_MANAGER.PLAYER_RECONNECTED\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PLAYER_RECONNECTED"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!PlayerManagerEventPayloads:interface",
          "docComment": "/**\n * Event payloads for PlayerManager emitted events.\n *\n * **Category:** 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        connectionParams?: "
                },
                {
                  "kind": "Reference",
                  "text": "URLSearchParams",
                  "canonicalReference": "!URLSearchParams:interface"
                },
                {
                  "kind": "Content",
                  "text": ";\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_MANAGER.PLAYER_CONNECTED\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerManagerEventPayloads#\"PLAYER_MANAGER.PLAYER_DISCONNECTED\":member",
              "docComment": "/**\n * Emitted when a player disconnects from the server for any reason (lost connection, kick, world switch, etc).\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
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!PlayerManagerEventPayloads#\"PLAYER_MANAGER.PLAYER_RECONNECTED\":member",
              "docComment": "/**\n * Emitted when a player reconnects to the server for any reason (reconnection, world switch, etc).\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerManagerEvent.PLAYER_RECONNECTED",
                  "canonicalReference": "server!PlayerManagerEvent.PLAYER_RECONNECTED: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_RECONNECTED\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!PlayerUI:class",
          "docComment": "/**\n * The UI for a player.\n *\n * When to use: showing overlays, HUDs, menus, and custom UI for a specific player. Do NOT use for: world-level UI shared by all players; use scene UI systems instead.\n *\n * @remarks\n *\n * UI is driven by HTML, CSS, and JavaScript files 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 `PlayerUIEventPayloads`.\n *\n * **Category:** Players\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#append:member(1)",
              "docComment": "/**\n * Appends UI HTML to the player's existing client UI.\n *\n * Use for: incremental overlays (notifications, tooltips, modal layers). Do NOT use for: replacing the entire UI; use `PlayerUI.load`.\n *\n * @remarks\n *\n * Multiple calls in the same tick append in call order. If used with `PlayerUI.load` in the same tick, appends occur after the load.\n *\n * @param htmlUri - The UI HTML URI to append.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerUIEvent.APPEND`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "append(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": "append"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerUI#freezePointerLock:member(1)",
              "docComment": "/**\n * Freezes or unfreezes the player's pointer lock state.\n *\n * Use for: menus or cutscenes that should not alter pointer lock.\n *\n * @param freeze - True to freeze pointer lock, false to unfreeze it.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerUIEvent.FREEZE_POINTER_LOCK`.\n *\n * **Category:** Players\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "freezePointerLock(freeze: "
                },
                {
                  "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": "freeze",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "freezePointerLock"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!PlayerUI#load:member(1)",
              "docComment": "/**\n * Loads client UI for the player, replacing any existing UI.\n *\n * Use for: switching to a new UI screen or resetting the UI. Do NOT use for: incremental overlays; use `PlayerUI.append`.\n *\n * @remarks\n *\n * If used with `PlayerUI.append` in the same tick, the load occurs first.\n *\n * @param htmlUri - The UI HTML URI to load.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerUIEvent.LOAD`.\n *\n * **Category:** Players\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 on desktop.\n *\n * Use for: controlling when mouse input is captured. Do NOT use for: mobile devices (pointer lock has no effect).\n *\n * @remarks\n *\n * If unlocked, the player cannot use in-game mouse inputs until it is locked again.\n *\n * @param lock - True to lock the pointer, false to unlock it.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerUIEvent.LOCK_POINTER`.\n *\n * **Category:** Players\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 * **Category:** Players\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 * Use for: pushing state updates to your UI scripts.\n *\n * @param data - The data to send to the client UI.\n *\n * **Requires:** Player must be in a world.\n *\n * **Side effects:** Emits `PlayerUIEvent.SEND_DATA`.\n *\n * **Category:** Players\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.\n *\n * See `PlayerUIEventPayloads` for the payloads.\n *\n * **Category:** Events\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.APPEND:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "APPEND = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_UI.APPEND\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "APPEND"
            },
            {
              "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.FREEZE_POINTER_LOCK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "FREEZE_POINTER_LOCK = "
                },
                {
                  "kind": "Content",
                  "text": "\"PLAYER_UI.FREEZE_POINTER_LOCK\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "FREEZE_POINTER_LOCK"
            },
            {
              "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 * **Category:** 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.APPEND\":member",
              "docComment": "/**\n * Emitted when UI HTML is appended to the player's existing client UI.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUIEvent.APPEND",
                  "canonicalReference": "server!PlayerUIEvent.APPEND: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.APPEND\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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.FREEZE_POINTER_LOCK\":member",
              "docComment": "/**\n * Emitted when the player's pointer lock is frozen or unfrozen.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUIEvent.FREEZE_POINTER_LOCK",
                  "canonicalReference": "server!PlayerUIEvent.FREEZE_POINTER_LOCK:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        playerUI: "
                },
                {
                  "kind": "Reference",
                  "text": "PlayerUI",
                  "canonicalReference": "server!PlayerUI:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        freeze: boolean;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"PLAYER_UI.FREEZE_POINTER_LOCK\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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": "Class",
          "canonicalReference": "server!Quaternion:class",
          "docComment": "/**\n * Represents a quaternion.\n *\n * When to use: rotation math for entities, cameras, or transforms. Do NOT use for: immutable math; most methods mutate the instance.\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.\n *\n * Pattern: reuse instances to avoid allocations in tight loops. Anti-pattern: assuming methods return new instances; most mutate in place.\n *\n * **Category:** Math\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 * **Category:** Math\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!RawCollider:type",
          "docComment": "/**\n * A raw collider object from the Rapier physics engine.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RawCollider = "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.Collider",
              "canonicalReference": "@dimforge/rapier3d-simd-compat!Collider:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "RawCollider",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RawCollisionGroups:type",
          "docComment": "/**\n * A raw set of collision groups represented as a 32-bit number.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RawCollisionGroups = "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.InteractionGroups",
              "canonicalReference": "@dimforge/rapier3d-simd-compat!InteractionGroups:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/physics/CollisionGroupsBuilder.ts",
          "releaseTag": "Public",
          "name": "RawCollisionGroups",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RawShape:type",
          "docComment": "/**\n * A raw shape object from the Rapier physics engine.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RawShape = "
            },
            {
              "kind": "Reference",
              "text": "RAPIER.Shape",
              "canonicalReference": "@dimforge/rapier3d-simd-compat!Shape:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "RawShape",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RaycastHit:type",
          "docComment": "/**\n * A hit result from a raycast.\n *\n * **Category:** Physics\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    origin: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n    originDirection: "
            },
            {
              "kind": "Reference",
              "text": "Vector3Like",
              "canonicalReference": "server!Vector3Like:interface"
            },
            {
              "kind": "Content",
              "text": ";\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "RaycastHit",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 12
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!RaycastOptions:type",
          "docComment": "/**\n * Options for raycasting.\n *\n * Use for: configuring `Simulation.raycast` calls. Do NOT use for: caching long-term query state; build per query.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type RaycastOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    solidMode?: boolean;\n} & "
            },
            {
              "kind": "Reference",
              "text": "FilterOptions",
              "canonicalReference": "server!FilterOptions:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/worlds/physics/Simulation.ts",
          "releaseTag": "Public",
          "name": "RaycastOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 3
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!RgbColor:interface",
          "docComment": "/**\n * An RGB color. `r`, `g`, and `b` expect a value between 0 and 255.\n *\n * **Category:** Types\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 * When to use: physics-simulated or kinematic objects that need forces, collisions, or velocity. Do NOT use for: purely visual transforms; use entity transforms without physics when possible.\n *\n * @remarks\n *\n * Provide `simulation` in `RigidBodyOptions` or call `RigidBody.addToSimulation` to create the underlying physics body. Many methods are type-specific (dynamic vs kinematic); see `RigidBody.setType`.\n *\n * **Category:** Physics\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/worlds/physics/RigidBody.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "RigidBody",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!RigidBody:constructor(1)",
              "docComment": "/**\n * Creates a rigid body with the provided options.\n *\n * Use for: configuring physics behavior before adding to a simulation. Do NOT use for: immediate physics queries; the rigid body must be simulated first.\n *\n * @param options - The options for the rigid body instance.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * @remarks\n *\n * Dynamic bodies only; has no effect on fixed or kinematic bodies.\n *\n * @param force - The force to add to the rigid body.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * @remarks\n *\n * Dynamic bodies only; has no effect on fixed or kinematic bodies.\n *\n * @param torque - The torque to add to the rigid body.\n *\n * **Category:** Physics\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 * @remarks\n *\n * **Child colliders:** Also adds all pending child colliders to the simulation. After this call, the rigid body is simulated and can respond to forces.\n *\n * @param simulation - The simulation to add the rigid body to.\n *\n * **Side effects:** Creates the underlying physics body and registers child colliders.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * @remarks\n *\n * Dynamic bodies only; has no effect on fixed or kinematic bodies.\n *\n * @param impulse - The impulse to apply to the rigid body.\n *\n * **Category:** Physics\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 * @remarks\n *\n * Dynamic bodies only; has no effect on fixed or kinematic bodies.\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 * **Category:** Physics\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 * @remarks\n *\n * Dynamic bodies only; has no effect on fixed or kinematic bodies.\n *\n * @param impulse - The torque impulse to apply to the rigid body.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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#createAndAddChildColliders:member(1)",
              "docComment": "/**\n * Creates and adds multiple child colliders to the rigid body for the simulation it belongs to.\n *\n * @remarks\n *\n * If the rigid body is not simulated, the colliders will be added to the rigid body as pending child colliders and also simulated when the rigid body is simulated.\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 * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "createAndAddChildColliders(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": "createAndAddChildColliders"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!RigidBody#directionFromRotation:member",
              "docComment": "/**\n * The direction from the rotation of the rigid body. (-Z identity)\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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#enabledPositions:member",
              "docComment": "/**\n * The enabled axes of positional movement of the rigid body.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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#isCcdEnabled:member",
              "docComment": "/**\n * Whether the rigid body has continuous collision detection enabled.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get rawRigidBody(): "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.RigidBody",
                  "canonicalReference": "@dimforge/rapier3d-simd-compat!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 * @remarks\n *\n * **Child colliders:** Also removes all child colliders from the simulation.\n *\n * **Side effects:** Unregisters the rigid body and all attached colliders.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * Use for: kinematic bodies driven by explicit position each tick. Do NOT use for: dynamic bodies; use forces or velocity instead.\n *\n * @param nextKinematicPosition - The next kinematic position of the rigid body.\n *\n * **Requires:** Rigid body must be kinematic.\n *\n * **Category:** Physics\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 * Use for: kinematic bodies driven by explicit rotation each tick. Do NOT use for: dynamic bodies; use torque or angular velocity instead.\n *\n * @param nextKinematicRotation - The next kinematic rotation of the rigid body.\n *\n * **Requires:** Rigid body must be kinematic.\n *\n * **Category:** Physics\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 * @remarks\n *\n * This teleports the body to the given position. For smooth motion, prefer velocities or forces (dynamic) or next kinematic targets (kinematic).\n *\n * @param position - The position of the rigid body.\n *\n * **Category:** Physics\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 * @remarks\n *\n * **Coordinate system:** Identity rotation (0,0,0,1 quaternion) means facing -Z. For Y-axis rotation only (yaw), use: `{ x: 0, y: sin(yaw/2), z: 0, w: cos(yaw/2) }`. A yaw of 0 faces -Z, positive yaw rotates counter-clockwise when viewed from above.\n *\n * This sets rotation immediately. For smooth rotation, use angular velocity (dynamic) or next kinematic rotation (kinematic).\n *\n * @param rotation - The rotation of the rigid body.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * Use for: switching between dynamic, fixed, and kinematic behavior. Do NOT use for: per-tick motion changes; prefer velocity or forces.\n *\n * @param type - The type of the rigid body.\n *\n * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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/worlds/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 * Use for: constructing rigid bodies; choose an option type matching `RigidBodyType`. Do NOT use for: runtime changes; use `RigidBody` methods instead.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum RigidBodyType "
            }
          ],
          "fileUrlPath": "src/worlds/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 * Use for: rounded cylinder colliders. Do NOT use for: other shapes; use the matching collider option type.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * **Category:** Physics\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 * **Category:** Physics\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 `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 `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 * **Category:** UI\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/worlds/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 * @remarks\n *\n * **Requires spawned entity:** If attached to an entity, the entity must be spawned first.\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 * @remarks\n *\n * **Clears position:** Clears any set position (mutual exclusivity).\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.\n *\n * @remarks\n *\n * **Detaches entity:** Detaches from any attached entity (mutual exclusivity).\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.\n *\n * See `SceneUIEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum SceneUIEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface SceneUIEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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 * When to use: querying or bulk-unloading scene UI elements in a world. Do NOT use for: player HUD/menus; use `PlayerUI` for per-player UI.\n *\n * @remarks\n *\n * The SceneUIManager is created internally per `World` instance. Pattern: load scene UI for world objects and unload them when entities despawn.\n *\n * **Category:** UI\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/worlds/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 * Use for: cleanup or inspection of entity-bound scene UI.\n *\n * @param entity - The entity to get attached SceneUI instances for.\n *\n * @returns An array of SceneUI instances.\n *\n * **Requires:** Entity should belong to this world for meaningful results.\n *\n * @see\n *\n * `SceneUIManager.unloadEntityAttachedSceneUIs`\n *\n * **Category:** UI\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 * **Category:** UI\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 * **Category:** UI\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 * @remarks\n *\n * **Cleanup:** Calls `SceneUI.unload` on each attached SceneUI.\n *\n * @param entity - The entity to unload and unregister SceneUI instances for.\n *\n * **Requires:** Entity should belong to this world for meaningful results.\n *\n * **Side effects:** Unloads any attached scene UI and removes it from manager tracking.\n *\n * @see\n *\n * `SceneUIManager.getAllEntityAttachedSceneUIs`\n *\n * **Category:** UI\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 * **Category:** UI\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 * Use for: configuring scene UI before `SceneUI.load`. Do NOT use for: runtime updates after load; use `SceneUI.set*` methods.\n *\n * **Category:** UI\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface SceneUIOptions "
            }
          ],
          "fileUrlPath": "src/worlds/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 * When to use: straightforward movement and facing without pathfinding. Do NOT use for: obstacle-aware movement; use `PathfindingEntityController`.\n *\n * @remarks\n *\n * This class provides straight-line movement and yaw-only facing. It is compatible with kinematic or dynamic rigid bodies.\n *\n * <h2>Coordinate System & Model Orientation</h2>\n *\n * HYTOPIA uses **-Z as forward**. Models must be authored with their front facing -Z. When `face()` rotates an entity to look at a target, it orients the entity's -Z axis toward that target. A yaw of 0 means facing -Z.\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 * **Category:** Controllers\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/worlds/entities/controllers/SimpleEntityController.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "SimpleEntityController",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!SimpleEntityController:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `SimpleEntityController` class\n *\n * @param options - Options for the controller.\n *\n * **Category:** Controllers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(options?: "
                },
                {
                  "kind": "Reference",
                  "text": "SimpleEntityControllerOptions",
                  "canonicalReference": "server!~SimpleEntityControllerOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SimpleEntityController#face:member(1)",
              "docComment": "/**\n * Rotates the entity at a given speed to face a target coordinate.\n *\n * Use for: turning an entity to look at a target without moving it. Do NOT use for: pitch/roll orientation; this rotates yaw only.\n *\n * @remarks\n *\n * **-Z forward:** Orients the entity so its **-Z axis** points toward the target. Models must be authored with their front facing -Z for correct orientation.\n *\n * **Replaces previous target:** If called while already facing, the previous target is discarded and the entity starts facing the new target. There is no queue.\n *\n * **Y-axis only:** Only rotates around the Y-axis (yaw). Does not pitch up/down to face targets at different heights.\n *\n * @param target - The target coordinate to face.\n *\n * @param speed - The speed at which to rotate to the target coordinate (radians per second).\n *\n * @param options - Additional options for the face operation, such as callbacks.\n *\n * **Category:** Controllers\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": "Property",
              "canonicalReference": "server!SimpleEntityController#idleLoopedAnimations:member",
              "docComment": "/**\n * The animations to loop 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!SimpleEntityController#idleLoopedAnimationsSpeed:member",
              "docComment": "/**\n * The speed at which to loop the idle animations.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "idleLoopedAnimationsSpeed: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "idleLoopedAnimationsSpeed",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "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 * Use for: a single jump impulse for dynamic entities. Do NOT use for: kinematic entities; this has no effect.\n *\n * @remarks\n *\n * **Deferred:** The impulse is applied on the next tick, not immediately.\n *\n * **Dynamic only:** Has no effect on kinematic entities. Uses `entity.applyImpulse()`.\n *\n * **Animations:** Starts `jumpOneshotAnimations` and stops idle/move animations when the jump occurs.\n *\n * @param height - The height to jump to (in blocks).\n *\n * **Category:** Controllers\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": "Property",
              "canonicalReference": "server!SimpleEntityController#jumpOneshotAnimations:member",
              "docComment": "/**\n * The animations to play when the entity jumps.\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": "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 * Use for: simple straight-line movement. Do NOT use for: obstacle avoidance; use `PathfindingEntityController`.\n *\n * @remarks\n *\n * **Position only:** This method only changes position, not rotation. Use `face()` simultaneously to rotate the entity toward its movement direction (-Z forward).\n *\n * **Replaces previous target:** If called while already moving, the previous target is discarded and the entity starts moving to the new target. There is no queue.\n *\n * **Straight line:** Moves directly toward target using `entity.setPosition()`. Does not pathfind around obstacles.\n *\n * **Animations:** Starts `moveLoopedAnimations` on the first tick of movement. When complete, starts `idleLoopedAnimations` (unless `moveStartIdleAnimationsOnCompletion` is false).\n *\n * @param target - The target coordinate to move to.\n *\n * @param speed - The speed at which to move to the target coordinate (blocks per second).\n *\n * @param options - Additional options for the move operation, such as callbacks.\n *\n * **Category:** Controllers\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"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SimpleEntityController#moveLoopedAnimations:member",
              "docComment": "/**\n * The animations to loop when the entity is moving.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "moveLoopedAnimations: "
                },
                {
                  "kind": "Content",
                  "text": "string[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "moveLoopedAnimations",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SimpleEntityController#moveLoopedAnimationsSpeed:member",
              "docComment": "/**\n * The speed at which to loop the move animations.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "moveLoopedAnimationsSpeed: "
                },
                {
                  "kind": "Content",
                  "text": "number | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "moveLoopedAnimationsSpeed",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!SimpleEntityController#moveSpeed:member",
              "docComment": "/**\n * The speed at which to move the entity. Can be altered while moving.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "moveSpeed: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "moveSpeed",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SimpleEntityController#spawn:member(1)",
              "docComment": "/**\n * Override of the `BaseEntityController.spawn` method. Starts the set idle animations (if any) when the entity is spawned.\n *\n * @remarks\n *\n * **Auto-starts idle animations:** Calls `_startIdleAnimations()` which stops move/jump animations and starts the configured `idleLoopedAnimations`.\n *\n * @param entity - The entity that was spawned.\n *\n * **Category:** Controllers\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!SimpleEntityController#stopFace:member(1)",
              "docComment": "/**\n * Stops the entity from attempting to face a target coordinate.\n *\n * @remarks\n *\n * **Deferred:** Takes effect on the next tick. The `faceCompleteCallback` will still be called.\n *\n * **Category:** Controllers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stopFace(): "
                },
                {
                  "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": "stopFace"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!SimpleEntityController#stopMove:member(1)",
              "docComment": "/**\n * Stops the entity from continuing to move to its current target coordinate.\n *\n * @remarks\n *\n * **Deferred:** Takes effect on the next tick. The `moveCompleteCallback` will still be called and idle animations will start (unless `moveStartIdleAnimationsOnCompletion` was false).\n *\n * **Category:** Controllers\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "stopMove(): "
                },
                {
                  "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": "stopMove"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Simulation:class",
          "docComment": "/**\n * Represents the physics simulation for a world.\n *\n * When to use: advanced physics queries, custom gravity, or debug rendering. Do NOT use for: typical movement; use entity/rigid body APIs instead.\n *\n * @remarks\n *\n * Access via `World.simulation`. The simulation drives all collision and contact events for blocks and entities.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `SimulationEventPayloads`.\n *\n * **Category:** Physics\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/worlds/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.\n *\n * @remarks\n *\n * When enabled, raycasts emit `SimulationEvent.DEBUG_RAYCAST` for visualization.\n *\n * @param enabled - Whether to enable debug raycasting.\n *\n * **Side effects:** Emits debug raycast events when `Simulation.raycast` is called.\n *\n * **Category:** Physics\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.\n *\n * @remarks\n *\n * When enabled, all colliders and rigid body outlines are rendered. Avoid enabling in production; it can cause noticeable lag.\n *\n * @param enabled - Whether to enable debug rendering.\n *\n * @param filterFlags - Optional query filter flags for debug rendering.\n *\n * **Side effects:** Emits `SimulationEvent.DEBUG_RENDER` each step while enabled.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "enableDebugRendering(enabled: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ", filterFlags?: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.QueryFilterFlags",
                  "canonicalReference": "@dimforge/rapier3d-simd-compat!QueryFilterFlags:enum"
                },
                {
                  "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": "enabled",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "filterFlags",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "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 * Returns an empty array for sensor contacts (sensors do not generate manifolds).\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 * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getContactManifolds(colliderHandleA: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.ColliderHandle",
                  "canonicalReference": "@dimforge/rapier3d-simd-compat!ColliderHandle:type"
                },
                {
                  "kind": "Content",
                  "text": ", colliderHandleB: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.ColliderHandle",
                  "canonicalReference": "@dimforge/rapier3d-simd-compat!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 * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get gravity(): "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Vector3",
                  "canonicalReference": "@dimforge/rapier3d-simd-compat!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": "Method",
              "canonicalReference": "server!Simulation#intersectionsWithRawShape:member(1)",
              "docComment": "/**\n * Gets the intersections with a raw shape.\n *\n * @remarks\n *\n * `rawShape` can be retrieved from a simulated or unsimulated collider using `Collider.rawShape`.\n *\n * @param rawShape - The raw shape to get intersections with.\n *\n * @param position - The position of the shape.\n *\n * @param rotation - The rotation of the shape.\n *\n * @param options - The options for the intersections.\n *\n * @returns The intersections.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "intersectionsWithRawShape(rawShape: "
                },
                {
                  "kind": "Reference",
                  "text": "RawShape",
                  "canonicalReference": "server!RawShape:type"
                },
                {
                  "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": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "FilterOptions",
                  "canonicalReference": "server!FilterOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "IntersectionResult",
                  "canonicalReference": "server!IntersectionResult:type"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 11
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "rawShape",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "position",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "rotation",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 7,
                    "endIndex": 8
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "intersectionsWithRawShape"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!Simulation#isDebugRaycastingEnabled:member",
              "docComment": "/**\n * Whether debug raycasting is enabled.\n *\n * **Category:** Physics\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 debug rendering is enabled.\n *\n * **Category:** Physics\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 and returns the first hit.\n *\n * @remarks\n *\n * The ray stops at 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 * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "raycast(origin: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Vector3",
                  "canonicalReference": "@dimforge/rapier3d-simd-compat!Vector3:class"
                },
                {
                  "kind": "Content",
                  "text": ", direction: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Vector3",
                  "canonicalReference": "@dimforge/rapier3d-simd-compat!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 * **Side effects:** Changes gravity for all simulated rigid bodies.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setGravity(gravity: "
                },
                {
                  "kind": "Reference",
                  "text": "RAPIER.Vector3",
                  "canonicalReference": "@dimforge/rapier3d-simd-compat!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 * **Category:** Physics\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 this simulation belongs to.\n *\n * **Category:** Physics\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.\n *\n * See `SimulationEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum SimulationEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface SimulationEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Math\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "interface SpdMatrix3 extends "
            },
            {
              "kind": "Reference",
              "text": "RapierSdpMatrix3",
              "canonicalReference": "@dimforge/rapier3d-simd-compat!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 * Boots the server runtime, runs your init callback, and starts accepting connections.\n *\n * Use for: normal server startup in your entry file. Do NOT use for: restarting an already running server within the same process.\n *\n * @remarks\n *\n * Initialization order: 1) Physics engine (RAPIER) 2) Block texture atlas preload 3) Model preload 4) Your `init` callback (awaited if async) 5) Server starts accepting connections\n *\n * If `init` declares a `world` parameter, a default world is created and provided.\n *\n * @param init - Game initialization callback. It can be sync or async. If it accepts a world parameter, the default world is created and passed in.\n *\n * **Requires:** Call once per process before using gameplay systems.\n *\n * @see\n *\n * `GameServer`\n *\n * @see\n *\n * `WorldManager.getDefaultWorld`\n *\n * **Category:** Core\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function startServer(init: "
            },
            {
              "kind": "Content",
              "text": "((() => void | "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>) | ((world: "
            },
            {
              "kind": "Reference",
              "text": "World",
              "canonicalReference": "server!World:class"
            },
            {
              "kind": "Content",
              "text": ") => void | "
            },
            {
              "kind": "Reference",
              "text": "Promise",
              "canonicalReference": "!Promise:interface"
            },
            {
              "kind": "Content",
              "text": "<void>))"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/GameServer.ts",
          "returnTypeTokenRange": {
            "startIndex": 9,
            "endIndex": 10
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "init",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 8
              },
              "isOptional": false
            }
          ],
          "name": "startServer"
        },
        {
          "kind": "Variable",
          "canonicalReference": "server!SUPPORTED_INPUTS:var",
          "docComment": "/**\n * The inputs that are included in `PlayerInput`.\n *\n * **Category:** Players\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "SUPPORTED_INPUTS: "
            },
            {
              "kind": "Content",
              "text": "readonly [\"w\", \"a\", \"s\", \"d\", \"sp\", \"sh\", \"tb\", \"ml\", \"mr\", \"q\", \"e\", \"r\", \"f\", \"z\", \"x\", \"c\", \"v\", \"u\", \"i\", \"o\", \"j\", \"k\", \"l\", \"n\", \"m\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"0\", \"cp\", \"cy\", \"iro\", \"ird\", \"jd\"]"
            }
          ],
          "fileUrlPath": "src/players/Player.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "SUPPORTED_INPUTS",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "server!Telemetry:class",
          "docComment": "/**\n * Manages performance telemetry and error tracking through your Sentry account.\n *\n * When to use: profiling and diagnosing slow ticks or runtime errors in production. Do NOT use for: high-volume custom metrics; use a dedicated metrics pipeline instead.\n *\n * @remarks\n *\n * Provides low-overhead performance monitoring and error tracking via Sentry. The system only sends telemetry data when errors or slow-tick performance issues are detected.\n *\n * Pattern: initialize once at server startup and wrap critical sections with `Telemetry.startSpan`. Anti-pattern: creating spans inside tight loops without filtering.\n *\n * @example\n * ```typescript\n * // Initialize Sentry for production telemetry\n * Telemetry.initializeSentry('MY_SENTRY_PROJECT_DSN');\n *\n * // Wrap performance-critical code in spans\n * Telemetry.startSpan({\n *   operation: TelemetrySpanOperation.CUSTOM_OPERATION,\n *   attributes: {\n *     playerCount: world.playerManager.connectedPlayers.length,\n *     entityCount: world.entityManager.entityCount,\n *   },\n * }, () => {\n *   performExpensiveOperation();\n * });\n *\n * // Get current process statistics\n * const stats = Telemetry.getProcessStats();\n * console.log(`Heap usage: ${stats.jsHeapUsagePercent * 100}%`);\n * ```\n *\n * **Category:** Telemetry\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class Telemetry "
            }
          ],
          "fileUrlPath": "src/metrics/Telemetry.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Telemetry",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!Telemetry.getProcessStats:member(1)",
              "docComment": "/**\n * Gets current process memory and performance statistics.\n *\n * @param asMeasurement - Whether to return data in Sentry measurement format with units.\n *\n * @returns Process statistics including heap usage, RSS memory, and capacity metrics.\n *\n * **Category:** Telemetry\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static getProcessStats(asMeasurement?: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, any>"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "asMeasurement",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "getProcessStats"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Telemetry.initializeSentry:member(1)",
              "docComment": "/**\n * Initializes Sentry telemetry with the provided DSN.\n *\n * @remarks\n *\n * This method configures Sentry for error tracking and performance monitoring. It sets up filtering to only send performance spans that exceed the provided threshold duration, reducing noise and costs. The initialization includes game-specific tags and process statistics attachment.\n *\n * @param sentryDsn - The Sentry Data Source Name (DSN) for your project.\n *\n * @param tickTimeMsThreshold - The tick duration that must be exceeded to send a performance span to Sentry for a given tick. Defaults to 50ms.\n *\n * **Requires:** A valid Sentry DSN and network access.\n *\n * **Side effects:** Initializes the Sentry SDK and registers global hooks.\n *\n * **Category:** Telemetry\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static initializeSentry(sentryDsn: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ", tickTimeMsThreshold?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "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": "sentryDsn",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "tickTimeMsThreshold",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "initializeSentry"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Telemetry.sentry:member(1)",
              "docComment": "/**\n * Gets the Sentry SDK instance for advanced telemetry operations.\n *\n * @remarks\n *\n * This method provides direct access to the Sentry SDK for operations not covered by the Telemetry wrapper, such as custom error reporting, user context setting, or advanced span manipulation.\n *\n * @returns The Sentry SDK instance.\n *\n * **Category:** Telemetry\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static sentry(): "
                },
                {
                  "kind": "Content",
                  "text": "typeof "
                },
                {
                  "kind": "Reference",
                  "text": "Sentry",
                  "canonicalReference": "server!~Sentry"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "sentry"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!Telemetry.startSpan:member(1)",
              "docComment": "/**\n * Executes a callback function within a performance monitoring span.\n *\n * @remarks\n *\n * This method provides zero-overhead performance monitoring in development environments. In production with Sentry enabled and `SENTRY_ENABLE_TRACING=true`, it creates performance spans for monitoring. The span data is only transmitted to Sentry when performance issues are detected.\n *\n * @param options - Configuration for the telemetry span including operation type and attributes.\n *\n * @param callback - The function to execute within the performance span.\n *\n * @returns The return value of the callback function.\n *\n * @example\n * ```typescript\n * const result = Telemetry.startSpan({\n *   operation: TelemetrySpanOperation.ENTITIES_TICK,\n *   attributes: {\n *     entityCount: entities.length,\n *     worldId: world.id,\n *   },\n * }, () => {\n *   return processEntities(entities);\n * });\n * ```\n *\n * **Category:** Telemetry\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static startSpan<T>(options: "
                },
                {
                  "kind": "Reference",
                  "text": "TelemetrySpanOptions",
                  "canonicalReference": "server!TelemetrySpanOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ", callback: "
                },
                {
                  "kind": "Content",
                  "text": "(span?: "
                },
                {
                  "kind": "Reference",
                  "text": "Sentry.Span",
                  "canonicalReference": "@sentry/core!Span:interface"
                },
                {
                  "kind": "Content",
                  "text": ") => T"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "callback",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 6
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "startSpan"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!TelemetrySpanOperation:enum",
          "docComment": "/**\n * Performance telemetry span operation types.\n *\n * **Category:** Telemetry\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum TelemetrySpanOperation "
            }
          ],
          "fileUrlPath": "src/metrics/Telemetry.ts",
          "releaseTag": "Public",
          "name": "TelemetrySpanOperation",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.BUILD_PACKETS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "BUILD_PACKETS = "
                },
                {
                  "kind": "Content",
                  "text": "\"build_packets\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "BUILD_PACKETS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.ENTITIES_EMIT_UPDATES:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENTITIES_EMIT_UPDATES = "
                },
                {
                  "kind": "Content",
                  "text": "\"entities_emit_updates\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENTITIES_EMIT_UPDATES"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.ENTITIES_TICK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ENTITIES_TICK = "
                },
                {
                  "kind": "Content",
                  "text": "\"entities_tick\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "ENTITIES_TICK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.NETWORK_SYNCHRONIZE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "NETWORK_SYNCHRONIZE = "
                },
                {
                  "kind": "Content",
                  "text": "\"network_synchronize\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "NETWORK_SYNCHRONIZE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.NETWORK_SYNCHRONIZE_CLEANUP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "NETWORK_SYNCHRONIZE_CLEANUP = "
                },
                {
                  "kind": "Content",
                  "text": "\"network_synchronize_cleanup\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "NETWORK_SYNCHRONIZE_CLEANUP"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.PHYSICS_CLEANUP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PHYSICS_CLEANUP = "
                },
                {
                  "kind": "Content",
                  "text": "\"physics_cleanup\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PHYSICS_CLEANUP"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.PHYSICS_STEP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "PHYSICS_STEP = "
                },
                {
                  "kind": "Content",
                  "text": "\"physics_step\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "PHYSICS_STEP"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.SEND_ALL_PACKETS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SEND_ALL_PACKETS = "
                },
                {
                  "kind": "Content",
                  "text": "\"send_all_packets\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SEND_ALL_PACKETS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.SEND_PACKETS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SEND_PACKETS = "
                },
                {
                  "kind": "Content",
                  "text": "\"send_packets\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SEND_PACKETS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.SERIALIZE_FREE_BUFFERS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SERIALIZE_FREE_BUFFERS = "
                },
                {
                  "kind": "Content",
                  "text": "\"serialize_free_buffers\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SERIALIZE_FREE_BUFFERS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.SERIALIZE_PACKETS:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SERIALIZE_PACKETS = "
                },
                {
                  "kind": "Content",
                  "text": "\"serialize_packets\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SERIALIZE_PACKETS"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.SERIALIZE_PACKETS_ENCODE:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SERIALIZE_PACKETS_ENCODE = "
                },
                {
                  "kind": "Content",
                  "text": "\"serialize_packets_encode\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SERIALIZE_PACKETS_ENCODE"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.SIMULATION_STEP:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SIMULATION_STEP = "
                },
                {
                  "kind": "Content",
                  "text": "\"simulation_step\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SIMULATION_STEP"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.TICKER_TICK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "TICKER_TICK = "
                },
                {
                  "kind": "Content",
                  "text": "\"ticker_tick\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "TICKER_TICK"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!TelemetrySpanOperation.WORLD_TICK:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "WORLD_TICK = "
                },
                {
                  "kind": "Content",
                  "text": "\"world_tick\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "WORLD_TICK"
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!TelemetrySpanOptions:type",
          "docComment": "/**\n * Options for creating a telemetry span.\n *\n * Use for: configuring `Telemetry.startSpan` calls. Do NOT use for: long-lived spans; keep spans short and scoped to a task.\n *\n * **Category:** Telemetry\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type TelemetrySpanOptions = "
            },
            {
              "kind": "Content",
              "text": "{\n    operation: "
            },
            {
              "kind": "Reference",
              "text": "TelemetrySpanOperation",
              "canonicalReference": "server!TelemetrySpanOperation:enum"
            },
            {
              "kind": "Content",
              "text": " | string;\n    attributes?: "
            },
            {
              "kind": "Reference",
              "text": "Record",
              "canonicalReference": "!Record:type"
            },
            {
              "kind": "Content",
              "text": "<string, string | number>;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/metrics/Telemetry.ts",
          "releaseTag": "Public",
          "name": "TelemetrySpanOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 6
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!TrimeshColliderOptions:interface",
          "docComment": "/**\n * The options for a trimesh collider.\n *\n * Use for: mesh-based colliders from model data. Do NOT use for: simple primitives; prefer analytic shapes when possible.\n *\n * **Category:** Physics\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/worlds/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 * **Category:** Physics\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 * **Category:** Physics\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 * When to use: performance-sensitive math in game loops or geometry utilities. Do NOT use for: immutable math; most methods mutate the instance.\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.\n *\n * Pattern: reuse instances (and temporary vectors) to reduce allocations. Anti-pattern: storing references and assuming value semantics.\n *\n * **Category:** Math\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 * **Category:** Math\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 * **Category:** Math\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 * When to use: performance-sensitive 3D math and transforms. Do NOT use for: immutable math; most methods mutate the instance.\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.\n *\n * Pattern: reuse instances (and temporary vectors) to reduce allocations. Anti-pattern: storing references and assuming value semantics.\n *\n * **Category:** Math\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 * **Category:** Math\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 * **Category:** Math\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": "Interface",
          "canonicalReference": "server!VoxelsColliderOptions:interface",
          "docComment": "/**\n * The options for a voxels collider.\n *\n * Use for: voxel-based colliders (block volumes). Do NOT use for: simple primitives; prefer analytic shapes when possible.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface VoxelsColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/worlds/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "VoxelsColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!VoxelsColliderOptions#coordinates:member",
              "docComment": "/**\n * The coordinate of each voxel in the collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "coordinates?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "coordinates",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!VoxelsColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.VOXELS",
                  "canonicalReference": "server!ColliderShape.VOXELS:member"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "shape",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!VoxelsColliderOptions#size:member",
              "docComment": "/**\n * The size of each voxel in the collider.\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "size?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "size",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": [
            {
              "startIndex": 1,
              "endIndex": 2
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!WaypointMoveCompleteCallback:type",
          "docComment": "/**\n * Callback invoked when the entity finishes moving to a waypoint.\n *\n * @param waypoint - The waypoint reached.\n *\n * @param waypointIndex - The index of the waypoint reached.\n *\n * **Category:** Controllers\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/worlds/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "name": "WaypointMoveCompleteCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "server!WaypointMoveSkippedCallback:type",
          "docComment": "/**\n * Callback invoked when a waypoint is skipped due to timeout.\n *\n * @param waypoint - The waypoint that was skipped.\n *\n * @param waypointIndex - The index of the waypoint that was skipped.\n *\n * **Category:** Controllers\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/worlds/entities/controllers/PathfindingEntityController.ts",
          "releaseTag": "Public",
          "name": "WaypointMoveSkippedCallback",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!WedgeColliderOptions:interface",
          "docComment": "/**\n * The options for a wedge collider.\n *\n * Use for: wedge-shaped colliders (inclined planes). Do NOT use for: other shapes; use the matching collider option type.\n *\n * **Category:** Physics\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WedgeColliderOptions extends "
            },
            {
              "kind": "Reference",
              "text": "BaseColliderOptions",
              "canonicalReference": "server!BaseColliderOptions:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/worlds/physics/Collider.ts",
          "releaseTag": "Public",
          "name": "WedgeColliderOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WedgeColliderOptions#extents:member",
              "docComment": "/**\n * The extents of the wedge collider, defining full width (x), height (y), and length (z).\n *\n * **Category:** Physics\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "extents?: "
                },
                {
                  "kind": "Reference",
                  "text": "Vector3Like",
                  "canonicalReference": "server!Vector3Like:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "extents",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WedgeColliderOptions#shape:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "shape: "
                },
                {
                  "kind": "Reference",
                  "text": "ColliderShape.WEDGE",
                  "canonicalReference": "server!ColliderShape.WEDGE: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!World:class",
          "docComment": "/**\n * Represents an isolated simulation space (a world) on the server.\n *\n * When to use: your primary container for game objects, physics, and players. Use multiple worlds to run separate rooms, arenas, or instances. Do NOT use for: cross-world global state; keep that in your own services or `GameServer`.\n *\n * @remarks\n *\n * Prefer creating worlds via `WorldManager.createWorld` or `WorldManager.getDefaultWorld` so IDs and lifecycle are managed consistently.\n *\n * Initialization: - Call `World.start` to begin ticking (auto-started when created by `WorldManager`). - Use `set*` methods for runtime lighting or skybox changes.\n *\n * <h2>Events</h2>\n *\n * This class is an EventRouter, and instances of it emit events with payloads listed under `WorldEventPayloads`.\n *\n * @example\n * ```typescript\n * const world = WorldManager.instance.createWorld({\n *   name: 'My World',\n *   skyboxUri: 'skyboxes/partly-cloudy',\n * });\n * ```\n *\n * **Category:** Core\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/worlds/World.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "World",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "server!World:constructor(1)",
              "docComment": "/**\n * Creates a world instance with the provided options.\n *\n * Use for: direct construction only when you need custom lifecycle control. Do NOT use for: routine world creation; prefer `WorldManager.createWorld`.\n *\n * @param options - Initial world configuration. Options are applied once at construction.\n *\n * @see\n *\n * `WorldManager.createWorld`\n *\n * **Category:** Core\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 * **Category:** Core\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 * **Category:** Core\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 this world.\n *\n * **Category:** Core\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 this world.\n *\n * **Category:** Core\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 this world.\n *\n * **Category:** Core\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 this world.\n *\n * **Category:** Core\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 * **Category:** Core\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 * **Category:** Core\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 (relative to the camera).\n *\n * **Category:** Core\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 this world.\n *\n * **Category:** Core\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#fogColor:member",
              "docComment": "/**\n * The fog color, or undefined to use ambient light color.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get fogColor(): "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "fogColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#fogFar:member",
              "docComment": "/**\n * The maximum distance from the camera at which fog stops being applied.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get fogFar(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "fogFar",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#fogNear:member",
              "docComment": "/**\n * The minimum distance from the camera to start applying fog.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get fogNear(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "fogNear",
              "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 * **Category:** Core\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": "Method",
              "canonicalReference": "server!World#loadMap:member(1)",
              "docComment": "/**\n * Loads a map into the world, replacing any prior map contents.\n *\n * Use for: initializing or fully resetting a world from serialized map data. Do NOT use for: incremental edits while players are actively interacting with the world.\n *\n * @remarks\n *\n * - Clears existing blocks and colliders via `ChunkLattice.clear`. - Registers block types from the map into `World.blockTypeRegistry`. - Spawns map entities as `isEnvironmental: true` by default.\n *\n * @param map - The map to load.\n *\n * **Side effects:** Clears the chunk lattice, registers block types, and spawns entities.\n *\n * **Category:** Core\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 that drives ticking for this world.\n *\n * @remarks\n *\n * Use `World.start` and `World.stop` for lifecycle control.\n *\n * **Category:** Core\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 * **Category:** Core\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#particleEmitterManager:member",
              "docComment": "/**\n * The particle emitter manager for this world.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get particleEmitterManager(): "
                },
                {
                  "kind": "Reference",
                  "text": "ParticleEmitterManager",
                  "canonicalReference": "server!ParticleEmitterManager:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "particleEmitterManager",
              "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 this world.\n *\n * **Category:** Core\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 * **Side effects:** Emits `WorldEvent.SET_AMBIENT_LIGHT_COLOR`.\n *\n * **Category:** Core\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 * **Side effects:** Emits `WorldEvent.SET_AMBIENT_LIGHT_INTENSITY`.\n *\n * **Category:** Core\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 * **Side effects:** Emits `WorldEvent.SET_DIRECTIONAL_LIGHT_COLOR`.\n *\n * **Category:** Core\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 * **Side effects:** Emits `WorldEvent.SET_DIRECTIONAL_LIGHT_INTENSITY`.\n *\n * **Category:** Core\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 relative to a player's camera.\n *\n * @param position - The light position relative to the player's camera.\n *\n * **Side effects:** Emits `WorldEvent.SET_DIRECTIONAL_LIGHT_POSITION`.\n *\n * **Category:** Core\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": "Method",
              "canonicalReference": "server!World#setFogColor:member(1)",
              "docComment": "/**\n * Sets the color of the world's fog.\n *\n * @param color - The color of the fog, or undefined to reset to ambient light color.\n *\n * **Side effects:** Emits `WorldEvent.SET_FOG_COLOR`.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFogColor(color: "
                },
                {
                  "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": "color",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFogColor"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setFogFar:member(1)",
              "docComment": "/**\n * Sets the maximum distance from the camera at which fog stops being applied.\n *\n * @param far - The far distance.\n *\n * **Side effects:** Emits `WorldEvent.SET_FOG_FAR`.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFogFar(far: "
                },
                {
                  "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": "far",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFogFar"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setFogNear:member(1)",
              "docComment": "/**\n * Sets the minimum distance from the camera to start applying fog.\n *\n * @param near - The near distance.\n *\n * **Side effects:** Emits `WorldEvent.SET_FOG_NEAR`.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setFogNear(near: "
                },
                {
                  "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": "near",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setFogNear"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setSkyboxIntensity:member(1)",
              "docComment": "/**\n * Sets the intensity of the world's skybox brightness.\n *\n * @param intensity - The intensity.\n *\n * **Side effects:** Emits `WorldEvent.SET_SKYBOX_INTENSITY`.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSkyboxIntensity(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": "setSkyboxIntensity"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!World#setSkyboxUri:member(1)",
              "docComment": "/**\n * Sets the cubemap URI of the world's skybox.\n *\n * @param skyboxUri - The cubemap URI of the skybox.\n *\n * **Side effects:** Emits `WorldEvent.SET_SKYBOX_URI`.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setSkyboxUri(skyboxUri: "
                },
                {
                  "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": "skyboxUri",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "setSkyboxUri"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#simulation:member",
              "docComment": "/**\n * The physics simulation for this world.\n *\n * **Category:** Core\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#skyboxIntensity:member",
              "docComment": "/**\n * The intensity of the world's skybox brightness.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get skyboxIntensity(): "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "skyboxIntensity",
              "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 this world.\n *\n * **Category:** Core\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, and networking.\n *\n * Use for: resuming a previously stopped world. Do NOT use for: standard world creation when using `WorldManager.createWorld` (it auto-starts).\n *\n * **Side effects:** Emits `WorldEvent.START`.\n *\n * **Category:** Core\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, pausing physics, entities, and networking ticks.\n *\n * Use for: pausing a world or preparing for a full map reset. Do NOT use for: disconnecting players; they remain assigned to this world.\n *\n * **Side effects:** Emits `WorldEvent.STOP`.\n *\n * **Category:** Core\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"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!World#tag:member",
              "docComment": "/**\n * An arbitrary identifier tag for your own logic.\n *\n * **Category:** Core\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": [
            {
              "startIndex": 3,
              "endIndex": 4
            }
          ]
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!WorldEvent:enum",
          "docComment": "/**\n * Event types a World instance can emit.\n *\n * See `WorldEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum WorldEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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.SET_FOG_COLOR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_FOG_COLOR = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_FOG_COLOR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_FOG_COLOR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_FOG_FAR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_FOG_FAR = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_FOG_FAR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_FOG_FAR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_FOG_NEAR:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_FOG_NEAR = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_FOG_NEAR\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_FOG_NEAR"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_SKYBOX_INTENSITY:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_SKYBOX_INTENSITY = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_SKYBOX_INTENSITY\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_SKYBOX_INTENSITY"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldEvent.SET_SKYBOX_URI:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SET_SKYBOX_URI = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD.SET_SKYBOX_URI\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SET_SKYBOX_URI"
            },
            {
              "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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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.SET_FOG_COLOR\":member",
              "docComment": "/**\n * Emitted when the color of the world's fog is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_FOG_COLOR",
                  "canonicalReference": "server!WorldEvent.SET_FOG_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_FOG_COLOR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 8
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_FOG_FAR\":member",
              "docComment": "/**\n * Emitted when the density of the world's fog is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_FOG_FAR",
                  "canonicalReference": "server!WorldEvent.SET_FOG_FAR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        far: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.SET_FOG_FAR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_FOG_NEAR\":member",
              "docComment": "/**\n * Emitted when the density of the world's fog is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_FOG_NEAR",
                  "canonicalReference": "server!WorldEvent.SET_FOG_NEAR:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        near: number;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.SET_FOG_NEAR\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_SKYBOX_INTENSITY\":member",
              "docComment": "/**\n * Emitted when the intensity of the world's skybox brightness is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_SKYBOX_INTENSITY",
                  "canonicalReference": "server!WorldEvent.SET_SKYBOX_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_SKYBOX_INTENSITY\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldEventPayloads#\"WORLD.SET_SKYBOX_URI\":member",
              "docComment": "/**\n * Emitted when the URI of the world's skybox is set.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldEvent.SET_SKYBOX_URI",
                  "canonicalReference": "server!WorldEvent.SET_SKYBOX_URI:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "kind": "Content",
                  "text": "{\n        world: "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";\n        uri: string;\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "\"WORLD.SET_SKYBOX_URI\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            },
            {
              "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 * When to use: advanced scheduling or instrumentation of a world's tick cycle. Do NOT use for: normal lifecycle control—use `World.start` and `World.stop`.\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: 1) Tick entity logic 2) Step physics 3) Check and emit entity updates 4) 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 `WorldLoopEventPayloads`.\n *\n * **Category:** Core\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/worlds/WorldLoop.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "WorldLoop",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "server!WorldLoop#currentTick:member",
              "docComment": "/**\n * The current tick count of the world loop.\n *\n * **Category:** Core\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#isStarted:member",
              "docComment": "/**\n * Whether the world loop is started.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get isStarted(): "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "isStarted",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "server!WorldLoop#nextTickMs:member",
              "docComment": "/**\n * The next scheduled tick time in milliseconds.\n *\n * **Category:** Core\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 * **Category:** Core\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 this loop manages.\n *\n * **Category:** Core\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.\n *\n * See `WorldLoopEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum WorldLoopEvent "
            }
          ],
          "fileUrlPath": "src/worlds/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 * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldLoopEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/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": "Class",
          "canonicalReference": "server!WorldManager:class",
          "docComment": "/**\n * Manages all worlds in a game server.\n *\n * When to use: creating additional worlds, routing players, or querying the active world set. Do NOT use for: instantiating `World` directly for gameplay; use `WorldManager.createWorld` to ensure IDs and lifecycle are managed consistently.\n *\n * @remarks\n *\n * Access via `WorldManager.instance` — do not construct directly.\n *\n * <h2>Events</h2>\n *\n * This class emits global events with payloads listed under `WorldManagerEventPayloads`.\n *\n * @example\n * ```typescript\n * import { WorldManager } from 'hytopia';\n *\n * const worldManager = WorldManager.instance;\n * const newWorld = worldManager.createWorld({\n *   name: 'My New World',\n *   skyboxUri: 'skyboxes/partly-cloudy',\n * });\n * ```\n *\n * **Category:** Core\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export default class WorldManager "
            }
          ],
          "fileUrlPath": "src/worlds/WorldManager.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "WorldManager",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "server!WorldManager#createWorld:member(1)",
              "docComment": "/**\n * Creates and starts a new world with a unique ID.\n *\n * Use for: additional game rooms, arenas, or isolated simulations. Do NOT use for: deferred world creation without starting; this always starts.\n *\n * @remarks\n *\n * Auto-starts the world after creation.\n *\n * @param options - The options for the world (ID is assigned automatically).\n *\n * @returns The created world.\n *\n * **Side effects:** Starts the world's tick loop and emits `WorldManagerEvent.WORLD_CREATED`.\n *\n * @see\n *\n * `World.start`\n *\n * @see\n *\n * `WorldManager.getDefaultWorld`\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "createWorld(options: "
                },
                {
                  "kind": "Reference",
                  "text": "Omit",
                  "canonicalReference": "!Omit:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "WorldOptions",
                  "canonicalReference": "server!WorldOptions:interface"
                },
                {
                  "kind": "Content",
                  "text": ", 'id'>"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 7
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "createWorld"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!WorldManager#getAllWorlds:member(1)",
              "docComment": "/**\n * Gets all worlds currently managed by the server.\n *\n * @returns All worlds.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getAllWorlds(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World: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": "getAllWorlds"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!WorldManager#getDefaultWorld:member(1)",
              "docComment": "/**\n * Gets the default world, creating it if it does not exist.\n *\n * Use for: a single-world game or as a safe fallback when routing players. Do NOT use for: creating specialized worlds with unique options.\n *\n * @remarks\n *\n * Lazy-creates and auto-starts a default world if none exists.\n *\n * @returns The default world.\n *\n * **Side effects:** Creates and starts a world if it does not yet exist.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getDefaultWorld(): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getDefaultWorld"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!WorldManager#getWorld:member(1)",
              "docComment": "/**\n * Gets a world by its ID.\n *\n * @param id - The ID of the world to get.\n *\n * @returns The world with the provided ID, or undefined if no world is found.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getWorld(id: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World: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": "getWorld"
            },
            {
              "kind": "Method",
              "canonicalReference": "server!WorldManager#getWorldsByTag:member(1)",
              "docComment": "/**\n * Gets all worlds with a specific tag.\n *\n * @param tag - The tag to filter worlds by.\n *\n * @returns All worlds with the provided tag.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getWorldsByTag(tag: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "World",
                  "canonicalReference": "server!World: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": "getWorldsByTag"
            },
            {
              "kind": "Property",
              "canonicalReference": "server!WorldManager.instance:member",
              "docComment": "/**\n * The global WorldManager instance (singleton).\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static readonly instance: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldManager",
                  "canonicalReference": "server!WorldManager: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!WorldManager#setDefaultWorld:member(1)",
              "docComment": "/**\n * Sets the default world players join on connect.\n *\n * Use for: changing the lobby or main world at runtime. Do NOT use for: moving already connected players; use `Player.joinWorld`.\n *\n * @param world - The world to set as the default.\n *\n * **Category:** Core\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "setDefaultWorld(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": "setDefaultWorld"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Enum",
          "canonicalReference": "server!WorldManagerEvent:enum",
          "docComment": "/**\n * Event types a WorldManager instance can emit to the global event router.\n *\n * See `WorldManagerEventPayloads` for the payloads.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum WorldManagerEvent "
            }
          ],
          "fileUrlPath": "src/worlds/WorldManager.ts",
          "releaseTag": "Public",
          "name": "WorldManagerEvent",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "server!WorldManagerEvent.WORLD_CREATED:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "WORLD_CREATED = "
                },
                {
                  "kind": "Content",
                  "text": "\"WORLD_MANAGER.WORLD_CREATED\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "WORLD_CREATED"
            }
          ]
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!WorldManagerEventPayloads:interface",
          "docComment": "/**\n * Event payloads for WorldManager emitted events.\n *\n * **Category:** Events\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldManagerEventPayloads "
            }
          ],
          "fileUrlPath": "src/worlds/WorldManager.ts",
          "releaseTag": "Public",
          "name": "WorldManagerEventPayloads",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldManagerEventPayloads#\"WORLD_MANAGER.WORLD_CREATED\":member",
              "docComment": "/**\n * Emitted when a world is created.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "WorldManagerEvent.WORLD_CREATED",
                  "canonicalReference": "server!WorldManagerEvent.WORLD_CREATED:member"
                },
                {
                  "kind": "Content",
                  "text": "]: "
                },
                {
                  "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": "\"WORLD_MANAGER.WORLD_CREATED\"",
              "propertyTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 6
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!WorldMap:interface",
          "docComment": "/**\n * A map representation for initializing a world.\n *\n * Use for: importing static maps or tooling exports via `World.loadMap`. Do NOT use for: incremental edits while a world is live; use chunk/block APIs instead.\n *\n * @remarks\n *\n * `blocks` uses `\"x,y,z\"` world block coordinates as string keys.\n *\n * **Category:** Core\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldMap "
            }
          ],
          "fileUrlPath": "src/worlds/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            i: number;\n            r?: number;\n        };\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": "Omit",
                  "canonicalReference": "!Omit:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "EntityOptions",
                  "canonicalReference": "server!EntityOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ", 'rigidBodyOptions'> & {\n            rigidBodyOptions?: "
                },
                {
                  "kind": "Reference",
                  "text": "Omit",
                  "canonicalReference": "!Omit:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "NonNullable",
                  "canonicalReference": "!NonNullable:type"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "EntityOptions",
                  "canonicalReference": "server!EntityOptions:type"
                },
                {
                  "kind": "Content",
                  "text": "['rigidBodyOptions']>, 'type'> & {\n                type?: any;\n            };\n        };\n    }"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "entities",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 12
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "Interface",
          "canonicalReference": "server!WorldOptions:interface",
          "docComment": "/**\n * Options for creating a World instance.\n *\n * Use for: initializing a world and its environment at construction time. Do NOT use for: runtime changes; use the corresponding `set*` methods on `World`.\n *\n * @remarks\n *\n * Options are applied once at construction time. For runtime changes, use the corresponding `set*` methods on `World`.\n *\n * **Category:** Core\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface WorldOptions "
            }
          ],
          "fileUrlPath": "src/worlds/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#fogColor:member",
              "docComment": "/**\n * The color of the fog for the world. Defaults to ambient light color.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "fogColor?: "
                },
                {
                  "kind": "Reference",
                  "text": "RgbColor",
                  "canonicalReference": "server!RgbColor:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "fogColor",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#fogFar:member",
              "docComment": "/**\n * The maximum distance from the camera at which fog stops being applied.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "fogFar?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "fogFar",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "server!WorldOptions#fogNear:member",
              "docComment": "/**\n * The minimum distance from the camera to start applying fog.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "fogNear?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "fogNear",
              "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#map:member",
              "docComment": "/**\n * The map of the world.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "map?: "
                },
                {
                  "kind": "Reference",
                  "text": "WorldMap",
                  "canonicalReference": "server!WorldMap:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "map",
              "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#skyboxIntensity:member",
              "docComment": "/**\n * The intensity of the skybox brightness for the world. 0 is black, 1 is full brightness, 1+ is brighter.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "skyboxIntensity?: "
                },
                {
                  "kind": "Content",
                  "text": "number"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": true,
              "releaseTag": "Public",
              "name": "skyboxIntensity",
              "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#tag:member",
              "docComment": "/**\n * An arbitrary identifier tag of the world. 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!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": []
        }
      ]
    }
  ]
}
