@roomle/web-sdk 2.99.0 → 2.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Object3D-2abce9d8.nomodule.js +2 -0
- package/lib/Object3D-2abce9d8.nomodule.js.map +1 -0
- package/lib/Object3D-80e9d0f8.js +2 -0
- package/lib/Object3D-80e9d0f8.js.map +1 -0
- package/lib/SpotLightHelper-56c85cfb.nomodule.js +2 -0
- package/lib/SpotLightHelper-56c85cfb.nomodule.js.map +1 -0
- package/lib/SpotLightHelper-79188e47.js +2 -0
- package/lib/SpotLightHelper-79188e47.js.map +1 -0
- package/lib/{banana-for-scale-22ad6a20.nomodule.js → banana-for-scale-795d9c6c.nomodule.js} +2 -2
- package/lib/{banana-for-scale-22ad6a20.nomodule.js.map → banana-for-scale-795d9c6c.nomodule.js.map} +1 -1
- package/lib/{banana-for-scale-da4282fd.js → banana-for-scale-c5d8d13e.js} +2 -2
- package/lib/{banana-for-scale-da4282fd.js.map → banana-for-scale-c5d8d13e.js.map} +1 -1
- package/lib/camera-behaviour-ceced6f1.nomodule.js +2 -0
- package/lib/{camera-behaviour-90408ba5.nomodule.js.map → camera-behaviour-ceced6f1.nomodule.js.map} +1 -1
- package/lib/camera-behaviour-fe3f4008.js +2 -0
- package/lib/{camera-behaviour-2f2ffe82.js.map → camera-behaviour-fe3f4008.js.map} +1 -1
- package/lib/{component-dimensioning-a5e291d6.nomodule.js → component-dimensioning-5417ce83.nomodule.js} +2 -2
- package/lib/component-dimensioning-5417ce83.nomodule.js.map +1 -0
- package/lib/{component-dimensioning-ca877f31.js → component-dimensioning-b575bfa7.js} +2 -2
- package/lib/component-dimensioning-b575bfa7.js.map +1 -0
- package/lib/{component-raycast-helper-785b39cd.js → component-raycast-helper-8faecce8.js} +2 -2
- package/lib/component-raycast-helper-8faecce8.js.map +1 -0
- package/lib/{component-raycast-helper-40f9eb14.nomodule.js → component-raycast-helper-cde6065c.nomodule.js} +2 -2
- package/lib/component-raycast-helper-cde6065c.nomodule.js.map +1 -0
- package/lib/configurator-0ad4d1f9.nomodule.js +2 -0
- package/lib/configurator-0ad4d1f9.nomodule.js.map +1 -0
- package/lib/configurator-4565594d.js +2 -0
- package/lib/configurator-4565594d.js.map +1 -0
- package/lib/configurator-main-c79ddf0c.js +2 -0
- package/lib/configurator-main-c79ddf0c.js.map +1 -0
- package/lib/configurator-main.nomodule.js +1 -1
- package/lib/continuous-drawing-helper-6a23cf51.js +2 -0
- package/lib/continuous-drawing-helper-6a23cf51.js.map +1 -0
- package/lib/continuous-drawing-helper-70637238.nomodule.js +2 -0
- package/lib/continuous-drawing-helper-70637238.nomodule.js.map +1 -0
- package/lib/default-light-setting-755cfddc.js +2 -0
- package/lib/default-light-setting-755cfddc.js.map +1 -0
- package/lib/default-light-setting-e6087240.nomodule.js +2 -0
- package/lib/default-light-setting-e6087240.nomodule.js.map +1 -0
- package/lib/definitions/common-core/src/cameracontrol/camera-control-3d.d.ts +2 -1
- package/lib/definitions/common-core/src/cameracontrol/configurator-camera-behaviour.d.ts +1 -1
- package/lib/definitions/common-core/src/utils/common-utils.d.ts +1 -0
- package/lib/definitions/common-core/src/utils/init-data.d.ts +3 -0
- package/lib/definitions/common-core/src/utils/shims.d.ts +8 -3
- package/lib/definitions/common-core/src/webgl/image-renderer.d.ts +1 -0
- package/lib/definitions/common-core/src/webgl/roomle-webgl-renderer.d.ts +3 -0
- package/lib/definitions/common-core/src/webgl/scene-manager.d.ts +1 -0
- package/lib/definitions/packages/common-core/src/cameracontrol/camera-control-3d.d.ts +2 -1
- package/lib/definitions/packages/common-core/src/cameracontrol/configurator-camera-behaviour.d.ts +1 -1
- package/lib/definitions/packages/common-core/src/utils/common-utils.d.ts +1 -0
- package/lib/definitions/packages/common-core/src/utils/init-data.d.ts +3 -0
- package/lib/definitions/packages/common-core/src/utils/shims.d.ts +8 -3
- package/lib/definitions/packages/common-core/src/webgl/image-renderer.d.ts +1 -0
- package/lib/definitions/packages/common-core/src/webgl/roomle-webgl-renderer.d.ts +3 -0
- package/lib/definitions/packages/common-core/src/webgl/scene-manager.d.ts +1 -0
- package/lib/definitions/packages/planner-core/src/lights/ceiling-light.d.ts +19 -0
- package/lib/definitions/packages/planner-core/src/lights/lamp-light.d.ts +9 -0
- package/lib/definitions/packages/planner-core/src/lights/light-group.d.ts +11 -0
- package/lib/definitions/packages/planner-core/src/lights/rect-area-light.d.ts +7 -0
- package/lib/definitions/packages/planner-core/src/roomle-planner-ui-callback.d.ts +1 -1
- package/lib/definitions/packages/planner-core/src/roomle-planner.d.ts +10 -2
- package/lib/definitions/packages/planner-core/src/utils/{planner-scene-manager.d.ts → planner-scene-utils.d.ts} +5 -2
- package/lib/definitions/packages/planner-core/src/view-model/floor-plan-element-view-model.d.ts +1 -0
- package/lib/definitions/packages/planner-core/src/view-model/plan-view-model.d.ts +21 -0
- package/lib/definitions/packages/planner-core/src/webgl/planner-scene-manager.d.ts +3 -6
- package/lib/definitions/packages/typings/planner.d.ts +7 -1
- package/lib/definitions/planner-core/src/lights/ceiling-light.d.ts +19 -0
- package/lib/definitions/planner-core/src/lights/lamp-light.d.ts +9 -0
- package/lib/definitions/planner-core/src/lights/light-group.d.ts +11 -0
- package/lib/definitions/planner-core/src/lights/rect-area-light.d.ts +7 -0
- package/lib/definitions/planner-core/src/roomle-planner-ui-callback.d.ts +1 -1
- package/lib/definitions/planner-core/src/roomle-planner.d.ts +10 -2
- package/lib/definitions/planner-core/src/utils/{planner-scene-manager.d.ts → planner-scene-utils.d.ts} +5 -2
- package/lib/definitions/planner-core/src/view-model/floor-plan-element-view-model.d.ts +1 -0
- package/lib/definitions/planner-core/src/view-model/plan-view-model.d.ts +21 -0
- package/lib/definitions/planner-core/src/webgl/planner-scene-manager.d.ts +3 -6
- package/lib/definitions/typings/planner.d.ts +7 -1
- package/lib/dimensioning-helper-089673fa.nomodule.js +2 -0
- package/lib/dimensioning-helper-089673fa.nomodule.js.map +1 -0
- package/lib/dimensioning-helper-ba9dbb6f.js +2 -0
- package/lib/{dimensioning-helper-fb456f28.js.map → dimensioning-helper-ba9dbb6f.js.map} +1 -1
- package/lib/glb-viewer-232298a7.nomodule.js +2 -0
- package/lib/{glb-viewer-58aa56b3.nomodule.js.map → glb-viewer-232298a7.nomodule.js.map} +1 -1
- package/lib/glb-viewer-bc27fd7c.js +2 -0
- package/lib/{glb-viewer-d4c6c346.js.map → glb-viewer-bc27fd7c.js.map} +1 -1
- package/lib/{glb-viewer-camera-behaviour-1b347e77.nomodule.js → glb-viewer-camera-behaviour-b9f0adaa.nomodule.js} +2 -2
- package/lib/glb-viewer-camera-behaviour-b9f0adaa.nomodule.js.map +1 -0
- package/lib/{glb-viewer-camera-behaviour-24e823bc.js → glb-viewer-camera-behaviour-f8871d34.js} +2 -2
- package/lib/glb-viewer-camera-behaviour-f8871d34.js.map +1 -0
- package/lib/glb-viewer-main-058270a7.js +2 -0
- package/lib/glb-viewer-main-058270a7.js.map +1 -0
- package/lib/glb-viewer-main.nomodule.js +1 -1
- package/lib/{imos-ix-poc-export-helper-b7a91cdb.nomodule.js → imos-ix-poc-export-helper-29ce417b.nomodule.js} +2 -2
- package/lib/imos-ix-poc-export-helper-29ce417b.nomodule.js.map +1 -0
- package/lib/{imos-ix-poc-export-helper-7b16b54e.js → imos-ix-poc-export-helper-43b4c646.js} +2 -2
- package/lib/imos-ix-poc-export-helper-43b4c646.js.map +1 -0
- package/lib/legacy/Object3D-1f141c55.legacy.js +2 -0
- package/lib/legacy/Object3D-1f141c55.legacy.js.map +1 -0
- package/lib/legacy/SpotLightHelper-28698e83.legacy.js +2 -0
- package/lib/legacy/SpotLightHelper-28698e83.legacy.js.map +1 -0
- package/lib/legacy/TextGeometry-559f28ce.legacy.js +2 -0
- package/lib/legacy/{TextGeometry-778d127b.legacy.js.map → TextGeometry-559f28ce.legacy.js.map} +1 -1
- package/lib/legacy/{banana-for-scale-b274801d.legacy.js → banana-for-scale-8a3d4091.legacy.js} +2 -2
- package/lib/legacy/{banana-for-scale-b274801d.legacy.js.map → banana-for-scale-8a3d4091.legacy.js.map} +1 -1
- package/lib/legacy/budgeteer-measure.legacy.js +1 -1
- package/lib/legacy/camera-behaviour-363a4e78.legacy.js +2 -0
- package/lib/legacy/{camera-behaviour-b47dbdd3.legacy.js.map → camera-behaviour-363a4e78.legacy.js.map} +1 -1
- package/lib/legacy/{component-dimensioning-a3ba2ba6.legacy.js → component-dimensioning-f92c2840.legacy.js} +2 -2
- package/lib/legacy/component-dimensioning-f92c2840.legacy.js.map +1 -0
- package/lib/legacy/{component-raycast-helper-a5178cda.legacy.js → component-raycast-helper-91c67dd6.legacy.js} +2 -2
- package/lib/legacy/component-raycast-helper-91c67dd6.legacy.js.map +1 -0
- package/lib/legacy/configurator-bdb72223.legacy.js +2 -0
- package/lib/legacy/configurator-bdb72223.legacy.js.map +1 -0
- package/lib/legacy/configurator-main.legacy.js +1 -1
- package/lib/legacy/continuous-drawing-helper-e8db250c.legacy.js +2 -0
- package/lib/legacy/continuous-drawing-helper-e8db250c.legacy.js.map +1 -0
- package/lib/legacy/default-light-setting-07ced87c.legacy.js +2 -0
- package/lib/legacy/default-light-setting-07ced87c.legacy.js.map +1 -0
- package/lib/legacy/dimensioning-helper-bb3492c7.legacy.js +2 -0
- package/lib/legacy/dimensioning-helper-bb3492c7.legacy.js.map +1 -0
- package/lib/legacy/external-objects-01d5a216.legacy.js +2 -0
- package/lib/legacy/external-objects-01d5a216.legacy.js.map +1 -0
- package/lib/legacy/{glb-viewer-camera-behaviour-4be0da6a.legacy.js → glb-viewer-camera-behaviour-8a35f77c.legacy.js} +2 -2
- package/lib/legacy/glb-viewer-camera-behaviour-8a35f77c.legacy.js.map +1 -0
- package/lib/legacy/glb-viewer-d69f6cae.legacy.js +2 -0
- package/lib/legacy/{glb-viewer-d3854b02.legacy.js.map → glb-viewer-d69f6cae.legacy.js.map} +1 -1
- package/lib/legacy/glb-viewer-main.legacy.js +1 -1
- package/lib/legacy/{imos-ix-poc-export-helper-ee70d653.legacy.js → imos-ix-poc-export-helper-ca5160da.legacy.js} +2 -2
- package/lib/legacy/imos-ix-poc-export-helper-ca5160da.legacy.js.map +1 -0
- package/lib/legacy/{main-thread-to-worker-da6ad96a.legacy.js → main-thread-to-worker-32b45184.legacy.js} +3 -3
- package/lib/legacy/{main-thread-to-worker-da6ad96a.legacy.js.map → main-thread-to-worker-32b45184.legacy.js.map} +1 -1
- package/lib/legacy/material-viewer-770e3a93.legacy.js +2 -0
- package/lib/legacy/material-viewer-770e3a93.legacy.js.map +1 -0
- package/lib/legacy/material-viewer-main.legacy.js +1 -1
- package/lib/legacy/planner-53e1ae1f.legacy.js +2 -0
- package/lib/legacy/{planner-f0a71818.legacy.js.map → planner-53e1ae1f.legacy.js.map} +1 -1
- package/lib/legacy/planner-main.legacy.js +1 -1
- package/lib/legacy/query-params-helper-ad6b6b64.legacy.js +2 -0
- package/lib/legacy/query-params-helper-ad6b6b64.legacy.js.map +1 -0
- package/lib/legacy/roomle-configurator-2ab0523e.legacy.js +2 -0
- package/lib/legacy/roomle-configurator-2ab0523e.legacy.js.map +1 -0
- package/lib/legacy/roomle-dependency-injection-39798155.legacy.js +9 -0
- package/lib/legacy/{roomle-dependency-injection-058aa06f.legacy.js.map → roomle-dependency-injection-39798155.legacy.js.map} +1 -1
- package/lib/legacy/roomle-sdk.legacy.js +1 -1
- package/lib/legacy/{script-loader-9921991a.legacy.js → script-loader-6f4bb7db.legacy.js} +2 -2
- package/lib/legacy/script-loader-6f4bb7db.legacy.js.map +1 -0
- package/lib/legacy/static/ConfiguratorKernel-eb2b45aa8bdd5c73.wasm +0 -0
- package/lib/legacy/static/RoomleCore-a4df483fa6f93517.wasm +0 -0
- package/lib/legacy/static/RoomleToolsCore-9ea339d54e57756a.wasm +0 -0
- package/lib/legacy/{stats-helper-c7bf779b.legacy.js → stats-helper-e75d2585.legacy.js} +2 -2
- package/lib/legacy/stats-helper-e75d2585.legacy.js.map +1 -0
- package/lib/legacy/{tools-core-645fb16a.legacy.js → tools-core-c5e76ffc.legacy.js} +2 -2
- package/lib/legacy/tools-core-c5e76ffc.legacy.js.map +1 -0
- package/lib/material-viewer-a489d3c2.nomodule.js +2 -0
- package/lib/material-viewer-a489d3c2.nomodule.js.map +1 -0
- package/lib/material-viewer-f818f681.js +2 -0
- package/lib/material-viewer-f818f681.js.map +1 -0
- package/lib/material-viewer-main-a4985787.js +2 -0
- package/lib/material-viewer-main-a4985787.js.map +1 -0
- package/lib/material-viewer-main.nomodule.js +1 -1
- package/lib/planner-32c9b79e.nomodule.js +2 -0
- package/lib/{planner-cb1acb4d.nomodule.js.map → planner-32c9b79e.nomodule.js.map} +1 -1
- package/lib/planner-9b39cf77.js +2 -0
- package/lib/{planner-a30840a8.js.map → planner-9b39cf77.js.map} +1 -1
- package/lib/planner-main-32eac04d.js +2 -0
- package/lib/planner-main-32eac04d.js.map +1 -0
- package/lib/planner-main.nomodule.js +1 -1
- package/lib/roomle-configurator-2d336119.nomodule.js +2 -0
- package/lib/roomle-configurator-2d336119.nomodule.js.map +1 -0
- package/lib/roomle-configurator-3bf23b9e.js +2 -0
- package/lib/roomle-configurator-3bf23b9e.js.map +1 -0
- package/lib/{roomle-dependency-injection-8fd89dfe.js → roomle-dependency-injection-c52a0000.js} +3 -3
- package/lib/{roomle-dependency-injection-8fd89dfe.js.map → roomle-dependency-injection-c52a0000.js.map} +1 -1
- package/lib/roomle-dependency-injection-e789a72d.nomodule.js +9 -0
- package/lib/{roomle-dependency-injection-22befdc7.nomodule.js.map → roomle-dependency-injection-e789a72d.nomodule.js.map} +1 -1
- package/lib/{roomle-sdk-3f72ba15.js → roomle-sdk-b28548bd.js} +2 -2
- package/lib/roomle-sdk-b28548bd.js.map +1 -0
- package/lib/roomle-sdk.nomodule.js +1 -1
- package/lib/{script-loader-36a9dcdc.js → script-loader-524d3415.js} +2 -2
- package/lib/script-loader-524d3415.js.map +1 -0
- package/lib/{script-loader-8e8886dd.nomodule.js → script-loader-f57678af.nomodule.js} +2 -2
- package/lib/script-loader-f57678af.nomodule.js.map +1 -0
- package/lib/static/ConfiguratorKernel-eb2b45aa8bdd5c73.wasm +0 -0
- package/lib/static/RoomleCore-a4df483fa6f93517.wasm +0 -0
- package/lib/static/RoomleToolsCore-9ea339d54e57756a.wasm +0 -0
- package/lib/{stats-helper-b5614bb9.js → stats-helper-8557e89e.js} +2 -2
- package/lib/stats-helper-8557e89e.js.map +1 -0
- package/lib/{stats-helper-1a0748a7.nomodule.js → stats-helper-a6ed29fb.nomodule.js} +2 -2
- package/lib/stats-helper-a6ed29fb.nomodule.js.map +1 -0
- package/lib/{tools-core-43082fe5.js → tools-core-26ff177e.js} +2 -2
- package/lib/tools-core-26ff177e.js.map +1 -0
- package/lib/{tools-core-a5f68507.nomodule.js → tools-core-feefe6d1.nomodule.js} +2 -2
- package/lib/tools-core-feefe6d1.nomodule.js.map +1 -0
- package/package.json +2 -2
- package/lib/camera-behaviour-2f2ffe82.js +0 -2
- package/lib/camera-behaviour-90408ba5.nomodule.js +0 -2
- package/lib/component-dimensioning-a5e291d6.nomodule.js.map +0 -1
- package/lib/component-dimensioning-ca877f31.js.map +0 -1
- package/lib/component-raycast-helper-40f9eb14.nomodule.js.map +0 -1
- package/lib/component-raycast-helper-785b39cd.js.map +0 -1
- package/lib/configurator-2d025a93.nomodule.js +0 -2
- package/lib/configurator-2d025a93.nomodule.js.map +0 -1
- package/lib/configurator-3e5c27eb.js +0 -2
- package/lib/configurator-3e5c27eb.js.map +0 -1
- package/lib/configurator-main-f75e4553.js +0 -2
- package/lib/configurator-main-f75e4553.js.map +0 -1
- package/lib/continuous-drawing-helper-ae2fcdd3.js +0 -2
- package/lib/continuous-drawing-helper-ae2fcdd3.js.map +0 -1
- package/lib/continuous-drawing-helper-c71ae2ed.nomodule.js +0 -2
- package/lib/continuous-drawing-helper-c71ae2ed.nomodule.js.map +0 -1
- package/lib/default-light-setting-98201048.nomodule.js +0 -2
- package/lib/default-light-setting-98201048.nomodule.js.map +0 -1
- package/lib/default-light-setting-ba00bf2b.js +0 -2
- package/lib/default-light-setting-ba00bf2b.js.map +0 -1
- package/lib/dimensioning-helper-4d7e768a.nomodule.js +0 -2
- package/lib/dimensioning-helper-4d7e768a.nomodule.js.map +0 -1
- package/lib/dimensioning-helper-fb456f28.js +0 -2
- package/lib/glb-viewer-58aa56b3.nomodule.js +0 -2
- package/lib/glb-viewer-camera-behaviour-1b347e77.nomodule.js.map +0 -1
- package/lib/glb-viewer-camera-behaviour-24e823bc.js.map +0 -1
- package/lib/glb-viewer-d4c6c346.js +0 -2
- package/lib/glb-viewer-main-64179adf.js +0 -2
- package/lib/glb-viewer-main-64179adf.js.map +0 -1
- package/lib/imos-ix-poc-export-helper-7b16b54e.js.map +0 -1
- package/lib/imos-ix-poc-export-helper-b7a91cdb.nomodule.js.map +0 -1
- package/lib/legacy/TextGeometry-778d127b.legacy.js +0 -2
- package/lib/legacy/camera-behaviour-b47dbdd3.legacy.js +0 -2
- package/lib/legacy/component-dimensioning-a3ba2ba6.legacy.js.map +0 -1
- package/lib/legacy/component-raycast-helper-a5178cda.legacy.js.map +0 -1
- package/lib/legacy/configurator-002d161a.legacy.js +0 -2
- package/lib/legacy/configurator-002d161a.legacy.js.map +0 -1
- package/lib/legacy/continuous-drawing-helper-654d7604.legacy.js +0 -2
- package/lib/legacy/continuous-drawing-helper-654d7604.legacy.js.map +0 -1
- package/lib/legacy/default-light-setting-af961df8.legacy.js +0 -2
- package/lib/legacy/default-light-setting-af961df8.legacy.js.map +0 -1
- package/lib/legacy/dimensioning-helper-4baa9955.legacy.js +0 -2
- package/lib/legacy/dimensioning-helper-4baa9955.legacy.js.map +0 -1
- package/lib/legacy/external-objects-2fd4ef1a.legacy.js +0 -2
- package/lib/legacy/external-objects-2fd4ef1a.legacy.js.map +0 -1
- package/lib/legacy/glb-viewer-camera-behaviour-4be0da6a.legacy.js.map +0 -1
- package/lib/legacy/glb-viewer-d3854b02.legacy.js +0 -2
- package/lib/legacy/imos-ix-poc-export-helper-ee70d653.legacy.js.map +0 -1
- package/lib/legacy/material-viewer-117426bc.legacy.js +0 -2
- package/lib/legacy/material-viewer-117426bc.legacy.js.map +0 -1
- package/lib/legacy/planner-f0a71818.legacy.js +0 -2
- package/lib/legacy/query-params-helper-e3e05119.legacy.js +0 -2
- package/lib/legacy/query-params-helper-e3e05119.legacy.js.map +0 -1
- package/lib/legacy/roomle-configurator-6db65c94.legacy.js +0 -2
- package/lib/legacy/roomle-configurator-6db65c94.legacy.js.map +0 -1
- package/lib/legacy/roomle-dependency-injection-058aa06f.legacy.js +0 -9
- package/lib/legacy/script-loader-9921991a.legacy.js.map +0 -1
- package/lib/legacy/static/ConfiguratorKernel-e0b064b9d4228a3b.wasm +0 -0
- package/lib/legacy/static/RoomleCore-e599a6ccf3dd7c2a.wasm +0 -0
- package/lib/legacy/static/RoomleToolsCore-83af26798774f70c.wasm +0 -0
- package/lib/legacy/stats-helper-c7bf779b.legacy.js.map +0 -1
- package/lib/legacy/tools-core-645fb16a.legacy.js.map +0 -1
- package/lib/material-viewer-8c7e05be.nomodule.js +0 -2
- package/lib/material-viewer-8c7e05be.nomodule.js.map +0 -1
- package/lib/material-viewer-d211106c.js +0 -2
- package/lib/material-viewer-d211106c.js.map +0 -1
- package/lib/material-viewer-main-9668a68c.js +0 -2
- package/lib/material-viewer-main-9668a68c.js.map +0 -1
- package/lib/planner-a30840a8.js +0 -2
- package/lib/planner-cb1acb4d.nomodule.js +0 -2
- package/lib/planner-main-5c76b2c2.js +0 -2
- package/lib/planner-main-5c76b2c2.js.map +0 -1
- package/lib/roomle-configurator-a11055fd.nomodule.js +0 -2
- package/lib/roomle-configurator-a11055fd.nomodule.js.map +0 -1
- package/lib/roomle-configurator-ab3900ec.js +0 -2
- package/lib/roomle-configurator-ab3900ec.js.map +0 -1
- package/lib/roomle-dependency-injection-22befdc7.nomodule.js +0 -9
- package/lib/roomle-sdk-3f72ba15.js.map +0 -1
- package/lib/script-loader-36a9dcdc.js.map +0 -1
- package/lib/script-loader-8e8886dd.nomodule.js.map +0 -1
- package/lib/static/ConfiguratorKernel-e0b064b9d4228a3b.wasm +0 -0
- package/lib/static/RoomleCore-e599a6ccf3dd7c2a.wasm +0 -0
- package/lib/static/RoomleToolsCore-83af26798774f70c.wasm +0 -0
- package/lib/stats-helper-1a0748a7.nomodule.js.map +0 -1
- package/lib/stats-helper-b5614bb9.js.map +0 -1
- package/lib/tools-core-43082fe5.js.map +0 -1
- package/lib/tools-core-a5f68507.nomodule.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Object3D-1f141c55.legacy.js","sources":["../../../node_modules/three/src/math/MathUtils.js","../../../node_modules/three/src/constants.js","../../../node_modules/three/src/math/Quaternion.js","../../../node_modules/three/src/math/Vector3.js","../../../node_modules/three/src/math/Matrix4.js","../../../node_modules/three/src/math/Box3.js","../../../node_modules/three/src/math/Vector2.js","../../../node_modules/three/src/math/Sphere.js","../../../node_modules/three/src/math/Matrix3.js","../../../node_modules/three/src/core/EventDispatcher.js","../../../node_modules/three/src/math/Euler.js","../../../node_modules/three/src/core/Layers.js","../../../node_modules/three/src/core/Object3D.js"],"sourcesContent":["const _lut = [ '00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f', 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df', 'e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff' ];\n\nlet _seed = 1234567;\n\n\nconst DEG2RAD = Math.PI / 180;\nconst RAD2DEG = 180 / Math.PI;\n\n// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\nfunction generateUUID() {\n\n\tconst d0 = Math.random() * 0xffffffff | 0;\n\tconst d1 = Math.random() * 0xffffffff | 0;\n\tconst d2 = Math.random() * 0xffffffff | 0;\n\tconst d3 = Math.random() * 0xffffffff | 0;\n\tconst uuid = _lut[ d0 & 0xff ] + _lut[ d0 >> 8 & 0xff ] + _lut[ d0 >> 16 & 0xff ] + _lut[ d0 >> 24 & 0xff ] + '-' +\n\t\t\t_lut[ d1 & 0xff ] + _lut[ d1 >> 8 & 0xff ] + '-' + _lut[ d1 >> 16 & 0x0f | 0x40 ] + _lut[ d1 >> 24 & 0xff ] + '-' +\n\t\t\t_lut[ d2 & 0x3f | 0x80 ] + _lut[ d2 >> 8 & 0xff ] + '-' + _lut[ d2 >> 16 & 0xff ] + _lut[ d2 >> 24 & 0xff ] +\n\t\t\t_lut[ d3 & 0xff ] + _lut[ d3 >> 8 & 0xff ] + _lut[ d3 >> 16 & 0xff ] + _lut[ d3 >> 24 & 0xff ];\n\n\t// .toLowerCase() here flattens concatenated strings to save heap memory space.\n\treturn uuid.toLowerCase();\n\n}\n\nfunction clamp( value, min, max ) {\n\n\treturn Math.max( min, Math.min( max, value ) );\n\n}\n\n// compute euclidean modulo of m % n\n// https://en.wikipedia.org/wiki/Modulo_operation\nfunction euclideanModulo( n, m ) {\n\n\treturn ( ( n % m ) + m ) % m;\n\n}\n\n// Linear mapping from range <a1, a2> to range <b1, b2>\nfunction mapLinear( x, a1, a2, b1, b2 ) {\n\n\treturn b1 + ( x - a1 ) * ( b2 - b1 ) / ( a2 - a1 );\n\n}\n\n// https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/inverse-lerp-a-super-useful-yet-often-overlooked-function-r5230/\nfunction inverseLerp( x, y, value ) {\n\n\tif ( x !== y ) {\n\n\t\treturn ( value - x ) / ( y - x );\n\n\t} else {\n\n\t\treturn 0;\n\n\t}\n\n}\n\n// https://en.wikipedia.org/wiki/Linear_interpolation\nfunction lerp( x, y, t ) {\n\n\treturn ( 1 - t ) * x + t * y;\n\n}\n\n// http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/\nfunction damp( x, y, lambda, dt ) {\n\n\treturn lerp( x, y, 1 - Math.exp( - lambda * dt ) );\n\n}\n\n// https://www.desmos.com/calculator/vcsjnyz7x4\nfunction pingpong( x, length = 1 ) {\n\n\treturn length - Math.abs( euclideanModulo( x, length * 2 ) - length );\n\n}\n\n// http://en.wikipedia.org/wiki/Smoothstep\nfunction smoothstep( x, min, max ) {\n\n\tif ( x <= min ) return 0;\n\tif ( x >= max ) return 1;\n\n\tx = ( x - min ) / ( max - min );\n\n\treturn x * x * ( 3 - 2 * x );\n\n}\n\nfunction smootherstep( x, min, max ) {\n\n\tif ( x <= min ) return 0;\n\tif ( x >= max ) return 1;\n\n\tx = ( x - min ) / ( max - min );\n\n\treturn x * x * x * ( x * ( x * 6 - 15 ) + 10 );\n\n}\n\n// Random integer from <low, high> interval\nfunction randInt( low, high ) {\n\n\treturn low + Math.floor( Math.random() * ( high - low + 1 ) );\n\n}\n\n// Random float from <low, high> interval\nfunction randFloat( low, high ) {\n\n\treturn low + Math.random() * ( high - low );\n\n}\n\n// Random float from <-range/2, range/2> interval\nfunction randFloatSpread( range ) {\n\n\treturn range * ( 0.5 - Math.random() );\n\n}\n\n// Deterministic pseudo-random float in the interval [ 0, 1 ]\nfunction seededRandom( s ) {\n\n\tif ( s !== undefined ) _seed = s;\n\n\t// Mulberry32 generator\n\n\tlet t = _seed += 0x6D2B79F5;\n\n\tt = Math.imul( t ^ t >>> 15, t | 1 );\n\n\tt ^= t + Math.imul( t ^ t >>> 7, t | 61 );\n\n\treturn ( ( t ^ t >>> 14 ) >>> 0 ) / 4294967296;\n\n}\n\nfunction degToRad( degrees ) {\n\n\treturn degrees * DEG2RAD;\n\n}\n\nfunction radToDeg( radians ) {\n\n\treturn radians * RAD2DEG;\n\n}\n\nfunction isPowerOfTwo( value ) {\n\n\treturn ( value & ( value - 1 ) ) === 0 && value !== 0;\n\n}\n\nfunction ceilPowerOfTwo( value ) {\n\n\treturn Math.pow( 2, Math.ceil( Math.log( value ) / Math.LN2 ) );\n\n}\n\nfunction floorPowerOfTwo( value ) {\n\n\treturn Math.pow( 2, Math.floor( Math.log( value ) / Math.LN2 ) );\n\n}\n\nfunction setQuaternionFromProperEuler( q, a, b, c, order ) {\n\n\t// Intrinsic Proper Euler Angles - see https://en.wikipedia.org/wiki/Euler_angles\n\n\t// rotations are applied to the axes in the order specified by 'order'\n\t// rotation by angle 'a' is applied first, then by angle 'b', then by angle 'c'\n\t// angles are in radians\n\n\tconst cos = Math.cos;\n\tconst sin = Math.sin;\n\n\tconst c2 = cos( b / 2 );\n\tconst s2 = sin( b / 2 );\n\n\tconst c13 = cos( ( a + c ) / 2 );\n\tconst s13 = sin( ( a + c ) / 2 );\n\n\tconst c1_3 = cos( ( a - c ) / 2 );\n\tconst s1_3 = sin( ( a - c ) / 2 );\n\n\tconst c3_1 = cos( ( c - a ) / 2 );\n\tconst s3_1 = sin( ( c - a ) / 2 );\n\n\tswitch ( order ) {\n\n\t\tcase 'XYX':\n\t\t\tq.set( c2 * s13, s2 * c1_3, s2 * s1_3, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'YZY':\n\t\t\tq.set( s2 * s1_3, c2 * s13, s2 * c1_3, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'ZXZ':\n\t\t\tq.set( s2 * c1_3, s2 * s1_3, c2 * s13, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'XZX':\n\t\t\tq.set( c2 * s13, s2 * s3_1, s2 * c3_1, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'YXY':\n\t\t\tq.set( s2 * c3_1, c2 * s13, s2 * s3_1, c2 * c13 );\n\t\t\tbreak;\n\n\t\tcase 'ZYZ':\n\t\t\tq.set( s2 * s3_1, s2 * c3_1, c2 * s13, c2 * c13 );\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tconsole.warn( 'THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: ' + order );\n\n\t}\n\n}\n\nfunction denormalize( value, array ) {\n\n\tswitch ( array.constructor ) {\n\n\t\tcase Float32Array:\n\n\t\t\treturn value;\n\n\t\tcase Uint32Array:\n\n\t\t\treturn value / 4294967295.0;\n\n\t\tcase Uint16Array:\n\n\t\t\treturn value / 65535.0;\n\n\t\tcase Uint8Array:\n\n\t\t\treturn value / 255.0;\n\n\t\tcase Int32Array:\n\n\t\t\treturn Math.max( value / 2147483647.0, - 1.0 );\n\n\t\tcase Int16Array:\n\n\t\t\treturn Math.max( value / 32767.0, - 1.0 );\n\n\t\tcase Int8Array:\n\n\t\t\treturn Math.max( value / 127.0, - 1.0 );\n\n\t\tdefault:\n\n\t\t\tthrow new Error( 'Invalid component type.' );\n\n\t}\n\n}\n\nfunction normalize( value, array ) {\n\n\tswitch ( array.constructor ) {\n\n\t\tcase Float32Array:\n\n\t\t\treturn value;\n\n\t\tcase Uint32Array:\n\n\t\t\treturn Math.round( value * 4294967295.0 );\n\n\t\tcase Uint16Array:\n\n\t\t\treturn Math.round( value * 65535.0 );\n\n\t\tcase Uint8Array:\n\n\t\t\treturn Math.round( value * 255.0 );\n\n\t\tcase Int32Array:\n\n\t\t\treturn Math.round( value * 2147483647.0 );\n\n\t\tcase Int16Array:\n\n\t\t\treturn Math.round( value * 32767.0 );\n\n\t\tcase Int8Array:\n\n\t\t\treturn Math.round( value * 127.0 );\n\n\t\tdefault:\n\n\t\t\tthrow new Error( 'Invalid component type.' );\n\n\t}\n\n}\n\nconst MathUtils = {\n\tDEG2RAD: DEG2RAD,\n\tRAD2DEG: RAD2DEG,\n\tgenerateUUID: generateUUID,\n\tclamp: clamp,\n\teuclideanModulo: euclideanModulo,\n\tmapLinear: mapLinear,\n\tinverseLerp: inverseLerp,\n\tlerp: lerp,\n\tdamp: damp,\n\tpingpong: pingpong,\n\tsmoothstep: smoothstep,\n\tsmootherstep: smootherstep,\n\trandInt: randInt,\n\trandFloat: randFloat,\n\trandFloatSpread: randFloatSpread,\n\tseededRandom: seededRandom,\n\tdegToRad: degToRad,\n\tradToDeg: radToDeg,\n\tisPowerOfTwo: isPowerOfTwo,\n\tceilPowerOfTwo: ceilPowerOfTwo,\n\tfloorPowerOfTwo: floorPowerOfTwo,\n\tsetQuaternionFromProperEuler: setQuaternionFromProperEuler,\n\tnormalize: normalize,\n\tdenormalize: denormalize\n};\n\nexport {\n\tDEG2RAD,\n\tRAD2DEG,\n\tgenerateUUID,\n\tclamp,\n\teuclideanModulo,\n\tmapLinear,\n\tinverseLerp,\n\tlerp,\n\tdamp,\n\tpingpong,\n\tsmoothstep,\n\tsmootherstep,\n\trandInt,\n\trandFloat,\n\trandFloatSpread,\n\tseededRandom,\n\tdegToRad,\n\tradToDeg,\n\tisPowerOfTwo,\n\tceilPowerOfTwo,\n\tfloorPowerOfTwo,\n\tsetQuaternionFromProperEuler,\n\tnormalize,\n\tdenormalize,\n\tMathUtils\n};\n","export const REVISION = '173';\n\nexport const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };\nexport const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };\nexport const CullFaceNone = 0;\nexport const CullFaceBack = 1;\nexport const CullFaceFront = 2;\nexport const CullFaceFrontBack = 3;\nexport const BasicShadowMap = 0;\nexport const PCFShadowMap = 1;\nexport const PCFSoftShadowMap = 2;\nexport const VSMShadowMap = 3;\nexport const FrontSide = 0;\nexport const BackSide = 1;\nexport const DoubleSide = 2;\nexport const NoBlending = 0;\nexport const NormalBlending = 1;\nexport const AdditiveBlending = 2;\nexport const SubtractiveBlending = 3;\nexport const MultiplyBlending = 4;\nexport const CustomBlending = 5;\nexport const AddEquation = 100;\nexport const SubtractEquation = 101;\nexport const ReverseSubtractEquation = 102;\nexport const MinEquation = 103;\nexport const MaxEquation = 104;\nexport const ZeroFactor = 200;\nexport const OneFactor = 201;\nexport const SrcColorFactor = 202;\nexport const OneMinusSrcColorFactor = 203;\nexport const SrcAlphaFactor = 204;\nexport const OneMinusSrcAlphaFactor = 205;\nexport const DstAlphaFactor = 206;\nexport const OneMinusDstAlphaFactor = 207;\nexport const DstColorFactor = 208;\nexport const OneMinusDstColorFactor = 209;\nexport const SrcAlphaSaturateFactor = 210;\nexport const ConstantColorFactor = 211;\nexport const OneMinusConstantColorFactor = 212;\nexport const ConstantAlphaFactor = 213;\nexport const OneMinusConstantAlphaFactor = 214;\nexport const NeverDepth = 0;\nexport const AlwaysDepth = 1;\nexport const LessDepth = 2;\nexport const LessEqualDepth = 3;\nexport const EqualDepth = 4;\nexport const GreaterEqualDepth = 5;\nexport const GreaterDepth = 6;\nexport const NotEqualDepth = 7;\nexport const MultiplyOperation = 0;\nexport const MixOperation = 1;\nexport const AddOperation = 2;\nexport const NoToneMapping = 0;\nexport const LinearToneMapping = 1;\nexport const ReinhardToneMapping = 2;\nexport const CineonToneMapping = 3;\nexport const ACESFilmicToneMapping = 4;\nexport const CustomToneMapping = 5;\nexport const AgXToneMapping = 6;\nexport const NeutralToneMapping = 7;\nexport const AttachedBindMode = 'attached';\nexport const DetachedBindMode = 'detached';\n\nexport const UVMapping = 300;\nexport const CubeReflectionMapping = 301;\nexport const CubeRefractionMapping = 302;\nexport const EquirectangularReflectionMapping = 303;\nexport const EquirectangularRefractionMapping = 304;\nexport const CubeUVReflectionMapping = 306;\nexport const RepeatWrapping = 1000;\nexport const ClampToEdgeWrapping = 1001;\nexport const MirroredRepeatWrapping = 1002;\nexport const NearestFilter = 1003;\nexport const NearestMipmapNearestFilter = 1004;\nexport const NearestMipMapNearestFilter = 1004;\nexport const NearestMipmapLinearFilter = 1005;\nexport const NearestMipMapLinearFilter = 1005;\nexport const LinearFilter = 1006;\nexport const LinearMipmapNearestFilter = 1007;\nexport const LinearMipMapNearestFilter = 1007;\nexport const LinearMipmapLinearFilter = 1008;\nexport const LinearMipMapLinearFilter = 1008;\nexport const UnsignedByteType = 1009;\nexport const ByteType = 1010;\nexport const ShortType = 1011;\nexport const UnsignedShortType = 1012;\nexport const IntType = 1013;\nexport const UnsignedIntType = 1014;\nexport const FloatType = 1015;\nexport const HalfFloatType = 1016;\nexport const UnsignedShort4444Type = 1017;\nexport const UnsignedShort5551Type = 1018;\nexport const UnsignedInt248Type = 1020;\nexport const UnsignedInt5999Type = 35902;\nexport const AlphaFormat = 1021;\nexport const RGBFormat = 1022;\nexport const RGBAFormat = 1023;\nexport const LuminanceFormat = 1024;\nexport const LuminanceAlphaFormat = 1025;\nexport const DepthFormat = 1026;\nexport const DepthStencilFormat = 1027;\nexport const RedFormat = 1028;\nexport const RedIntegerFormat = 1029;\nexport const RGFormat = 1030;\nexport const RGIntegerFormat = 1031;\nexport const RGBIntegerFormat = 1032;\nexport const RGBAIntegerFormat = 1033;\n\nexport const RGB_S3TC_DXT1_Format = 33776;\nexport const RGBA_S3TC_DXT1_Format = 33777;\nexport const RGBA_S3TC_DXT3_Format = 33778;\nexport const RGBA_S3TC_DXT5_Format = 33779;\nexport const RGB_PVRTC_4BPPV1_Format = 35840;\nexport const RGB_PVRTC_2BPPV1_Format = 35841;\nexport const RGBA_PVRTC_4BPPV1_Format = 35842;\nexport const RGBA_PVRTC_2BPPV1_Format = 35843;\nexport const RGB_ETC1_Format = 36196;\nexport const RGB_ETC2_Format = 37492;\nexport const RGBA_ETC2_EAC_Format = 37496;\nexport const RGBA_ASTC_4x4_Format = 37808;\nexport const RGBA_ASTC_5x4_Format = 37809;\nexport const RGBA_ASTC_5x5_Format = 37810;\nexport const RGBA_ASTC_6x5_Format = 37811;\nexport const RGBA_ASTC_6x6_Format = 37812;\nexport const RGBA_ASTC_8x5_Format = 37813;\nexport const RGBA_ASTC_8x6_Format = 37814;\nexport const RGBA_ASTC_8x8_Format = 37815;\nexport const RGBA_ASTC_10x5_Format = 37816;\nexport const RGBA_ASTC_10x6_Format = 37817;\nexport const RGBA_ASTC_10x8_Format = 37818;\nexport const RGBA_ASTC_10x10_Format = 37819;\nexport const RGBA_ASTC_12x10_Format = 37820;\nexport const RGBA_ASTC_12x12_Format = 37821;\nexport const RGBA_BPTC_Format = 36492;\nexport const RGB_BPTC_SIGNED_Format = 36494;\nexport const RGB_BPTC_UNSIGNED_Format = 36495;\nexport const RED_RGTC1_Format = 36283;\nexport const SIGNED_RED_RGTC1_Format = 36284;\nexport const RED_GREEN_RGTC2_Format = 36285;\nexport const SIGNED_RED_GREEN_RGTC2_Format = 36286;\nexport const LoopOnce = 2200;\nexport const LoopRepeat = 2201;\nexport const LoopPingPong = 2202;\nexport const InterpolateDiscrete = 2300;\nexport const InterpolateLinear = 2301;\nexport const InterpolateSmooth = 2302;\nexport const ZeroCurvatureEnding = 2400;\nexport const ZeroSlopeEnding = 2401;\nexport const WrapAroundEnding = 2402;\nexport const NormalAnimationBlendMode = 2500;\nexport const AdditiveAnimationBlendMode = 2501;\nexport const TrianglesDrawMode = 0;\nexport const TriangleStripDrawMode = 1;\nexport const TriangleFanDrawMode = 2;\nexport const BasicDepthPacking = 3200;\nexport const RGBADepthPacking = 3201;\nexport const RGBDepthPacking = 3202;\nexport const RGDepthPacking = 3203;\nexport const TangentSpaceNormalMap = 0;\nexport const ObjectSpaceNormalMap = 1;\n\n// Color space string identifiers, matching CSS Color Module Level 4 and WebGPU names where available.\nexport const NoColorSpace = '';\nexport const SRGBColorSpace = 'srgb';\nexport const LinearSRGBColorSpace = 'srgb-linear';\n\nexport const LinearTransfer = 'linear';\nexport const SRGBTransfer = 'srgb';\n\nexport const ZeroStencilOp = 0;\nexport const KeepStencilOp = 7680;\nexport const ReplaceStencilOp = 7681;\nexport const IncrementStencilOp = 7682;\nexport const DecrementStencilOp = 7683;\nexport const IncrementWrapStencilOp = 34055;\nexport const DecrementWrapStencilOp = 34056;\nexport const InvertStencilOp = 5386;\n\nexport const NeverStencilFunc = 512;\nexport const LessStencilFunc = 513;\nexport const EqualStencilFunc = 514;\nexport const LessEqualStencilFunc = 515;\nexport const GreaterStencilFunc = 516;\nexport const NotEqualStencilFunc = 517;\nexport const GreaterEqualStencilFunc = 518;\nexport const AlwaysStencilFunc = 519;\n\nexport const NeverCompare = 512;\nexport const LessCompare = 513;\nexport const EqualCompare = 514;\nexport const LessEqualCompare = 515;\nexport const GreaterCompare = 516;\nexport const NotEqualCompare = 517;\nexport const GreaterEqualCompare = 518;\nexport const AlwaysCompare = 519;\n\nexport const StaticDrawUsage = 35044;\nexport const DynamicDrawUsage = 35048;\nexport const StreamDrawUsage = 35040;\nexport const StaticReadUsage = 35045;\nexport const DynamicReadUsage = 35049;\nexport const StreamReadUsage = 35041;\nexport const StaticCopyUsage = 35046;\nexport const DynamicCopyUsage = 35050;\nexport const StreamCopyUsage = 35042;\n\nexport const GLSL1 = '100';\nexport const GLSL3 = '300 es';\n\nexport const WebGLCoordinateSystem = 2000;\nexport const WebGPUCoordinateSystem = 2001;\n\nexport const TimestampQuery = {\n\tCOMPUTE: 'compute',\n\tRENDER: 'render'\n};\n","import { clamp } from './MathUtils.js';\n\nclass Quaternion {\n\n\tconstructor( x = 0, y = 0, z = 0, w = 1 ) {\n\n\t\tthis.isQuaternion = true;\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._w = w;\n\n\t}\n\n\tstatic slerpFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t ) {\n\n\t\t// fuzz-free, array-based Quaternion SLERP operation\n\n\t\tlet x0 = src0[ srcOffset0 + 0 ],\n\t\t\ty0 = src0[ srcOffset0 + 1 ],\n\t\t\tz0 = src0[ srcOffset0 + 2 ],\n\t\t\tw0 = src0[ srcOffset0 + 3 ];\n\n\t\tconst x1 = src1[ srcOffset1 + 0 ],\n\t\t\ty1 = src1[ srcOffset1 + 1 ],\n\t\t\tz1 = src1[ srcOffset1 + 2 ],\n\t\t\tw1 = src1[ srcOffset1 + 3 ];\n\n\t\tif ( t === 0 ) {\n\n\t\t\tdst[ dstOffset + 0 ] = x0;\n\t\t\tdst[ dstOffset + 1 ] = y0;\n\t\t\tdst[ dstOffset + 2 ] = z0;\n\t\t\tdst[ dstOffset + 3 ] = w0;\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( t === 1 ) {\n\n\t\t\tdst[ dstOffset + 0 ] = x1;\n\t\t\tdst[ dstOffset + 1 ] = y1;\n\t\t\tdst[ dstOffset + 2 ] = z1;\n\t\t\tdst[ dstOffset + 3 ] = w1;\n\t\t\treturn;\n\n\t\t}\n\n\t\tif ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) {\n\n\t\t\tlet s = 1 - t;\n\t\t\tconst cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1,\n\t\t\t\tdir = ( cos >= 0 ? 1 : - 1 ),\n\t\t\t\tsqrSin = 1 - cos * cos;\n\n\t\t\t// Skip the Slerp for tiny steps to avoid numeric problems:\n\t\t\tif ( sqrSin > Number.EPSILON ) {\n\n\t\t\t\tconst sin = Math.sqrt( sqrSin ),\n\t\t\t\t\tlen = Math.atan2( sin, cos * dir );\n\n\t\t\t\ts = Math.sin( s * len ) / sin;\n\t\t\t\tt = Math.sin( t * len ) / sin;\n\n\t\t\t}\n\n\t\t\tconst tDir = t * dir;\n\n\t\t\tx0 = x0 * s + x1 * tDir;\n\t\t\ty0 = y0 * s + y1 * tDir;\n\t\t\tz0 = z0 * s + z1 * tDir;\n\t\t\tw0 = w0 * s + w1 * tDir;\n\n\t\t\t// Normalize in case we just did a lerp:\n\t\t\tif ( s === 1 - t ) {\n\n\t\t\t\tconst f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 );\n\n\t\t\t\tx0 *= f;\n\t\t\t\ty0 *= f;\n\t\t\t\tz0 *= f;\n\t\t\t\tw0 *= f;\n\n\t\t\t}\n\n\t\t}\n\n\t\tdst[ dstOffset ] = x0;\n\t\tdst[ dstOffset + 1 ] = y0;\n\t\tdst[ dstOffset + 2 ] = z0;\n\t\tdst[ dstOffset + 3 ] = w0;\n\n\t}\n\n\tstatic multiplyQuaternionsFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1 ) {\n\n\t\tconst x0 = src0[ srcOffset0 ];\n\t\tconst y0 = src0[ srcOffset0 + 1 ];\n\t\tconst z0 = src0[ srcOffset0 + 2 ];\n\t\tconst w0 = src0[ srcOffset0 + 3 ];\n\n\t\tconst x1 = src1[ srcOffset1 ];\n\t\tconst y1 = src1[ srcOffset1 + 1 ];\n\t\tconst z1 = src1[ srcOffset1 + 2 ];\n\t\tconst w1 = src1[ srcOffset1 + 3 ];\n\n\t\tdst[ dstOffset ] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1;\n\t\tdst[ dstOffset + 1 ] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1;\n\t\tdst[ dstOffset + 2 ] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1;\n\t\tdst[ dstOffset + 3 ] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1;\n\n\t\treturn dst;\n\n\t}\n\n\tget x() {\n\n\t\treturn this._x;\n\n\t}\n\n\tset x( value ) {\n\n\t\tthis._x = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget y() {\n\n\t\treturn this._y;\n\n\t}\n\n\tset y( value ) {\n\n\t\tthis._y = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget z() {\n\n\t\treturn this._z;\n\n\t}\n\n\tset z( value ) {\n\n\t\tthis._z = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget w() {\n\n\t\treturn this._w;\n\n\t}\n\n\tset w( value ) {\n\n\t\tthis._w = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tset( x, y, z, w ) {\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._w = w;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this._x, this._y, this._z, this._w );\n\n\t}\n\n\tcopy( quaternion ) {\n\n\t\tthis._x = quaternion.x;\n\t\tthis._y = quaternion.y;\n\t\tthis._z = quaternion.z;\n\t\tthis._w = quaternion.w;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromEuler( euler, update = true ) {\n\n\t\tconst x = euler._x, y = euler._y, z = euler._z, order = euler._order;\n\n\t\t// http://www.mathworks.com/matlabcentral/fileexchange/\n\t\t// \t20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/\n\t\t//\tcontent/SpinCalc.m\n\n\t\tconst cos = Math.cos;\n\t\tconst sin = Math.sin;\n\n\t\tconst c1 = cos( x / 2 );\n\t\tconst c2 = cos( y / 2 );\n\t\tconst c3 = cos( z / 2 );\n\n\t\tconst s1 = sin( x / 2 );\n\t\tconst s2 = sin( y / 2 );\n\t\tconst s3 = sin( z / 2 );\n\n\t\tswitch ( order ) {\n\n\t\t\tcase 'XYZ':\n\t\t\t\tthis._x = s1 * c2 * c3 + c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 - s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 + s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 - s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'YXZ':\n\t\t\t\tthis._x = s1 * c2 * c3 + c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 - s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 - s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 + s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZXY':\n\t\t\t\tthis._x = s1 * c2 * c3 - c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 + s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 + s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 - s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZYX':\n\t\t\t\tthis._x = s1 * c2 * c3 - c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 + s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 - s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 + s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'YZX':\n\t\t\t\tthis._x = s1 * c2 * c3 + c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 + s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 - s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 - s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tcase 'XZY':\n\t\t\t\tthis._x = s1 * c2 * c3 - c1 * s2 * s3;\n\t\t\t\tthis._y = c1 * s2 * c3 - s1 * c2 * s3;\n\t\t\t\tthis._z = c1 * c2 * s3 + s1 * s2 * c3;\n\t\t\t\tthis._w = c1 * c2 * c3 + s1 * s2 * s3;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tconsole.warn( 'THREE.Quaternion: .setFromEuler() encountered an unknown order: ' + order );\n\n\t\t}\n\n\t\tif ( update === true ) this._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromAxisAngle( axis, angle ) {\n\n\t\t// http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm\n\n\t\t// assumes axis is normalized\n\n\t\tconst halfAngle = angle / 2, s = Math.sin( halfAngle );\n\n\t\tthis._x = axis.x * s;\n\t\tthis._y = axis.y * s;\n\t\tthis._z = axis.z * s;\n\t\tthis._w = Math.cos( halfAngle );\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromRotationMatrix( m ) {\n\n\t\t// http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm\n\n\t\t// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tconst te = m.elements,\n\n\t\t\tm11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ],\n\t\t\tm21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ],\n\t\t\tm31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ],\n\n\t\t\ttrace = m11 + m22 + m33;\n\n\t\tif ( trace > 0 ) {\n\n\t\t\tconst s = 0.5 / Math.sqrt( trace + 1.0 );\n\n\t\t\tthis._w = 0.25 / s;\n\t\t\tthis._x = ( m32 - m23 ) * s;\n\t\t\tthis._y = ( m13 - m31 ) * s;\n\t\t\tthis._z = ( m21 - m12 ) * s;\n\n\t\t} else if ( m11 > m22 && m11 > m33 ) {\n\n\t\t\tconst s = 2.0 * Math.sqrt( 1.0 + m11 - m22 - m33 );\n\n\t\t\tthis._w = ( m32 - m23 ) / s;\n\t\t\tthis._x = 0.25 * s;\n\t\t\tthis._y = ( m12 + m21 ) / s;\n\t\t\tthis._z = ( m13 + m31 ) / s;\n\n\t\t} else if ( m22 > m33 ) {\n\n\t\t\tconst s = 2.0 * Math.sqrt( 1.0 + m22 - m11 - m33 );\n\n\t\t\tthis._w = ( m13 - m31 ) / s;\n\t\t\tthis._x = ( m12 + m21 ) / s;\n\t\t\tthis._y = 0.25 * s;\n\t\t\tthis._z = ( m23 + m32 ) / s;\n\n\t\t} else {\n\n\t\t\tconst s = 2.0 * Math.sqrt( 1.0 + m33 - m11 - m22 );\n\n\t\t\tthis._w = ( m21 - m12 ) / s;\n\t\t\tthis._x = ( m13 + m31 ) / s;\n\t\t\tthis._y = ( m23 + m32 ) / s;\n\t\t\tthis._z = 0.25 * s;\n\n\t\t}\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromUnitVectors( vFrom, vTo ) {\n\n\t\t// assumes direction vectors vFrom and vTo are normalized\n\n\t\tlet r = vFrom.dot( vTo ) + 1;\n\n\t\tif ( r < Number.EPSILON ) {\n\n\t\t\t// vFrom and vTo point in opposite directions\n\n\t\t\tr = 0;\n\n\t\t\tif ( Math.abs( vFrom.x ) > Math.abs( vFrom.z ) ) {\n\n\t\t\t\tthis._x = - vFrom.y;\n\t\t\t\tthis._y = vFrom.x;\n\t\t\t\tthis._z = 0;\n\t\t\t\tthis._w = r;\n\n\t\t\t} else {\n\n\t\t\t\tthis._x = 0;\n\t\t\t\tthis._y = - vFrom.z;\n\t\t\t\tthis._z = vFrom.y;\n\t\t\t\tthis._w = r;\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// crossVectors( vFrom, vTo ); // inlined to avoid cyclic dependency on Vector3\n\n\t\t\tthis._x = vFrom.y * vTo.z - vFrom.z * vTo.y;\n\t\t\tthis._y = vFrom.z * vTo.x - vFrom.x * vTo.z;\n\t\t\tthis._z = vFrom.x * vTo.y - vFrom.y * vTo.x;\n\t\t\tthis._w = r;\n\n\t\t}\n\n\t\treturn this.normalize();\n\n\t}\n\n\tangleTo( q ) {\n\n\t\treturn 2 * Math.acos( Math.abs( clamp( this.dot( q ), - 1, 1 ) ) );\n\n\t}\n\n\trotateTowards( q, step ) {\n\n\t\tconst angle = this.angleTo( q );\n\n\t\tif ( angle === 0 ) return this;\n\n\t\tconst t = Math.min( 1, step / angle );\n\n\t\tthis.slerp( q, t );\n\n\t\treturn this;\n\n\t}\n\n\tidentity() {\n\n\t\treturn this.set( 0, 0, 0, 1 );\n\n\t}\n\n\tinvert() {\n\n\t\t// quaternion is assumed to have unit length\n\n\t\treturn this.conjugate();\n\n\t}\n\n\tconjugate() {\n\n\t\tthis._x *= - 1;\n\t\tthis._y *= - 1;\n\t\tthis._z *= - 1;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tdot( v ) {\n\n\t\treturn this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w;\n\n\t}\n\n\tlengthSq() {\n\n\t\treturn this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w;\n\n\t}\n\n\tlength() {\n\n\t\treturn Math.sqrt( this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w );\n\n\t}\n\n\tnormalize() {\n\n\t\tlet l = this.length();\n\n\t\tif ( l === 0 ) {\n\n\t\t\tthis._x = 0;\n\t\t\tthis._y = 0;\n\t\t\tthis._z = 0;\n\t\t\tthis._w = 1;\n\n\t\t} else {\n\n\t\t\tl = 1 / l;\n\n\t\t\tthis._x = this._x * l;\n\t\t\tthis._y = this._y * l;\n\t\t\tthis._z = this._z * l;\n\t\t\tthis._w = this._w * l;\n\n\t\t}\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( q ) {\n\n\t\treturn this.multiplyQuaternions( this, q );\n\n\t}\n\n\tpremultiply( q ) {\n\n\t\treturn this.multiplyQuaternions( q, this );\n\n\t}\n\n\tmultiplyQuaternions( a, b ) {\n\n\t\t// from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm\n\n\t\tconst qax = a._x, qay = a._y, qaz = a._z, qaw = a._w;\n\t\tconst qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w;\n\n\t\tthis._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby;\n\t\tthis._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz;\n\t\tthis._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx;\n\t\tthis._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tslerp( qb, t ) {\n\n\t\tif ( t === 0 ) return this;\n\t\tif ( t === 1 ) return this.copy( qb );\n\n\t\tconst x = this._x, y = this._y, z = this._z, w = this._w;\n\n\t\t// http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/\n\n\t\tlet cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z;\n\n\t\tif ( cosHalfTheta < 0 ) {\n\n\t\t\tthis._w = - qb._w;\n\t\t\tthis._x = - qb._x;\n\t\t\tthis._y = - qb._y;\n\t\t\tthis._z = - qb._z;\n\n\t\t\tcosHalfTheta = - cosHalfTheta;\n\n\t\t} else {\n\n\t\t\tthis.copy( qb );\n\n\t\t}\n\n\t\tif ( cosHalfTheta >= 1.0 ) {\n\n\t\t\tthis._w = w;\n\t\t\tthis._x = x;\n\t\t\tthis._y = y;\n\t\t\tthis._z = z;\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tconst sqrSinHalfTheta = 1.0 - cosHalfTheta * cosHalfTheta;\n\n\t\tif ( sqrSinHalfTheta <= Number.EPSILON ) {\n\n\t\t\tconst s = 1 - t;\n\t\t\tthis._w = s * w + t * this._w;\n\t\t\tthis._x = s * x + t * this._x;\n\t\t\tthis._y = s * y + t * this._y;\n\t\t\tthis._z = s * z + t * this._z;\n\n\t\t\tthis.normalize(); // normalize calls _onChangeCallback()\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tconst sinHalfTheta = Math.sqrt( sqrSinHalfTheta );\n\t\tconst halfTheta = Math.atan2( sinHalfTheta, cosHalfTheta );\n\t\tconst ratioA = Math.sin( ( 1 - t ) * halfTheta ) / sinHalfTheta,\n\t\t\tratioB = Math.sin( t * halfTheta ) / sinHalfTheta;\n\n\t\tthis._w = ( w * ratioA + this._w * ratioB );\n\t\tthis._x = ( x * ratioA + this._x * ratioB );\n\t\tthis._y = ( y * ratioA + this._y * ratioB );\n\t\tthis._z = ( z * ratioA + this._z * ratioB );\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tslerpQuaternions( qa, qb, t ) {\n\n\t\treturn this.copy( qa ).slerp( qb, t );\n\n\t}\n\n\trandom() {\n\n\t\t// sets this quaternion to a uniform random unit quaternnion\n\n\t\t// Ken Shoemake\n\t\t// Uniform random rotations\n\t\t// D. Kirk, editor, Graphics Gems III, pages 124-132. Academic Press, New York, 1992.\n\n\t\tconst theta1 = 2 * Math.PI * Math.random();\n\t\tconst theta2 = 2 * Math.PI * Math.random();\n\n\t\tconst x0 = Math.random();\n\t\tconst r1 = Math.sqrt( 1 - x0 );\n\t\tconst r2 = Math.sqrt( x0 );\n\n\t\treturn this.set(\n\t\t\tr1 * Math.sin( theta1 ),\n\t\t\tr1 * Math.cos( theta1 ),\n\t\t\tr2 * Math.sin( theta2 ),\n\t\t\tr2 * Math.cos( theta2 ),\n\t\t);\n\n\t}\n\n\tequals( quaternion ) {\n\n\t\treturn ( quaternion._x === this._x ) && ( quaternion._y === this._y ) && ( quaternion._z === this._z ) && ( quaternion._w === this._w );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis._x = array[ offset ];\n\t\tthis._y = array[ offset + 1 ];\n\t\tthis._z = array[ offset + 2 ];\n\t\tthis._w = array[ offset + 3 ];\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this._x;\n\t\tarray[ offset + 1 ] = this._y;\n\t\tarray[ offset + 2 ] = this._z;\n\t\tarray[ offset + 3 ] = this._w;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis._x = attribute.getX( index );\n\t\tthis._y = attribute.getY( index );\n\t\tthis._z = attribute.getZ( index );\n\t\tthis._w = attribute.getW( index );\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\ttoJSON() {\n\n\t\treturn this.toArray();\n\n\t}\n\n\t_onChange( callback ) {\n\n\t\tthis._onChangeCallback = callback;\n\n\t\treturn this;\n\n\t}\n\n\t_onChangeCallback() {}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this._x;\n\t\tyield this._y;\n\t\tyield this._z;\n\t\tyield this._w;\n\n\t}\n\n}\n\nexport { Quaternion };\n","import { clamp } from './MathUtils.js';\nimport { Quaternion } from './Quaternion.js';\n\nclass Vector3 {\n\n\tconstructor( x = 0, y = 0, z = 0 ) {\n\n\t\tVector3.prototype.isVector3 = true;\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.z = z;\n\n\t}\n\n\tset( x, y, z ) {\n\n\t\tif ( z === undefined ) z = this.z; // sprite.scale.set(x,y)\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\t\tthis.z = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetScalar( scalar ) {\n\n\t\tthis.x = scalar;\n\t\tthis.y = scalar;\n\t\tthis.z = scalar;\n\n\t\treturn this;\n\n\t}\n\n\tsetX( x ) {\n\n\t\tthis.x = x;\n\n\t\treturn this;\n\n\t}\n\n\tsetY( y ) {\n\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetZ( z ) {\n\n\t\tthis.z = z;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponent( index, value ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: this.x = value; break;\n\t\t\tcase 1: this.y = value; break;\n\t\t\tcase 2: this.z = value; break;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetComponent( index ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: return this.x;\n\t\t\tcase 1: return this.y;\n\t\t\tcase 2: return this.z;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.x, this.y, this.z );\n\n\t}\n\n\tcopy( v ) {\n\n\t\tthis.x = v.x;\n\t\tthis.y = v.y;\n\t\tthis.z = v.z;\n\n\t\treturn this;\n\n\t}\n\n\tadd( v ) {\n\n\t\tthis.x += v.x;\n\t\tthis.y += v.y;\n\t\tthis.z += v.z;\n\n\t\treturn this;\n\n\t}\n\n\taddScalar( s ) {\n\n\t\tthis.x += s;\n\t\tthis.y += s;\n\t\tthis.z += s;\n\n\t\treturn this;\n\n\t}\n\n\taddVectors( a, b ) {\n\n\t\tthis.x = a.x + b.x;\n\t\tthis.y = a.y + b.y;\n\t\tthis.z = a.z + b.z;\n\n\t\treturn this;\n\n\t}\n\n\taddScaledVector( v, s ) {\n\n\t\tthis.x += v.x * s;\n\t\tthis.y += v.y * s;\n\t\tthis.z += v.z * s;\n\n\t\treturn this;\n\n\t}\n\n\tsub( v ) {\n\n\t\tthis.x -= v.x;\n\t\tthis.y -= v.y;\n\t\tthis.z -= v.z;\n\n\t\treturn this;\n\n\t}\n\n\tsubScalar( s ) {\n\n\t\tthis.x -= s;\n\t\tthis.y -= s;\n\t\tthis.z -= s;\n\n\t\treturn this;\n\n\t}\n\n\tsubVectors( a, b ) {\n\n\t\tthis.x = a.x - b.x;\n\t\tthis.y = a.y - b.y;\n\t\tthis.z = a.z - b.z;\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( v ) {\n\n\t\tthis.x *= v.x;\n\t\tthis.y *= v.y;\n\t\tthis.z *= v.z;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( scalar ) {\n\n\t\tthis.x *= scalar;\n\t\tthis.y *= scalar;\n\t\tthis.z *= scalar;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyVectors( a, b ) {\n\n\t\tthis.x = a.x * b.x;\n\t\tthis.y = a.y * b.y;\n\t\tthis.z = a.z * b.z;\n\n\t\treturn this;\n\n\t}\n\n\tapplyEuler( euler ) {\n\n\t\treturn this.applyQuaternion( _quaternion.setFromEuler( euler ) );\n\n\t}\n\n\tapplyAxisAngle( axis, angle ) {\n\n\t\treturn this.applyQuaternion( _quaternion.setFromAxisAngle( axis, angle ) );\n\n\t}\n\n\tapplyMatrix3( m ) {\n\n\t\tconst x = this.x, y = this.y, z = this.z;\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ] * z;\n\t\tthis.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ] * z;\n\t\tthis.z = e[ 2 ] * x + e[ 5 ] * y + e[ 8 ] * z;\n\n\t\treturn this;\n\n\t}\n\n\tapplyNormalMatrix( m ) {\n\n\t\treturn this.applyMatrix3( m ).normalize();\n\n\t}\n\n\tapplyMatrix4( m ) {\n\n\t\tconst x = this.x, y = this.y, z = this.z;\n\t\tconst e = m.elements;\n\n\t\tconst w = 1 / ( e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] );\n\n\t\tthis.x = ( e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] ) * w;\n\t\tthis.y = ( e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] ) * w;\n\t\tthis.z = ( e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] ) * w;\n\n\t\treturn this;\n\n\t}\n\n\tapplyQuaternion( q ) {\n\n\t\t// quaternion q is assumed to have unit length\n\n\t\tconst vx = this.x, vy = this.y, vz = this.z;\n\t\tconst qx = q.x, qy = q.y, qz = q.z, qw = q.w;\n\n\t\t// t = 2 * cross( q.xyz, v );\n\t\tconst tx = 2 * ( qy * vz - qz * vy );\n\t\tconst ty = 2 * ( qz * vx - qx * vz );\n\t\tconst tz = 2 * ( qx * vy - qy * vx );\n\n\t\t// v + q.w * t + cross( q.xyz, t );\n\t\tthis.x = vx + qw * tx + qy * tz - qz * ty;\n\t\tthis.y = vy + qw * ty + qz * tx - qx * tz;\n\t\tthis.z = vz + qw * tz + qx * ty - qy * tx;\n\n\t\treturn this;\n\n\t}\n\n\tproject( camera ) {\n\n\t\treturn this.applyMatrix4( camera.matrixWorldInverse ).applyMatrix4( camera.projectionMatrix );\n\n\t}\n\n\tunproject( camera ) {\n\n\t\treturn this.applyMatrix4( camera.projectionMatrixInverse ).applyMatrix4( camera.matrixWorld );\n\n\t}\n\n\ttransformDirection( m ) {\n\n\t\t// input: THREE.Matrix4 affine matrix\n\t\t// vector interpreted as a direction\n\n\t\tconst x = this.x, y = this.y, z = this.z;\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z;\n\t\tthis.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z;\n\t\tthis.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z;\n\n\t\treturn this.normalize();\n\n\t}\n\n\tdivide( v ) {\n\n\t\tthis.x /= v.x;\n\t\tthis.y /= v.y;\n\t\tthis.z /= v.z;\n\n\t\treturn this;\n\n\t}\n\n\tdivideScalar( scalar ) {\n\n\t\treturn this.multiplyScalar( 1 / scalar );\n\n\t}\n\n\tmin( v ) {\n\n\t\tthis.x = Math.min( this.x, v.x );\n\t\tthis.y = Math.min( this.y, v.y );\n\t\tthis.z = Math.min( this.z, v.z );\n\n\t\treturn this;\n\n\t}\n\n\tmax( v ) {\n\n\t\tthis.x = Math.max( this.x, v.x );\n\t\tthis.y = Math.max( this.y, v.y );\n\t\tthis.z = Math.max( this.z, v.z );\n\n\t\treturn this;\n\n\t}\n\n\tclamp( min, max ) {\n\n\t\t// assumes min < max, componentwise\n\n\t\tthis.x = clamp( this.x, min.x, max.x );\n\t\tthis.y = clamp( this.y, min.y, max.y );\n\t\tthis.z = clamp( this.z, min.z, max.z );\n\n\t\treturn this;\n\n\t}\n\n\tclampScalar( minVal, maxVal ) {\n\n\t\tthis.x = clamp( this.x, minVal, maxVal );\n\t\tthis.y = clamp( this.y, minVal, maxVal );\n\t\tthis.z = clamp( this.z, minVal, maxVal );\n\n\t\treturn this;\n\n\t}\n\n\tclampLength( min, max ) {\n\n\t\tconst length = this.length();\n\n\t\treturn this.divideScalar( length || 1 ).multiplyScalar( clamp( length, min, max ) );\n\n\t}\n\n\tfloor() {\n\n\t\tthis.x = Math.floor( this.x );\n\t\tthis.y = Math.floor( this.y );\n\t\tthis.z = Math.floor( this.z );\n\n\t\treturn this;\n\n\t}\n\n\tceil() {\n\n\t\tthis.x = Math.ceil( this.x );\n\t\tthis.y = Math.ceil( this.y );\n\t\tthis.z = Math.ceil( this.z );\n\n\t\treturn this;\n\n\t}\n\n\tround() {\n\n\t\tthis.x = Math.round( this.x );\n\t\tthis.y = Math.round( this.y );\n\t\tthis.z = Math.round( this.z );\n\n\t\treturn this;\n\n\t}\n\n\troundToZero() {\n\n\t\tthis.x = Math.trunc( this.x );\n\t\tthis.y = Math.trunc( this.y );\n\t\tthis.z = Math.trunc( this.z );\n\n\t\treturn this;\n\n\t}\n\n\tnegate() {\n\n\t\tthis.x = - this.x;\n\t\tthis.y = - this.y;\n\t\tthis.z = - this.z;\n\n\t\treturn this;\n\n\t}\n\n\tdot( v ) {\n\n\t\treturn this.x * v.x + this.y * v.y + this.z * v.z;\n\n\t}\n\n\t// TODO lengthSquared?\n\n\tlengthSq() {\n\n\t\treturn this.x * this.x + this.y * this.y + this.z * this.z;\n\n\t}\n\n\tlength() {\n\n\t\treturn Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z );\n\n\t}\n\n\tmanhattanLength() {\n\n\t\treturn Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z );\n\n\t}\n\n\tnormalize() {\n\n\t\treturn this.divideScalar( this.length() || 1 );\n\n\t}\n\n\tsetLength( length ) {\n\n\t\treturn this.normalize().multiplyScalar( length );\n\n\t}\n\n\tlerp( v, alpha ) {\n\n\t\tthis.x += ( v.x - this.x ) * alpha;\n\t\tthis.y += ( v.y - this.y ) * alpha;\n\t\tthis.z += ( v.z - this.z ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpVectors( v1, v2, alpha ) {\n\n\t\tthis.x = v1.x + ( v2.x - v1.x ) * alpha;\n\t\tthis.y = v1.y + ( v2.y - v1.y ) * alpha;\n\t\tthis.z = v1.z + ( v2.z - v1.z ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tcross( v ) {\n\n\t\treturn this.crossVectors( this, v );\n\n\t}\n\n\tcrossVectors( a, b ) {\n\n\t\tconst ax = a.x, ay = a.y, az = a.z;\n\t\tconst bx = b.x, by = b.y, bz = b.z;\n\n\t\tthis.x = ay * bz - az * by;\n\t\tthis.y = az * bx - ax * bz;\n\t\tthis.z = ax * by - ay * bx;\n\n\t\treturn this;\n\n\t}\n\n\tprojectOnVector( v ) {\n\n\t\tconst denominator = v.lengthSq();\n\n\t\tif ( denominator === 0 ) return this.set( 0, 0, 0 );\n\n\t\tconst scalar = v.dot( this ) / denominator;\n\n\t\treturn this.copy( v ).multiplyScalar( scalar );\n\n\t}\n\n\tprojectOnPlane( planeNormal ) {\n\n\t\t_vector.copy( this ).projectOnVector( planeNormal );\n\n\t\treturn this.sub( _vector );\n\n\t}\n\n\treflect( normal ) {\n\n\t\t// reflect incident vector off plane orthogonal to normal\n\t\t// normal is assumed to have unit length\n\n\t\treturn this.sub( _vector.copy( normal ).multiplyScalar( 2 * this.dot( normal ) ) );\n\n\t}\n\n\tangleTo( v ) {\n\n\t\tconst denominator = Math.sqrt( this.lengthSq() * v.lengthSq() );\n\n\t\tif ( denominator === 0 ) return Math.PI / 2;\n\n\t\tconst theta = this.dot( v ) / denominator;\n\n\t\t// clamp, to handle numerical problems\n\n\t\treturn Math.acos( clamp( theta, - 1, 1 ) );\n\n\t}\n\n\tdistanceTo( v ) {\n\n\t\treturn Math.sqrt( this.distanceToSquared( v ) );\n\n\t}\n\n\tdistanceToSquared( v ) {\n\n\t\tconst dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z;\n\n\t\treturn dx * dx + dy * dy + dz * dz;\n\n\t}\n\n\tmanhattanDistanceTo( v ) {\n\n\t\treturn Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ) + Math.abs( this.z - v.z );\n\n\t}\n\n\tsetFromSpherical( s ) {\n\n\t\treturn this.setFromSphericalCoords( s.radius, s.phi, s.theta );\n\n\t}\n\n\tsetFromSphericalCoords( radius, phi, theta ) {\n\n\t\tconst sinPhiRadius = Math.sin( phi ) * radius;\n\n\t\tthis.x = sinPhiRadius * Math.sin( theta );\n\t\tthis.y = Math.cos( phi ) * radius;\n\t\tthis.z = sinPhiRadius * Math.cos( theta );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromCylindrical( c ) {\n\n\t\treturn this.setFromCylindricalCoords( c.radius, c.theta, c.y );\n\n\t}\n\n\tsetFromCylindricalCoords( radius, theta, y ) {\n\n\t\tthis.x = radius * Math.sin( theta );\n\t\tthis.y = y;\n\t\tthis.z = radius * Math.cos( theta );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrixPosition( m ) {\n\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 12 ];\n\t\tthis.y = e[ 13 ];\n\t\tthis.z = e[ 14 ];\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrixScale( m ) {\n\n\t\tconst sx = this.setFromMatrixColumn( m, 0 ).length();\n\t\tconst sy = this.setFromMatrixColumn( m, 1 ).length();\n\t\tconst sz = this.setFromMatrixColumn( m, 2 ).length();\n\n\t\tthis.x = sx;\n\t\tthis.y = sy;\n\t\tthis.z = sz;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrixColumn( m, index ) {\n\n\t\treturn this.fromArray( m.elements, index * 4 );\n\n\t}\n\n\tsetFromMatrix3Column( m, index ) {\n\n\t\treturn this.fromArray( m.elements, index * 3 );\n\n\t}\n\n\tsetFromEuler( e ) {\n\n\t\tthis.x = e._x;\n\t\tthis.y = e._y;\n\t\tthis.z = e._z;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromColor( c ) {\n\n\t\tthis.x = c.r;\n\t\tthis.y = c.g;\n\t\tthis.z = c.b;\n\n\t\treturn this;\n\n\t}\n\n\tequals( v ) {\n\n\t\treturn ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis.x = array[ offset ];\n\t\tthis.y = array[ offset + 1 ];\n\t\tthis.z = array[ offset + 2 ];\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this.x;\n\t\tarray[ offset + 1 ] = this.y;\n\t\tarray[ offset + 2 ] = this.z;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis.x = attribute.getX( index );\n\t\tthis.y = attribute.getY( index );\n\t\tthis.z = attribute.getZ( index );\n\n\t\treturn this;\n\n\t}\n\n\trandom() {\n\n\t\tthis.x = Math.random();\n\t\tthis.y = Math.random();\n\t\tthis.z = Math.random();\n\n\t\treturn this;\n\n\t}\n\n\trandomDirection() {\n\n\t\t// https://mathworld.wolfram.com/SpherePointPicking.html\n\n\t\tconst theta = Math.random() * Math.PI * 2;\n\t\tconst u = Math.random() * 2 - 1;\n\t\tconst c = Math.sqrt( 1 - u * u );\n\n\t\tthis.x = c * Math.cos( theta );\n\t\tthis.y = u;\n\t\tthis.z = c * Math.sin( theta );\n\n\t\treturn this;\n\n\t}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this.x;\n\t\tyield this.y;\n\t\tyield this.z;\n\n\t}\n\n}\n\nconst _vector = /*@__PURE__*/ new Vector3();\nconst _quaternion = /*@__PURE__*/ new Quaternion();\n\nexport { Vector3 };\n","import { WebGLCoordinateSystem, WebGPUCoordinateSystem } from '../constants.js';\nimport { Vector3 } from './Vector3.js';\n\nclass Matrix4 {\n\n\tconstructor( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) {\n\n\t\tMatrix4.prototype.isMatrix4 = true;\n\n\t\tthis.elements = [\n\n\t\t\t1, 0, 0, 0,\n\t\t\t0, 1, 0, 0,\n\t\t\t0, 0, 1, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t];\n\n\t\tif ( n11 !== undefined ) {\n\n\t\t\tthis.set( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 );\n\n\t\t}\n\n\t}\n\n\tset( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] = n11; te[ 4 ] = n12; te[ 8 ] = n13; te[ 12 ] = n14;\n\t\tte[ 1 ] = n21; te[ 5 ] = n22; te[ 9 ] = n23; te[ 13 ] = n24;\n\t\tte[ 2 ] = n31; te[ 6 ] = n32; te[ 10 ] = n33; te[ 14 ] = n34;\n\t\tte[ 3 ] = n41; te[ 7 ] = n42; te[ 11 ] = n43; te[ 15 ] = n44;\n\n\t\treturn this;\n\n\t}\n\n\tidentity() {\n\n\t\tthis.set(\n\n\t\t\t1, 0, 0, 0,\n\t\t\t0, 1, 0, 0,\n\t\t\t0, 0, 1, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new Matrix4().fromArray( this.elements );\n\n\t}\n\n\tcopy( m ) {\n\n\t\tconst te = this.elements;\n\t\tconst me = m.elements;\n\n\t\tte[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; te[ 3 ] = me[ 3 ];\n\t\tte[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ];\n\t\tte[ 8 ] = me[ 8 ]; te[ 9 ] = me[ 9 ]; te[ 10 ] = me[ 10 ]; te[ 11 ] = me[ 11 ];\n\t\tte[ 12 ] = me[ 12 ]; te[ 13 ] = me[ 13 ]; te[ 14 ] = me[ 14 ]; te[ 15 ] = me[ 15 ];\n\n\t\treturn this;\n\n\t}\n\n\tcopyPosition( m ) {\n\n\t\tconst te = this.elements, me = m.elements;\n\n\t\tte[ 12 ] = me[ 12 ];\n\t\tte[ 13 ] = me[ 13 ];\n\t\tte[ 14 ] = me[ 14 ];\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrix3( m ) {\n\n\t\tconst me = m.elements;\n\n\t\tthis.set(\n\n\t\t\tme[ 0 ], me[ 3 ], me[ 6 ], 0,\n\t\t\tme[ 1 ], me[ 4 ], me[ 7 ], 0,\n\t\t\tme[ 2 ], me[ 5 ], me[ 8 ], 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\textractBasis( xAxis, yAxis, zAxis ) {\n\n\t\txAxis.setFromMatrixColumn( this, 0 );\n\t\tyAxis.setFromMatrixColumn( this, 1 );\n\t\tzAxis.setFromMatrixColumn( this, 2 );\n\n\t\treturn this;\n\n\t}\n\n\tmakeBasis( xAxis, yAxis, zAxis ) {\n\n\t\tthis.set(\n\t\t\txAxis.x, yAxis.x, zAxis.x, 0,\n\t\t\txAxis.y, yAxis.y, zAxis.y, 0,\n\t\t\txAxis.z, yAxis.z, zAxis.z, 0,\n\t\t\t0, 0, 0, 1\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\textractRotation( m ) {\n\n\t\t// this method does not support reflection matrices\n\n\t\tconst te = this.elements;\n\t\tconst me = m.elements;\n\n\t\tconst scaleX = 1 / _v1.setFromMatrixColumn( m, 0 ).length();\n\t\tconst scaleY = 1 / _v1.setFromMatrixColumn( m, 1 ).length();\n\t\tconst scaleZ = 1 / _v1.setFromMatrixColumn( m, 2 ).length();\n\n\t\tte[ 0 ] = me[ 0 ] * scaleX;\n\t\tte[ 1 ] = me[ 1 ] * scaleX;\n\t\tte[ 2 ] = me[ 2 ] * scaleX;\n\t\tte[ 3 ] = 0;\n\n\t\tte[ 4 ] = me[ 4 ] * scaleY;\n\t\tte[ 5 ] = me[ 5 ] * scaleY;\n\t\tte[ 6 ] = me[ 6 ] * scaleY;\n\t\tte[ 7 ] = 0;\n\n\t\tte[ 8 ] = me[ 8 ] * scaleZ;\n\t\tte[ 9 ] = me[ 9 ] * scaleZ;\n\t\tte[ 10 ] = me[ 10 ] * scaleZ;\n\t\tte[ 11 ] = 0;\n\n\t\tte[ 12 ] = 0;\n\t\tte[ 13 ] = 0;\n\t\tte[ 14 ] = 0;\n\t\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationFromEuler( euler ) {\n\n\t\tconst te = this.elements;\n\n\t\tconst x = euler.x, y = euler.y, z = euler.z;\n\t\tconst a = Math.cos( x ), b = Math.sin( x );\n\t\tconst c = Math.cos( y ), d = Math.sin( y );\n\t\tconst e = Math.cos( z ), f = Math.sin( z );\n\n\t\tif ( euler.order === 'XYZ' ) {\n\n\t\t\tconst ae = a * e, af = a * f, be = b * e, bf = b * f;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = - c * f;\n\t\t\tte[ 8 ] = d;\n\n\t\t\tte[ 1 ] = af + be * d;\n\t\t\tte[ 5 ] = ae - bf * d;\n\t\t\tte[ 9 ] = - b * c;\n\n\t\t\tte[ 2 ] = bf - ae * d;\n\t\t\tte[ 6 ] = be + af * d;\n\t\t\tte[ 10 ] = a * c;\n\n\t\t} else if ( euler.order === 'YXZ' ) {\n\n\t\t\tconst ce = c * e, cf = c * f, de = d * e, df = d * f;\n\n\t\t\tte[ 0 ] = ce + df * b;\n\t\t\tte[ 4 ] = de * b - cf;\n\t\t\tte[ 8 ] = a * d;\n\n\t\t\tte[ 1 ] = a * f;\n\t\t\tte[ 5 ] = a * e;\n\t\t\tte[ 9 ] = - b;\n\n\t\t\tte[ 2 ] = cf * b - de;\n\t\t\tte[ 6 ] = df + ce * b;\n\t\t\tte[ 10 ] = a * c;\n\n\t\t} else if ( euler.order === 'ZXY' ) {\n\n\t\t\tconst ce = c * e, cf = c * f, de = d * e, df = d * f;\n\n\t\t\tte[ 0 ] = ce - df * b;\n\t\t\tte[ 4 ] = - a * f;\n\t\t\tte[ 8 ] = de + cf * b;\n\n\t\t\tte[ 1 ] = cf + de * b;\n\t\t\tte[ 5 ] = a * e;\n\t\t\tte[ 9 ] = df - ce * b;\n\n\t\t\tte[ 2 ] = - a * d;\n\t\t\tte[ 6 ] = b;\n\t\t\tte[ 10 ] = a * c;\n\n\t\t} else if ( euler.order === 'ZYX' ) {\n\n\t\t\tconst ae = a * e, af = a * f, be = b * e, bf = b * f;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = be * d - af;\n\t\t\tte[ 8 ] = ae * d + bf;\n\n\t\t\tte[ 1 ] = c * f;\n\t\t\tte[ 5 ] = bf * d + ae;\n\t\t\tte[ 9 ] = af * d - be;\n\n\t\t\tte[ 2 ] = - d;\n\t\t\tte[ 6 ] = b * c;\n\t\t\tte[ 10 ] = a * c;\n\n\t\t} else if ( euler.order === 'YZX' ) {\n\n\t\t\tconst ac = a * c, ad = a * d, bc = b * c, bd = b * d;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = bd - ac * f;\n\t\t\tte[ 8 ] = bc * f + ad;\n\n\t\t\tte[ 1 ] = f;\n\t\t\tte[ 5 ] = a * e;\n\t\t\tte[ 9 ] = - b * e;\n\n\t\t\tte[ 2 ] = - d * e;\n\t\t\tte[ 6 ] = ad * f + bc;\n\t\t\tte[ 10 ] = ac - bd * f;\n\n\t\t} else if ( euler.order === 'XZY' ) {\n\n\t\t\tconst ac = a * c, ad = a * d, bc = b * c, bd = b * d;\n\n\t\t\tte[ 0 ] = c * e;\n\t\t\tte[ 4 ] = - f;\n\t\t\tte[ 8 ] = d * e;\n\n\t\t\tte[ 1 ] = ac * f + bd;\n\t\t\tte[ 5 ] = a * e;\n\t\t\tte[ 9 ] = ad * f - bc;\n\n\t\t\tte[ 2 ] = bc * f - ad;\n\t\t\tte[ 6 ] = b * e;\n\t\t\tte[ 10 ] = bd * f + ac;\n\n\t\t}\n\n\t\t// bottom row\n\t\tte[ 3 ] = 0;\n\t\tte[ 7 ] = 0;\n\t\tte[ 11 ] = 0;\n\n\t\t// last column\n\t\tte[ 12 ] = 0;\n\t\tte[ 13 ] = 0;\n\t\tte[ 14 ] = 0;\n\t\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationFromQuaternion( q ) {\n\n\t\treturn this.compose( _zero, q, _one );\n\n\t}\n\n\tlookAt( eye, target, up ) {\n\n\t\tconst te = this.elements;\n\n\t\t_z.subVectors( eye, target );\n\n\t\tif ( _z.lengthSq() === 0 ) {\n\n\t\t\t// eye and target are in the same position\n\n\t\t\t_z.z = 1;\n\n\t\t}\n\n\t\t_z.normalize();\n\t\t_x.crossVectors( up, _z );\n\n\t\tif ( _x.lengthSq() === 0 ) {\n\n\t\t\t// up and z are parallel\n\n\t\t\tif ( Math.abs( up.z ) === 1 ) {\n\n\t\t\t\t_z.x += 0.0001;\n\n\t\t\t} else {\n\n\t\t\t\t_z.z += 0.0001;\n\n\t\t\t}\n\n\t\t\t_z.normalize();\n\t\t\t_x.crossVectors( up, _z );\n\n\t\t}\n\n\t\t_x.normalize();\n\t\t_y.crossVectors( _z, _x );\n\n\t\tte[ 0 ] = _x.x; te[ 4 ] = _y.x; te[ 8 ] = _z.x;\n\t\tte[ 1 ] = _x.y; te[ 5 ] = _y.y; te[ 9 ] = _z.y;\n\t\tte[ 2 ] = _x.z; te[ 6 ] = _y.z; te[ 10 ] = _z.z;\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( m ) {\n\n\t\treturn this.multiplyMatrices( this, m );\n\n\t}\n\n\tpremultiply( m ) {\n\n\t\treturn this.multiplyMatrices( m, this );\n\n\t}\n\n\tmultiplyMatrices( a, b ) {\n\n\t\tconst ae = a.elements;\n\t\tconst be = b.elements;\n\t\tconst te = this.elements;\n\n\t\tconst a11 = ae[ 0 ], a12 = ae[ 4 ], a13 = ae[ 8 ], a14 = ae[ 12 ];\n\t\tconst a21 = ae[ 1 ], a22 = ae[ 5 ], a23 = ae[ 9 ], a24 = ae[ 13 ];\n\t\tconst a31 = ae[ 2 ], a32 = ae[ 6 ], a33 = ae[ 10 ], a34 = ae[ 14 ];\n\t\tconst a41 = ae[ 3 ], a42 = ae[ 7 ], a43 = ae[ 11 ], a44 = ae[ 15 ];\n\n\t\tconst b11 = be[ 0 ], b12 = be[ 4 ], b13 = be[ 8 ], b14 = be[ 12 ];\n\t\tconst b21 = be[ 1 ], b22 = be[ 5 ], b23 = be[ 9 ], b24 = be[ 13 ];\n\t\tconst b31 = be[ 2 ], b32 = be[ 6 ], b33 = be[ 10 ], b34 = be[ 14 ];\n\t\tconst b41 = be[ 3 ], b42 = be[ 7 ], b43 = be[ 11 ], b44 = be[ 15 ];\n\n\t\tte[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;\n\t\tte[ 4 ] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;\n\t\tte[ 8 ] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;\n\t\tte[ 12 ] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;\n\n\t\tte[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;\n\t\tte[ 5 ] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;\n\t\tte[ 9 ] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;\n\t\tte[ 13 ] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;\n\n\t\tte[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;\n\t\tte[ 6 ] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;\n\t\tte[ 10 ] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;\n\t\tte[ 14 ] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;\n\n\t\tte[ 3 ] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;\n\t\tte[ 7 ] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;\n\t\tte[ 11 ] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;\n\t\tte[ 15 ] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( s ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] *= s; te[ 4 ] *= s; te[ 8 ] *= s; te[ 12 ] *= s;\n\t\tte[ 1 ] *= s; te[ 5 ] *= s; te[ 9 ] *= s; te[ 13 ] *= s;\n\t\tte[ 2 ] *= s; te[ 6 ] *= s; te[ 10 ] *= s; te[ 14 ] *= s;\n\t\tte[ 3 ] *= s; te[ 7 ] *= s; te[ 11 ] *= s; te[ 15 ] *= s;\n\n\t\treturn this;\n\n\t}\n\n\tdeterminant() {\n\n\t\tconst te = this.elements;\n\n\t\tconst n11 = te[ 0 ], n12 = te[ 4 ], n13 = te[ 8 ], n14 = te[ 12 ];\n\t\tconst n21 = te[ 1 ], n22 = te[ 5 ], n23 = te[ 9 ], n24 = te[ 13 ];\n\t\tconst n31 = te[ 2 ], n32 = te[ 6 ], n33 = te[ 10 ], n34 = te[ 14 ];\n\t\tconst n41 = te[ 3 ], n42 = te[ 7 ], n43 = te[ 11 ], n44 = te[ 15 ];\n\n\t\t//TODO: make this more efficient\n\t\t//( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm )\n\n\t\treturn (\n\t\t\tn41 * (\n\t\t\t\t+ n14 * n23 * n32\n\t\t\t\t - n13 * n24 * n32\n\t\t\t\t - n14 * n22 * n33\n\t\t\t\t + n12 * n24 * n33\n\t\t\t\t + n13 * n22 * n34\n\t\t\t\t - n12 * n23 * n34\n\t\t\t) +\n\t\t\tn42 * (\n\t\t\t\t+ n11 * n23 * n34\n\t\t\t\t - n11 * n24 * n33\n\t\t\t\t + n14 * n21 * n33\n\t\t\t\t - n13 * n21 * n34\n\t\t\t\t + n13 * n24 * n31\n\t\t\t\t - n14 * n23 * n31\n\t\t\t) +\n\t\t\tn43 * (\n\t\t\t\t+ n11 * n24 * n32\n\t\t\t\t - n11 * n22 * n34\n\t\t\t\t - n14 * n21 * n32\n\t\t\t\t + n12 * n21 * n34\n\t\t\t\t + n14 * n22 * n31\n\t\t\t\t - n12 * n24 * n31\n\t\t\t) +\n\t\t\tn44 * (\n\t\t\t\t- n13 * n22 * n31\n\t\t\t\t - n11 * n23 * n32\n\t\t\t\t + n11 * n22 * n33\n\t\t\t\t + n13 * n21 * n32\n\t\t\t\t - n12 * n21 * n33\n\t\t\t\t + n12 * n23 * n31\n\t\t\t)\n\n\t\t);\n\n\t}\n\n\ttranspose() {\n\n\t\tconst te = this.elements;\n\t\tlet tmp;\n\n\t\ttmp = te[ 1 ]; te[ 1 ] = te[ 4 ]; te[ 4 ] = tmp;\n\t\ttmp = te[ 2 ]; te[ 2 ] = te[ 8 ]; te[ 8 ] = tmp;\n\t\ttmp = te[ 6 ]; te[ 6 ] = te[ 9 ]; te[ 9 ] = tmp;\n\n\t\ttmp = te[ 3 ]; te[ 3 ] = te[ 12 ]; te[ 12 ] = tmp;\n\t\ttmp = te[ 7 ]; te[ 7 ] = te[ 13 ]; te[ 13 ] = tmp;\n\t\ttmp = te[ 11 ]; te[ 11 ] = te[ 14 ]; te[ 14 ] = tmp;\n\n\t\treturn this;\n\n\t}\n\n\tsetPosition( x, y, z ) {\n\n\t\tconst te = this.elements;\n\n\t\tif ( x.isVector3 ) {\n\n\t\t\tte[ 12 ] = x.x;\n\t\t\tte[ 13 ] = x.y;\n\t\t\tte[ 14 ] = x.z;\n\n\t\t} else {\n\n\t\t\tte[ 12 ] = x;\n\t\t\tte[ 13 ] = y;\n\t\t\tte[ 14 ] = z;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tinvert() {\n\n\t\t// based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm\n\t\tconst te = this.elements,\n\n\t\t\tn11 = te[ 0 ], n21 = te[ 1 ], n31 = te[ 2 ], n41 = te[ 3 ],\n\t\t\tn12 = te[ 4 ], n22 = te[ 5 ], n32 = te[ 6 ], n42 = te[ 7 ],\n\t\t\tn13 = te[ 8 ], n23 = te[ 9 ], n33 = te[ 10 ], n43 = te[ 11 ],\n\t\t\tn14 = te[ 12 ], n24 = te[ 13 ], n34 = te[ 14 ], n44 = te[ 15 ],\n\n\t\t\tt11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44,\n\t\t\tt12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44,\n\t\t\tt13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44,\n\t\t\tt14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34;\n\n\t\tconst det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14;\n\n\t\tif ( det === 0 ) return this.set( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );\n\n\t\tconst detInv = 1 / det;\n\n\t\tte[ 0 ] = t11 * detInv;\n\t\tte[ 1 ] = ( n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44 ) * detInv;\n\t\tte[ 2 ] = ( n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44 ) * detInv;\n\t\tte[ 3 ] = ( n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43 ) * detInv;\n\n\t\tte[ 4 ] = t12 * detInv;\n\t\tte[ 5 ] = ( n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44 ) * detInv;\n\t\tte[ 6 ] = ( n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44 ) * detInv;\n\t\tte[ 7 ] = ( n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43 ) * detInv;\n\n\t\tte[ 8 ] = t13 * detInv;\n\t\tte[ 9 ] = ( n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44 ) * detInv;\n\t\tte[ 10 ] = ( n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44 ) * detInv;\n\t\tte[ 11 ] = ( n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43 ) * detInv;\n\n\t\tte[ 12 ] = t14 * detInv;\n\t\tte[ 13 ] = ( n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34 ) * detInv;\n\t\tte[ 14 ] = ( n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34 ) * detInv;\n\t\tte[ 15 ] = ( n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33 ) * detInv;\n\n\t\treturn this;\n\n\t}\n\n\tscale( v ) {\n\n\t\tconst te = this.elements;\n\t\tconst x = v.x, y = v.y, z = v.z;\n\n\t\tte[ 0 ] *= x; te[ 4 ] *= y; te[ 8 ] *= z;\n\t\tte[ 1 ] *= x; te[ 5 ] *= y; te[ 9 ] *= z;\n\t\tte[ 2 ] *= x; te[ 6 ] *= y; te[ 10 ] *= z;\n\t\tte[ 3 ] *= x; te[ 7 ] *= y; te[ 11 ] *= z;\n\n\t\treturn this;\n\n\t}\n\n\tgetMaxScaleOnAxis() {\n\n\t\tconst te = this.elements;\n\n\t\tconst scaleXSq = te[ 0 ] * te[ 0 ] + te[ 1 ] * te[ 1 ] + te[ 2 ] * te[ 2 ];\n\t\tconst scaleYSq = te[ 4 ] * te[ 4 ] + te[ 5 ] * te[ 5 ] + te[ 6 ] * te[ 6 ];\n\t\tconst scaleZSq = te[ 8 ] * te[ 8 ] + te[ 9 ] * te[ 9 ] + te[ 10 ] * te[ 10 ];\n\n\t\treturn Math.sqrt( Math.max( scaleXSq, scaleYSq, scaleZSq ) );\n\n\t}\n\n\tmakeTranslation( x, y, z ) {\n\n\t\tif ( x.isVector3 ) {\n\n\t\t\tthis.set(\n\n\t\t\t\t1, 0, 0, x.x,\n\t\t\t\t0, 1, 0, x.y,\n\t\t\t\t0, 0, 1, x.z,\n\t\t\t\t0, 0, 0, 1\n\n\t\t\t);\n\n\t\t} else {\n\n\t\t\tthis.set(\n\n\t\t\t\t1, 0, 0, x,\n\t\t\t\t0, 1, 0, y,\n\t\t\t\t0, 0, 1, z,\n\t\t\t\t0, 0, 0, 1\n\n\t\t\t);\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationX( theta ) {\n\n\t\tconst c = Math.cos( theta ), s = Math.sin( theta );\n\n\t\tthis.set(\n\n\t\t\t1, 0, 0, 0,\n\t\t\t0, c, - s, 0,\n\t\t\t0, s, c, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationY( theta ) {\n\n\t\tconst c = Math.cos( theta ), s = Math.sin( theta );\n\n\t\tthis.set(\n\n\t\t\t c, 0, s, 0,\n\t\t\t 0, 1, 0, 0,\n\t\t\t- s, 0, c, 0,\n\t\t\t 0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationZ( theta ) {\n\n\t\tconst c = Math.cos( theta ), s = Math.sin( theta );\n\n\t\tthis.set(\n\n\t\t\tc, - s, 0, 0,\n\t\t\ts, c, 0, 0,\n\t\t\t0, 0, 1, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotationAxis( axis, angle ) {\n\n\t\t// Based on http://www.gamedev.net/reference/articles/article1199.asp\n\n\t\tconst c = Math.cos( angle );\n\t\tconst s = Math.sin( angle );\n\t\tconst t = 1 - c;\n\t\tconst x = axis.x, y = axis.y, z = axis.z;\n\t\tconst tx = t * x, ty = t * y;\n\n\t\tthis.set(\n\n\t\t\ttx * x + c, tx * y - s * z, tx * z + s * y, 0,\n\t\t\ttx * y + s * z, ty * y + c, ty * z - s * x, 0,\n\t\t\ttx * z - s * y, ty * z + s * x, t * z * z + c, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeScale( x, y, z ) {\n\n\t\tthis.set(\n\n\t\t\tx, 0, 0, 0,\n\t\t\t0, y, 0, 0,\n\t\t\t0, 0, z, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeShear( xy, xz, yx, yz, zx, zy ) {\n\n\t\tthis.set(\n\n\t\t\t1, yx, zx, 0,\n\t\t\txy, 1, zy, 0,\n\t\t\txz, yz, 1, 0,\n\t\t\t0, 0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tcompose( position, quaternion, scale ) {\n\n\t\tconst te = this.elements;\n\n\t\tconst x = quaternion._x, y = quaternion._y, z = quaternion._z, w = quaternion._w;\n\t\tconst x2 = x + x,\ty2 = y + y, z2 = z + z;\n\t\tconst xx = x * x2, xy = x * y2, xz = x * z2;\n\t\tconst yy = y * y2, yz = y * z2, zz = z * z2;\n\t\tconst wx = w * x2, wy = w * y2, wz = w * z2;\n\n\t\tconst sx = scale.x, sy = scale.y, sz = scale.z;\n\n\t\tte[ 0 ] = ( 1 - ( yy + zz ) ) * sx;\n\t\tte[ 1 ] = ( xy + wz ) * sx;\n\t\tte[ 2 ] = ( xz - wy ) * sx;\n\t\tte[ 3 ] = 0;\n\n\t\tte[ 4 ] = ( xy - wz ) * sy;\n\t\tte[ 5 ] = ( 1 - ( xx + zz ) ) * sy;\n\t\tte[ 6 ] = ( yz + wx ) * sy;\n\t\tte[ 7 ] = 0;\n\n\t\tte[ 8 ] = ( xz + wy ) * sz;\n\t\tte[ 9 ] = ( yz - wx ) * sz;\n\t\tte[ 10 ] = ( 1 - ( xx + yy ) ) * sz;\n\t\tte[ 11 ] = 0;\n\n\t\tte[ 12 ] = position.x;\n\t\tte[ 13 ] = position.y;\n\t\tte[ 14 ] = position.z;\n\t\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tdecompose( position, quaternion, scale ) {\n\n\t\tconst te = this.elements;\n\n\t\tlet sx = _v1.set( te[ 0 ], te[ 1 ], te[ 2 ] ).length();\n\t\tconst sy = _v1.set( te[ 4 ], te[ 5 ], te[ 6 ] ).length();\n\t\tconst sz = _v1.set( te[ 8 ], te[ 9 ], te[ 10 ] ).length();\n\n\t\t// if determine is negative, we need to invert one scale\n\t\tconst det = this.determinant();\n\t\tif ( det < 0 ) sx = - sx;\n\n\t\tposition.x = te[ 12 ];\n\t\tposition.y = te[ 13 ];\n\t\tposition.z = te[ 14 ];\n\n\t\t// scale the rotation part\n\t\t_m1.copy( this );\n\n\t\tconst invSX = 1 / sx;\n\t\tconst invSY = 1 / sy;\n\t\tconst invSZ = 1 / sz;\n\n\t\t_m1.elements[ 0 ] *= invSX;\n\t\t_m1.elements[ 1 ] *= invSX;\n\t\t_m1.elements[ 2 ] *= invSX;\n\n\t\t_m1.elements[ 4 ] *= invSY;\n\t\t_m1.elements[ 5 ] *= invSY;\n\t\t_m1.elements[ 6 ] *= invSY;\n\n\t\t_m1.elements[ 8 ] *= invSZ;\n\t\t_m1.elements[ 9 ] *= invSZ;\n\t\t_m1.elements[ 10 ] *= invSZ;\n\n\t\tquaternion.setFromRotationMatrix( _m1 );\n\n\t\tscale.x = sx;\n\t\tscale.y = sy;\n\t\tscale.z = sz;\n\n\t\treturn this;\n\n\t}\n\n\tmakePerspective( left, right, top, bottom, near, far, coordinateSystem = WebGLCoordinateSystem ) {\n\n\t\tconst te = this.elements;\n\t\tconst x = 2 * near / ( right - left );\n\t\tconst y = 2 * near / ( top - bottom );\n\n\t\tconst a = ( right + left ) / ( right - left );\n\t\tconst b = ( top + bottom ) / ( top - bottom );\n\n\t\tlet c, d;\n\n\t\tif ( coordinateSystem === WebGLCoordinateSystem ) {\n\n\t\t\tc = - ( far + near ) / ( far - near );\n\t\t\td = ( - 2 * far * near ) / ( far - near );\n\n\t\t} else if ( coordinateSystem === WebGPUCoordinateSystem ) {\n\n\t\t\tc = - far / ( far - near );\n\t\t\td = ( - far * near ) / ( far - near );\n\n\t\t} else {\n\n\t\t\tthrow new Error( 'THREE.Matrix4.makePerspective(): Invalid coordinate system: ' + coordinateSystem );\n\n\t\t}\n\n\t\tte[ 0 ] = x;\tte[ 4 ] = 0;\tte[ 8 ] = a; \tte[ 12 ] = 0;\n\t\tte[ 1 ] = 0;\tte[ 5 ] = y;\tte[ 9 ] = b; \tte[ 13 ] = 0;\n\t\tte[ 2 ] = 0;\tte[ 6 ] = 0;\tte[ 10 ] = c; \tte[ 14 ] = d;\n\t\tte[ 3 ] = 0;\tte[ 7 ] = 0;\tte[ 11 ] = - 1;\tte[ 15 ] = 0;\n\n\t\treturn this;\n\n\t}\n\n\tmakeOrthographic( left, right, top, bottom, near, far, coordinateSystem = WebGLCoordinateSystem ) {\n\n\t\tconst te = this.elements;\n\t\tconst w = 1.0 / ( right - left );\n\t\tconst h = 1.0 / ( top - bottom );\n\t\tconst p = 1.0 / ( far - near );\n\n\t\tconst x = ( right + left ) * w;\n\t\tconst y = ( top + bottom ) * h;\n\n\t\tlet z, zInv;\n\n\t\tif ( coordinateSystem === WebGLCoordinateSystem ) {\n\n\t\t\tz = ( far + near ) * p;\n\t\t\tzInv = - 2 * p;\n\n\t\t} else if ( coordinateSystem === WebGPUCoordinateSystem ) {\n\n\t\t\tz = near * p;\n\t\t\tzInv = - 1 * p;\n\n\t\t} else {\n\n\t\t\tthrow new Error( 'THREE.Matrix4.makeOrthographic(): Invalid coordinate system: ' + coordinateSystem );\n\n\t\t}\n\n\t\tte[ 0 ] = 2 * w;\tte[ 4 ] = 0;\t\tte[ 8 ] = 0; \t\tte[ 12 ] = - x;\n\t\tte[ 1 ] = 0; \t\tte[ 5 ] = 2 * h;\tte[ 9 ] = 0; \t\tte[ 13 ] = - y;\n\t\tte[ 2 ] = 0; \t\tte[ 6 ] = 0;\t\tte[ 10 ] = zInv;\tte[ 14 ] = - z;\n\t\tte[ 3 ] = 0; \t\tte[ 7 ] = 0;\t\tte[ 11 ] = 0;\t\tte[ 15 ] = 1;\n\n\t\treturn this;\n\n\t}\n\n\tequals( matrix ) {\n\n\t\tconst te = this.elements;\n\t\tconst me = matrix.elements;\n\n\t\tfor ( let i = 0; i < 16; i ++ ) {\n\n\t\t\tif ( te[ i ] !== me[ i ] ) return false;\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tfor ( let i = 0; i < 16; i ++ ) {\n\n\t\t\tthis.elements[ i ] = array[ i + offset ];\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tconst te = this.elements;\n\n\t\tarray[ offset ] = te[ 0 ];\n\t\tarray[ offset + 1 ] = te[ 1 ];\n\t\tarray[ offset + 2 ] = te[ 2 ];\n\t\tarray[ offset + 3 ] = te[ 3 ];\n\n\t\tarray[ offset + 4 ] = te[ 4 ];\n\t\tarray[ offset + 5 ] = te[ 5 ];\n\t\tarray[ offset + 6 ] = te[ 6 ];\n\t\tarray[ offset + 7 ] = te[ 7 ];\n\n\t\tarray[ offset + 8 ] = te[ 8 ];\n\t\tarray[ offset + 9 ] = te[ 9 ];\n\t\tarray[ offset + 10 ] = te[ 10 ];\n\t\tarray[ offset + 11 ] = te[ 11 ];\n\n\t\tarray[ offset + 12 ] = te[ 12 ];\n\t\tarray[ offset + 13 ] = te[ 13 ];\n\t\tarray[ offset + 14 ] = te[ 14 ];\n\t\tarray[ offset + 15 ] = te[ 15 ];\n\n\t\treturn array;\n\n\t}\n\n}\n\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _m1 = /*@__PURE__*/ new Matrix4();\nconst _zero = /*@__PURE__*/ new Vector3( 0, 0, 0 );\nconst _one = /*@__PURE__*/ new Vector3( 1, 1, 1 );\nconst _x = /*@__PURE__*/ new Vector3();\nconst _y = /*@__PURE__*/ new Vector3();\nconst _z = /*@__PURE__*/ new Vector3();\n\nexport { Matrix4 };\n","import { Vector3 } from './Vector3.js';\n\nclass Box3 {\n\n\tconstructor( min = new Vector3( + Infinity, + Infinity, + Infinity ), max = new Vector3( - Infinity, - Infinity, - Infinity ) ) {\n\n\t\tthis.isBox3 = true;\n\n\t\tthis.min = min;\n\t\tthis.max = max;\n\n\t}\n\n\tset( min, max ) {\n\n\t\tthis.min.copy( min );\n\t\tthis.max.copy( max );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromArray( array ) {\n\n\t\tthis.makeEmpty();\n\n\t\tfor ( let i = 0, il = array.length; i < il; i += 3 ) {\n\n\t\t\tthis.expandByPoint( _vector.fromArray( array, i ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetFromBufferAttribute( attribute ) {\n\n\t\tthis.makeEmpty();\n\n\t\tfor ( let i = 0, il = attribute.count; i < il; i ++ ) {\n\n\t\t\tthis.expandByPoint( _vector.fromBufferAttribute( attribute, i ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPoints( points ) {\n\n\t\tthis.makeEmpty();\n\n\t\tfor ( let i = 0, il = points.length; i < il; i ++ ) {\n\n\t\t\tthis.expandByPoint( points[ i ] );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tsetFromCenterAndSize( center, size ) {\n\n\t\tconst halfSize = _vector.copy( size ).multiplyScalar( 0.5 );\n\n\t\tthis.min.copy( center ).sub( halfSize );\n\t\tthis.max.copy( center ).add( halfSize );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromObject( object, precise = false ) {\n\n\t\tthis.makeEmpty();\n\n\t\treturn this.expandByObject( object, precise );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n\tcopy( box ) {\n\n\t\tthis.min.copy( box.min );\n\t\tthis.max.copy( box.max );\n\n\t\treturn this;\n\n\t}\n\n\tmakeEmpty() {\n\n\t\tthis.min.x = this.min.y = this.min.z = + Infinity;\n\t\tthis.max.x = this.max.y = this.max.z = - Infinity;\n\n\t\treturn this;\n\n\t}\n\n\tisEmpty() {\n\n\t\t// this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes\n\n\t\treturn ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ) || ( this.max.z < this.min.z );\n\n\t}\n\n\tgetCenter( target ) {\n\n\t\treturn this.isEmpty() ? target.set( 0, 0, 0 ) : target.addVectors( this.min, this.max ).multiplyScalar( 0.5 );\n\n\t}\n\n\tgetSize( target ) {\n\n\t\treturn this.isEmpty() ? target.set( 0, 0, 0 ) : target.subVectors( this.max, this.min );\n\n\t}\n\n\texpandByPoint( point ) {\n\n\t\tthis.min.min( point );\n\t\tthis.max.max( point );\n\n\t\treturn this;\n\n\t}\n\n\texpandByVector( vector ) {\n\n\t\tthis.min.sub( vector );\n\t\tthis.max.add( vector );\n\n\t\treturn this;\n\n\t}\n\n\texpandByScalar( scalar ) {\n\n\t\tthis.min.addScalar( - scalar );\n\t\tthis.max.addScalar( scalar );\n\n\t\treturn this;\n\n\t}\n\n\texpandByObject( object, precise = false ) {\n\n\t\t// Computes the world-axis-aligned bounding box of an object (including its children),\n\t\t// accounting for both the object's, and children's, world transforms\n\n\t\tobject.updateWorldMatrix( false, false );\n\n\t\tconst geometry = object.geometry;\n\n\t\tif ( geometry !== undefined ) {\n\n\t\t\tconst positionAttribute = geometry.getAttribute( 'position' );\n\n\t\t\t// precise AABB computation based on vertex data requires at least a position attribute.\n\t\t\t// instancing isn't supported so far and uses the normal (conservative) code path.\n\n\t\t\tif ( precise === true && positionAttribute !== undefined && object.isInstancedMesh !== true ) {\n\n\t\t\t\tfor ( let i = 0, l = positionAttribute.count; i < l; i ++ ) {\n\n\t\t\t\t\tif ( object.isMesh === true ) {\n\n\t\t\t\t\t\tobject.getVertexPosition( i, _vector );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t_vector.fromBufferAttribute( positionAttribute, i );\n\n\t\t\t\t\t}\n\n\t\t\t\t\t_vector.applyMatrix4( object.matrixWorld );\n\t\t\t\t\tthis.expandByPoint( _vector );\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif ( object.boundingBox !== undefined ) {\n\n\t\t\t\t\t// object-level bounding box\n\n\t\t\t\t\tif ( object.boundingBox === null ) {\n\n\t\t\t\t\t\tobject.computeBoundingBox();\n\n\t\t\t\t\t}\n\n\t\t\t\t\t_box.copy( object.boundingBox );\n\n\n\t\t\t\t} else {\n\n\t\t\t\t\t// geometry-level bounding box\n\n\t\t\t\t\tif ( geometry.boundingBox === null ) {\n\n\t\t\t\t\t\tgeometry.computeBoundingBox();\n\n\t\t\t\t\t}\n\n\t\t\t\t\t_box.copy( geometry.boundingBox );\n\n\t\t\t\t}\n\n\t\t\t\t_box.applyMatrix4( object.matrixWorld );\n\n\t\t\t\tthis.union( _box );\n\n\t\t\t}\n\n\t\t}\n\n\t\tconst children = object.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tthis.expandByObject( children[ i ], precise );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn point.x >= this.min.x && point.x <= this.max.x &&\n\t\t\tpoint.y >= this.min.y && point.y <= this.max.y &&\n\t\t\tpoint.z >= this.min.z && point.z <= this.max.z;\n\n\t}\n\n\tcontainsBox( box ) {\n\n\t\treturn this.min.x <= box.min.x && box.max.x <= this.max.x &&\n\t\t\tthis.min.y <= box.min.y && box.max.y <= this.max.y &&\n\t\t\tthis.min.z <= box.min.z && box.max.z <= this.max.z;\n\n\t}\n\n\tgetParameter( point, target ) {\n\n\t\t// This can potentially have a divide by zero if the box\n\t\t// has a size dimension of 0.\n\n\t\treturn target.set(\n\t\t\t( point.x - this.min.x ) / ( this.max.x - this.min.x ),\n\t\t\t( point.y - this.min.y ) / ( this.max.y - this.min.y ),\n\t\t\t( point.z - this.min.z ) / ( this.max.z - this.min.z )\n\t\t);\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\t// using 6 splitting planes to rule out intersections.\n\t\treturn box.max.x >= this.min.x && box.min.x <= this.max.x &&\n\t\t\tbox.max.y >= this.min.y && box.min.y <= this.max.y &&\n\t\t\tbox.max.z >= this.min.z && box.min.z <= this.max.z;\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\t// Find the point on the AABB closest to the sphere center.\n\t\tthis.clampPoint( sphere.center, _vector );\n\n\t\t// If that point is inside the sphere, the AABB and sphere intersect.\n\t\treturn _vector.distanceToSquared( sphere.center ) <= ( sphere.radius * sphere.radius );\n\n\t}\n\n\tintersectsPlane( plane ) {\n\n\t\t// We compute the minimum and maximum dot product values. If those values\n\t\t// are on the same side (back or front) of the plane, then there is no intersection.\n\n\t\tlet min, max;\n\n\t\tif ( plane.normal.x > 0 ) {\n\n\t\t\tmin = plane.normal.x * this.min.x;\n\t\t\tmax = plane.normal.x * this.max.x;\n\n\t\t} else {\n\n\t\t\tmin = plane.normal.x * this.max.x;\n\t\t\tmax = plane.normal.x * this.min.x;\n\n\t\t}\n\n\t\tif ( plane.normal.y > 0 ) {\n\n\t\t\tmin += plane.normal.y * this.min.y;\n\t\t\tmax += plane.normal.y * this.max.y;\n\n\t\t} else {\n\n\t\t\tmin += plane.normal.y * this.max.y;\n\t\t\tmax += plane.normal.y * this.min.y;\n\n\t\t}\n\n\t\tif ( plane.normal.z > 0 ) {\n\n\t\t\tmin += plane.normal.z * this.min.z;\n\t\t\tmax += plane.normal.z * this.max.z;\n\n\t\t} else {\n\n\t\t\tmin += plane.normal.z * this.max.z;\n\t\t\tmax += plane.normal.z * this.min.z;\n\n\t\t}\n\n\t\treturn ( min <= - plane.constant && max >= - plane.constant );\n\n\t}\n\n\tintersectsTriangle( triangle ) {\n\n\t\tif ( this.isEmpty() ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\t// compute box center and extents\n\t\tthis.getCenter( _center );\n\t\t_extents.subVectors( this.max, _center );\n\n\t\t// translate triangle to aabb origin\n\t\t_v0.subVectors( triangle.a, _center );\n\t\t_v1.subVectors( triangle.b, _center );\n\t\t_v2.subVectors( triangle.c, _center );\n\n\t\t// compute edge vectors for triangle\n\t\t_f0.subVectors( _v1, _v0 );\n\t\t_f1.subVectors( _v2, _v1 );\n\t\t_f2.subVectors( _v0, _v2 );\n\n\t\t// test against axes that are given by cross product combinations of the edges of the triangle and the edges of the aabb\n\t\t// make an axis testing of each of the 3 sides of the aabb against each of the 3 sides of the triangle = 9 axis of separation\n\t\t// axis_ij = u_i x f_j (u0, u1, u2 = face normals of aabb = x,y,z axes vectors since aabb is axis aligned)\n\t\tlet axes = [\n\t\t\t0, - _f0.z, _f0.y, 0, - _f1.z, _f1.y, 0, - _f2.z, _f2.y,\n\t\t\t_f0.z, 0, - _f0.x, _f1.z, 0, - _f1.x, _f2.z, 0, - _f2.x,\n\t\t\t- _f0.y, _f0.x, 0, - _f1.y, _f1.x, 0, - _f2.y, _f2.x, 0\n\t\t];\n\t\tif ( ! satForAxes( axes, _v0, _v1, _v2, _extents ) ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\t// test 3 face normals from the aabb\n\t\taxes = [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ];\n\t\tif ( ! satForAxes( axes, _v0, _v1, _v2, _extents ) ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t\t// finally testing the face normal of the triangle\n\t\t// use already existing triangle edge vectors here\n\t\t_triangleNormal.crossVectors( _f0, _f1 );\n\t\taxes = [ _triangleNormal.x, _triangleNormal.y, _triangleNormal.z ];\n\n\t\treturn satForAxes( axes, _v0, _v1, _v2, _extents );\n\n\t}\n\n\tclampPoint( point, target ) {\n\n\t\treturn target.copy( point ).clamp( this.min, this.max );\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn this.clampPoint( point, _vector ).distanceTo( point );\n\n\t}\n\n\tgetBoundingSphere( target ) {\n\n\t\tif ( this.isEmpty() ) {\n\n\t\t\ttarget.makeEmpty();\n\n\t\t} else {\n\n\t\t\tthis.getCenter( target.center );\n\n\t\t\ttarget.radius = this.getSize( _vector ).length() * 0.5;\n\n\t\t}\n\n\t\treturn target;\n\n\t}\n\n\tintersect( box ) {\n\n\t\tthis.min.max( box.min );\n\t\tthis.max.min( box.max );\n\n\t\t// ensure that if there is no overlap, the result is fully empty, not slightly empty with non-inf/+inf values that will cause subsequence intersects to erroneously return valid values.\n\t\tif ( this.isEmpty() ) this.makeEmpty();\n\n\t\treturn this;\n\n\t}\n\n\tunion( box ) {\n\n\t\tthis.min.min( box.min );\n\t\tthis.max.max( box.max );\n\n\t\treturn this;\n\n\t}\n\n\tapplyMatrix4( matrix ) {\n\n\t\t// transform of empty box is an empty box.\n\t\tif ( this.isEmpty() ) return this;\n\n\t\t// NOTE: I am using a binary pattern to specify all 2^3 combinations below\n\t\t_points[ 0 ].set( this.min.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 000\n\t\t_points[ 1 ].set( this.min.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 001\n\t\t_points[ 2 ].set( this.min.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 010\n\t\t_points[ 3 ].set( this.min.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 011\n\t\t_points[ 4 ].set( this.max.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 100\n\t\t_points[ 5 ].set( this.max.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 101\n\t\t_points[ 6 ].set( this.max.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 110\n\t\t_points[ 7 ].set( this.max.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 111\n\n\t\tthis.setFromPoints( _points );\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( offset ) {\n\n\t\tthis.min.add( offset );\n\t\tthis.max.add( offset );\n\n\t\treturn this;\n\n\t}\n\n\tequals( box ) {\n\n\t\treturn box.min.equals( this.min ) && box.max.equals( this.max );\n\n\t}\n\n}\n\nconst _points = [\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3(),\n\t/*@__PURE__*/ new Vector3()\n];\n\nconst _vector = /*@__PURE__*/ new Vector3();\n\nconst _box = /*@__PURE__*/ new Box3();\n\n// triangle centered vertices\n\nconst _v0 = /*@__PURE__*/ new Vector3();\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _v2 = /*@__PURE__*/ new Vector3();\n\n// triangle edge vectors\n\nconst _f0 = /*@__PURE__*/ new Vector3();\nconst _f1 = /*@__PURE__*/ new Vector3();\nconst _f2 = /*@__PURE__*/ new Vector3();\n\nconst _center = /*@__PURE__*/ new Vector3();\nconst _extents = /*@__PURE__*/ new Vector3();\nconst _triangleNormal = /*@__PURE__*/ new Vector3();\nconst _testAxis = /*@__PURE__*/ new Vector3();\n\nfunction satForAxes( axes, v0, v1, v2, extents ) {\n\n\tfor ( let i = 0, j = axes.length - 3; i <= j; i += 3 ) {\n\n\t\t_testAxis.fromArray( axes, i );\n\t\t// project the aabb onto the separating axis\n\t\tconst r = extents.x * Math.abs( _testAxis.x ) + extents.y * Math.abs( _testAxis.y ) + extents.z * Math.abs( _testAxis.z );\n\t\t// project all 3 vertices of the triangle onto the separating axis\n\t\tconst p0 = v0.dot( _testAxis );\n\t\tconst p1 = v1.dot( _testAxis );\n\t\tconst p2 = v2.dot( _testAxis );\n\t\t// actual test, basically see if either of the most extreme of the triangle points intersects r\n\t\tif ( Math.max( - Math.max( p0, p1, p2 ), Math.min( p0, p1, p2 ) ) > r ) {\n\n\t\t\t// points of the projected triangle are outside the projected half-length of the aabb\n\t\t\t// the axis is separating and we can exit\n\t\t\treturn false;\n\n\t\t}\n\n\t}\n\n\treturn true;\n\n}\n\nexport { Box3 };\n","import { clamp } from './MathUtils.js';\n\nclass Vector2 {\n\n\tconstructor( x = 0, y = 0 ) {\n\n\t\tVector2.prototype.isVector2 = true;\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\n\t}\n\n\tget width() {\n\n\t\treturn this.x;\n\n\t}\n\n\tset width( value ) {\n\n\t\tthis.x = value;\n\n\t}\n\n\tget height() {\n\n\t\treturn this.y;\n\n\t}\n\n\tset height( value ) {\n\n\t\tthis.y = value;\n\n\t}\n\n\tset( x, y ) {\n\n\t\tthis.x = x;\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetScalar( scalar ) {\n\n\t\tthis.x = scalar;\n\t\tthis.y = scalar;\n\n\t\treturn this;\n\n\t}\n\n\tsetX( x ) {\n\n\t\tthis.x = x;\n\n\t\treturn this;\n\n\t}\n\n\tsetY( y ) {\n\n\t\tthis.y = y;\n\n\t\treturn this;\n\n\t}\n\n\tsetComponent( index, value ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: this.x = value; break;\n\t\t\tcase 1: this.y = value; break;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tgetComponent( index ) {\n\n\t\tswitch ( index ) {\n\n\t\t\tcase 0: return this.x;\n\t\t\tcase 1: return this.y;\n\t\t\tdefault: throw new Error( 'index is out of range: ' + index );\n\n\t\t}\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this.x, this.y );\n\n\t}\n\n\tcopy( v ) {\n\n\t\tthis.x = v.x;\n\t\tthis.y = v.y;\n\n\t\treturn this;\n\n\t}\n\n\tadd( v ) {\n\n\t\tthis.x += v.x;\n\t\tthis.y += v.y;\n\n\t\treturn this;\n\n\t}\n\n\taddScalar( s ) {\n\n\t\tthis.x += s;\n\t\tthis.y += s;\n\n\t\treturn this;\n\n\t}\n\n\taddVectors( a, b ) {\n\n\t\tthis.x = a.x + b.x;\n\t\tthis.y = a.y + b.y;\n\n\t\treturn this;\n\n\t}\n\n\taddScaledVector( v, s ) {\n\n\t\tthis.x += v.x * s;\n\t\tthis.y += v.y * s;\n\n\t\treturn this;\n\n\t}\n\n\tsub( v ) {\n\n\t\tthis.x -= v.x;\n\t\tthis.y -= v.y;\n\n\t\treturn this;\n\n\t}\n\n\tsubScalar( s ) {\n\n\t\tthis.x -= s;\n\t\tthis.y -= s;\n\n\t\treturn this;\n\n\t}\n\n\tsubVectors( a, b ) {\n\n\t\tthis.x = a.x - b.x;\n\t\tthis.y = a.y - b.y;\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( v ) {\n\n\t\tthis.x *= v.x;\n\t\tthis.y *= v.y;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( scalar ) {\n\n\t\tthis.x *= scalar;\n\t\tthis.y *= scalar;\n\n\t\treturn this;\n\n\t}\n\n\tdivide( v ) {\n\n\t\tthis.x /= v.x;\n\t\tthis.y /= v.y;\n\n\t\treturn this;\n\n\t}\n\n\tdivideScalar( scalar ) {\n\n\t\treturn this.multiplyScalar( 1 / scalar );\n\n\t}\n\n\tapplyMatrix3( m ) {\n\n\t\tconst x = this.x, y = this.y;\n\t\tconst e = m.elements;\n\n\t\tthis.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ];\n\t\tthis.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ];\n\n\t\treturn this;\n\n\t}\n\n\tmin( v ) {\n\n\t\tthis.x = Math.min( this.x, v.x );\n\t\tthis.y = Math.min( this.y, v.y );\n\n\t\treturn this;\n\n\t}\n\n\tmax( v ) {\n\n\t\tthis.x = Math.max( this.x, v.x );\n\t\tthis.y = Math.max( this.y, v.y );\n\n\t\treturn this;\n\n\t}\n\n\tclamp( min, max ) {\n\n\t\t// assumes min < max, componentwise\n\n\t\tthis.x = clamp( this.x, min.x, max.x );\n\t\tthis.y = clamp( this.y, min.y, max.y );\n\n\t\treturn this;\n\n\t}\n\n\tclampScalar( minVal, maxVal ) {\n\n\t\tthis.x = clamp( this.x, minVal, maxVal );\n\t\tthis.y = clamp( this.y, minVal, maxVal );\n\n\t\treturn this;\n\n\t}\n\n\tclampLength( min, max ) {\n\n\t\tconst length = this.length();\n\n\t\treturn this.divideScalar( length || 1 ).multiplyScalar( clamp( length, min, max ) );\n\n\t}\n\n\tfloor() {\n\n\t\tthis.x = Math.floor( this.x );\n\t\tthis.y = Math.floor( this.y );\n\n\t\treturn this;\n\n\t}\n\n\tceil() {\n\n\t\tthis.x = Math.ceil( this.x );\n\t\tthis.y = Math.ceil( this.y );\n\n\t\treturn this;\n\n\t}\n\n\tround() {\n\n\t\tthis.x = Math.round( this.x );\n\t\tthis.y = Math.round( this.y );\n\n\t\treturn this;\n\n\t}\n\n\troundToZero() {\n\n\t\tthis.x = Math.trunc( this.x );\n\t\tthis.y = Math.trunc( this.y );\n\n\t\treturn this;\n\n\t}\n\n\tnegate() {\n\n\t\tthis.x = - this.x;\n\t\tthis.y = - this.y;\n\n\t\treturn this;\n\n\t}\n\n\tdot( v ) {\n\n\t\treturn this.x * v.x + this.y * v.y;\n\n\t}\n\n\tcross( v ) {\n\n\t\treturn this.x * v.y - this.y * v.x;\n\n\t}\n\n\tlengthSq() {\n\n\t\treturn this.x * this.x + this.y * this.y;\n\n\t}\n\n\tlength() {\n\n\t\treturn Math.sqrt( this.x * this.x + this.y * this.y );\n\n\t}\n\n\tmanhattanLength() {\n\n\t\treturn Math.abs( this.x ) + Math.abs( this.y );\n\n\t}\n\n\tnormalize() {\n\n\t\treturn this.divideScalar( this.length() || 1 );\n\n\t}\n\n\tangle() {\n\n\t\t// computes the angle in radians with respect to the positive x-axis\n\n\t\tconst angle = Math.atan2( - this.y, - this.x ) + Math.PI;\n\n\t\treturn angle;\n\n\t}\n\n\tangleTo( v ) {\n\n\t\tconst denominator = Math.sqrt( this.lengthSq() * v.lengthSq() );\n\n\t\tif ( denominator === 0 ) return Math.PI / 2;\n\n\t\tconst theta = this.dot( v ) / denominator;\n\n\t\t// clamp, to handle numerical problems\n\n\t\treturn Math.acos( clamp( theta, - 1, 1 ) );\n\n\t}\n\n\tdistanceTo( v ) {\n\n\t\treturn Math.sqrt( this.distanceToSquared( v ) );\n\n\t}\n\n\tdistanceToSquared( v ) {\n\n\t\tconst dx = this.x - v.x, dy = this.y - v.y;\n\t\treturn dx * dx + dy * dy;\n\n\t}\n\n\tmanhattanDistanceTo( v ) {\n\n\t\treturn Math.abs( this.x - v.x ) + Math.abs( this.y - v.y );\n\n\t}\n\n\tsetLength( length ) {\n\n\t\treturn this.normalize().multiplyScalar( length );\n\n\t}\n\n\tlerp( v, alpha ) {\n\n\t\tthis.x += ( v.x - this.x ) * alpha;\n\t\tthis.y += ( v.y - this.y ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tlerpVectors( v1, v2, alpha ) {\n\n\t\tthis.x = v1.x + ( v2.x - v1.x ) * alpha;\n\t\tthis.y = v1.y + ( v2.y - v1.y ) * alpha;\n\n\t\treturn this;\n\n\t}\n\n\tequals( v ) {\n\n\t\treturn ( ( v.x === this.x ) && ( v.y === this.y ) );\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tthis.x = array[ offset ];\n\t\tthis.y = array[ offset + 1 ];\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this.x;\n\t\tarray[ offset + 1 ] = this.y;\n\n\t\treturn array;\n\n\t}\n\n\tfromBufferAttribute( attribute, index ) {\n\n\t\tthis.x = attribute.getX( index );\n\t\tthis.y = attribute.getY( index );\n\n\t\treturn this;\n\n\t}\n\n\trotateAround( center, angle ) {\n\n\t\tconst c = Math.cos( angle ), s = Math.sin( angle );\n\n\t\tconst x = this.x - center.x;\n\t\tconst y = this.y - center.y;\n\n\t\tthis.x = x * c - y * s + center.x;\n\t\tthis.y = x * s + y * c + center.y;\n\n\t\treturn this;\n\n\t}\n\n\trandom() {\n\n\t\tthis.x = Math.random();\n\t\tthis.y = Math.random();\n\n\t\treturn this;\n\n\t}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this.x;\n\t\tyield this.y;\n\n\t}\n\n}\n\nexport { Vector2 };\n","import { Box3 } from './Box3.js';\nimport { Vector3 } from './Vector3.js';\n\nconst _box = /*@__PURE__*/ new Box3();\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _v2 = /*@__PURE__*/ new Vector3();\n\nclass Sphere {\n\n\tconstructor( center = new Vector3(), radius = - 1 ) {\n\n\t\tthis.isSphere = true;\n\n\t\tthis.center = center;\n\t\tthis.radius = radius;\n\n\t}\n\n\tset( center, radius ) {\n\n\t\tthis.center.copy( center );\n\t\tthis.radius = radius;\n\n\t\treturn this;\n\n\t}\n\n\tsetFromPoints( points, optionalCenter ) {\n\n\t\tconst center = this.center;\n\n\t\tif ( optionalCenter !== undefined ) {\n\n\t\t\tcenter.copy( optionalCenter );\n\n\t\t} else {\n\n\t\t\t_box.setFromPoints( points ).getCenter( center );\n\n\t\t}\n\n\t\tlet maxRadiusSq = 0;\n\n\t\tfor ( let i = 0, il = points.length; i < il; i ++ ) {\n\n\t\t\tmaxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( points[ i ] ) );\n\n\t\t}\n\n\t\tthis.radius = Math.sqrt( maxRadiusSq );\n\n\t\treturn this;\n\n\t}\n\n\tcopy( sphere ) {\n\n\t\tthis.center.copy( sphere.center );\n\t\tthis.radius = sphere.radius;\n\n\t\treturn this;\n\n\t}\n\n\tisEmpty() {\n\n\t\treturn ( this.radius < 0 );\n\n\t}\n\n\tmakeEmpty() {\n\n\t\tthis.center.set( 0, 0, 0 );\n\t\tthis.radius = - 1;\n\n\t\treturn this;\n\n\t}\n\n\tcontainsPoint( point ) {\n\n\t\treturn ( point.distanceToSquared( this.center ) <= ( this.radius * this.radius ) );\n\n\t}\n\n\tdistanceToPoint( point ) {\n\n\t\treturn ( point.distanceTo( this.center ) - this.radius );\n\n\t}\n\n\tintersectsSphere( sphere ) {\n\n\t\tconst radiusSum = this.radius + sphere.radius;\n\n\t\treturn sphere.center.distanceToSquared( this.center ) <= ( radiusSum * radiusSum );\n\n\t}\n\n\tintersectsBox( box ) {\n\n\t\treturn box.intersectsSphere( this );\n\n\t}\n\n\tintersectsPlane( plane ) {\n\n\t\treturn Math.abs( plane.distanceToPoint( this.center ) ) <= this.radius;\n\n\t}\n\n\tclampPoint( point, target ) {\n\n\t\tconst deltaLengthSq = this.center.distanceToSquared( point );\n\n\t\ttarget.copy( point );\n\n\t\tif ( deltaLengthSq > ( this.radius * this.radius ) ) {\n\n\t\t\ttarget.sub( this.center ).normalize();\n\t\t\ttarget.multiplyScalar( this.radius ).add( this.center );\n\n\t\t}\n\n\t\treturn target;\n\n\t}\n\n\tgetBoundingBox( target ) {\n\n\t\tif ( this.isEmpty() ) {\n\n\t\t\t// Empty sphere produces empty bounding box\n\t\t\ttarget.makeEmpty();\n\t\t\treturn target;\n\n\t\t}\n\n\t\ttarget.set( this.center, this.center );\n\t\ttarget.expandByScalar( this.radius );\n\n\t\treturn target;\n\n\t}\n\n\tapplyMatrix4( matrix ) {\n\n\t\tthis.center.applyMatrix4( matrix );\n\t\tthis.radius = this.radius * matrix.getMaxScaleOnAxis();\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( offset ) {\n\n\t\tthis.center.add( offset );\n\n\t\treturn this;\n\n\t}\n\n\texpandByPoint( point ) {\n\n\t\tif ( this.isEmpty() ) {\n\n\t\t\tthis.center.copy( point );\n\n\t\t\tthis.radius = 0;\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\t_v1.subVectors( point, this.center );\n\n\t\tconst lengthSq = _v1.lengthSq();\n\n\t\tif ( lengthSq > ( this.radius * this.radius ) ) {\n\n\t\t\t// calculate the minimal sphere\n\n\t\t\tconst length = Math.sqrt( lengthSq );\n\n\t\t\tconst delta = ( length - this.radius ) * 0.5;\n\n\t\t\tthis.center.addScaledVector( _v1, delta / length );\n\n\t\t\tthis.radius += delta;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tunion( sphere ) {\n\n\t\tif ( sphere.isEmpty() ) {\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tif ( this.isEmpty() ) {\n\n\t\t\tthis.copy( sphere );\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tif ( this.center.equals( sphere.center ) === true ) {\n\n\t\t\t this.radius = Math.max( this.radius, sphere.radius );\n\n\t\t} else {\n\n\t\t\t_v2.subVectors( sphere.center, this.center ).setLength( sphere.radius );\n\n\t\t\tthis.expandByPoint( _v1.copy( sphere.center ).add( _v2 ) );\n\n\t\t\tthis.expandByPoint( _v1.copy( sphere.center ).sub( _v2 ) );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tequals( sphere ) {\n\n\t\treturn sphere.center.equals( this.center ) && ( sphere.radius === this.radius );\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().copy( this );\n\n\t}\n\n}\n\nexport { Sphere };\n","class Matrix3 {\n\n\tconstructor( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) {\n\n\t\tMatrix3.prototype.isMatrix3 = true;\n\n\t\tthis.elements = [\n\n\t\t\t1, 0, 0,\n\t\t\t0, 1, 0,\n\t\t\t0, 0, 1\n\n\t\t];\n\n\t\tif ( n11 !== undefined ) {\n\n\t\t\tthis.set( n11, n12, n13, n21, n22, n23, n31, n32, n33 );\n\n\t\t}\n\n\t}\n\n\tset( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] = n11; te[ 1 ] = n21; te[ 2 ] = n31;\n\t\tte[ 3 ] = n12; te[ 4 ] = n22; te[ 5 ] = n32;\n\t\tte[ 6 ] = n13; te[ 7 ] = n23; te[ 8 ] = n33;\n\n\t\treturn this;\n\n\t}\n\n\tidentity() {\n\n\t\tthis.set(\n\n\t\t\t1, 0, 0,\n\t\t\t0, 1, 0,\n\t\t\t0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tcopy( m ) {\n\n\t\tconst te = this.elements;\n\t\tconst me = m.elements;\n\n\t\tte[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ];\n\t\tte[ 3 ] = me[ 3 ]; te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ];\n\t\tte[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; te[ 8 ] = me[ 8 ];\n\n\t\treturn this;\n\n\t}\n\n\textractBasis( xAxis, yAxis, zAxis ) {\n\n\t\txAxis.setFromMatrix3Column( this, 0 );\n\t\tyAxis.setFromMatrix3Column( this, 1 );\n\t\tzAxis.setFromMatrix3Column( this, 2 );\n\n\t\treturn this;\n\n\t}\n\n\tsetFromMatrix4( m ) {\n\n\t\tconst me = m.elements;\n\n\t\tthis.set(\n\n\t\t\tme[ 0 ], me[ 4 ], me[ 8 ],\n\t\t\tme[ 1 ], me[ 5 ], me[ 9 ],\n\t\t\tme[ 2 ], me[ 6 ], me[ 10 ]\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmultiply( m ) {\n\n\t\treturn this.multiplyMatrices( this, m );\n\n\t}\n\n\tpremultiply( m ) {\n\n\t\treturn this.multiplyMatrices( m, this );\n\n\t}\n\n\tmultiplyMatrices( a, b ) {\n\n\t\tconst ae = a.elements;\n\t\tconst be = b.elements;\n\t\tconst te = this.elements;\n\n\t\tconst a11 = ae[ 0 ], a12 = ae[ 3 ], a13 = ae[ 6 ];\n\t\tconst a21 = ae[ 1 ], a22 = ae[ 4 ], a23 = ae[ 7 ];\n\t\tconst a31 = ae[ 2 ], a32 = ae[ 5 ], a33 = ae[ 8 ];\n\n\t\tconst b11 = be[ 0 ], b12 = be[ 3 ], b13 = be[ 6 ];\n\t\tconst b21 = be[ 1 ], b22 = be[ 4 ], b23 = be[ 7 ];\n\t\tconst b31 = be[ 2 ], b32 = be[ 5 ], b33 = be[ 8 ];\n\n\t\tte[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31;\n\t\tte[ 3 ] = a11 * b12 + a12 * b22 + a13 * b32;\n\t\tte[ 6 ] = a11 * b13 + a12 * b23 + a13 * b33;\n\n\t\tte[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31;\n\t\tte[ 4 ] = a21 * b12 + a22 * b22 + a23 * b32;\n\t\tte[ 7 ] = a21 * b13 + a22 * b23 + a23 * b33;\n\n\t\tte[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31;\n\t\tte[ 5 ] = a31 * b12 + a32 * b22 + a33 * b32;\n\t\tte[ 8 ] = a31 * b13 + a32 * b23 + a33 * b33;\n\n\t\treturn this;\n\n\t}\n\n\tmultiplyScalar( s ) {\n\n\t\tconst te = this.elements;\n\n\t\tte[ 0 ] *= s; te[ 3 ] *= s; te[ 6 ] *= s;\n\t\tte[ 1 ] *= s; te[ 4 ] *= s; te[ 7 ] *= s;\n\t\tte[ 2 ] *= s; te[ 5 ] *= s; te[ 8 ] *= s;\n\n\t\treturn this;\n\n\t}\n\n\tdeterminant() {\n\n\t\tconst te = this.elements;\n\n\t\tconst a = te[ 0 ], b = te[ 1 ], c = te[ 2 ],\n\t\t\td = te[ 3 ], e = te[ 4 ], f = te[ 5 ],\n\t\t\tg = te[ 6 ], h = te[ 7 ], i = te[ 8 ];\n\n\t\treturn a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g;\n\n\t}\n\n\tinvert() {\n\n\t\tconst te = this.elements,\n\n\t\t\tn11 = te[ 0 ], n21 = te[ 1 ], n31 = te[ 2 ],\n\t\t\tn12 = te[ 3 ], n22 = te[ 4 ], n32 = te[ 5 ],\n\t\t\tn13 = te[ 6 ], n23 = te[ 7 ], n33 = te[ 8 ],\n\n\t\t\tt11 = n33 * n22 - n32 * n23,\n\t\t\tt12 = n32 * n13 - n33 * n12,\n\t\t\tt13 = n23 * n12 - n22 * n13,\n\n\t\t\tdet = n11 * t11 + n21 * t12 + n31 * t13;\n\n\t\tif ( det === 0 ) return this.set( 0, 0, 0, 0, 0, 0, 0, 0, 0 );\n\n\t\tconst detInv = 1 / det;\n\n\t\tte[ 0 ] = t11 * detInv;\n\t\tte[ 1 ] = ( n31 * n23 - n33 * n21 ) * detInv;\n\t\tte[ 2 ] = ( n32 * n21 - n31 * n22 ) * detInv;\n\n\t\tte[ 3 ] = t12 * detInv;\n\t\tte[ 4 ] = ( n33 * n11 - n31 * n13 ) * detInv;\n\t\tte[ 5 ] = ( n31 * n12 - n32 * n11 ) * detInv;\n\n\t\tte[ 6 ] = t13 * detInv;\n\t\tte[ 7 ] = ( n21 * n13 - n23 * n11 ) * detInv;\n\t\tte[ 8 ] = ( n22 * n11 - n21 * n12 ) * detInv;\n\n\t\treturn this;\n\n\t}\n\n\ttranspose() {\n\n\t\tlet tmp;\n\t\tconst m = this.elements;\n\n\t\ttmp = m[ 1 ]; m[ 1 ] = m[ 3 ]; m[ 3 ] = tmp;\n\t\ttmp = m[ 2 ]; m[ 2 ] = m[ 6 ]; m[ 6 ] = tmp;\n\t\ttmp = m[ 5 ]; m[ 5 ] = m[ 7 ]; m[ 7 ] = tmp;\n\n\t\treturn this;\n\n\t}\n\n\tgetNormalMatrix( matrix4 ) {\n\n\t\treturn this.setFromMatrix4( matrix4 ).invert().transpose();\n\n\t}\n\n\ttransposeIntoArray( r ) {\n\n\t\tconst m = this.elements;\n\n\t\tr[ 0 ] = m[ 0 ];\n\t\tr[ 1 ] = m[ 3 ];\n\t\tr[ 2 ] = m[ 6 ];\n\t\tr[ 3 ] = m[ 1 ];\n\t\tr[ 4 ] = m[ 4 ];\n\t\tr[ 5 ] = m[ 7 ];\n\t\tr[ 6 ] = m[ 2 ];\n\t\tr[ 7 ] = m[ 5 ];\n\t\tr[ 8 ] = m[ 8 ];\n\n\t\treturn this;\n\n\t}\n\n\tsetUvTransform( tx, ty, sx, sy, rotation, cx, cy ) {\n\n\t\tconst c = Math.cos( rotation );\n\t\tconst s = Math.sin( rotation );\n\n\t\tthis.set(\n\t\t\tsx * c, sx * s, - sx * ( c * cx + s * cy ) + cx + tx,\n\t\t\t- sy * s, sy * c, - sy * ( - s * cx + c * cy ) + cy + ty,\n\t\t\t0, 0, 1\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\t//\n\n\tscale( sx, sy ) {\n\n\t\tthis.premultiply( _m3.makeScale( sx, sy ) );\n\n\t\treturn this;\n\n\t}\n\n\trotate( theta ) {\n\n\t\tthis.premultiply( _m3.makeRotation( - theta ) );\n\n\t\treturn this;\n\n\t}\n\n\ttranslate( tx, ty ) {\n\n\t\tthis.premultiply( _m3.makeTranslation( tx, ty ) );\n\n\t\treturn this;\n\n\t}\n\n\t// for 2D Transforms\n\n\tmakeTranslation( x, y ) {\n\n\t\tif ( x.isVector2 ) {\n\n\t\t\tthis.set(\n\n\t\t\t\t1, 0, x.x,\n\t\t\t\t0, 1, x.y,\n\t\t\t\t0, 0, 1\n\n\t\t\t);\n\n\t\t} else {\n\n\t\t\tthis.set(\n\n\t\t\t\t1, 0, x,\n\t\t\t\t0, 1, y,\n\t\t\t\t0, 0, 1\n\n\t\t\t);\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tmakeRotation( theta ) {\n\n\t\t// counterclockwise\n\n\t\tconst c = Math.cos( theta );\n\t\tconst s = Math.sin( theta );\n\n\t\tthis.set(\n\n\t\t\tc, - s, 0,\n\t\t\ts, c, 0,\n\t\t\t0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\tmakeScale( x, y ) {\n\n\t\tthis.set(\n\n\t\t\tx, 0, 0,\n\t\t\t0, y, 0,\n\t\t\t0, 0, 1\n\n\t\t);\n\n\t\treturn this;\n\n\t}\n\n\t//\n\n\tequals( matrix ) {\n\n\t\tconst te = this.elements;\n\t\tconst me = matrix.elements;\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tif ( te[ i ] !== me[ i ] ) return false;\n\n\t\t}\n\n\t\treturn true;\n\n\t}\n\n\tfromArray( array, offset = 0 ) {\n\n\t\tfor ( let i = 0; i < 9; i ++ ) {\n\n\t\t\tthis.elements[ i ] = array[ i + offset ];\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tconst te = this.elements;\n\n\t\tarray[ offset ] = te[ 0 ];\n\t\tarray[ offset + 1 ] = te[ 1 ];\n\t\tarray[ offset + 2 ] = te[ 2 ];\n\n\t\tarray[ offset + 3 ] = te[ 3 ];\n\t\tarray[ offset + 4 ] = te[ 4 ];\n\t\tarray[ offset + 5 ] = te[ 5 ];\n\n\t\tarray[ offset + 6 ] = te[ 6 ];\n\t\tarray[ offset + 7 ] = te[ 7 ];\n\t\tarray[ offset + 8 ] = te[ 8 ];\n\n\t\treturn array;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor().fromArray( this.elements );\n\n\t}\n\n}\n\nconst _m3 = /*@__PURE__*/ new Matrix3();\n\nexport { Matrix3 };\n","/**\n * https://github.com/mrdoob/eventdispatcher.js/\n */\n\nclass EventDispatcher {\n\n\taddEventListener( type, listener ) {\n\n\t\tif ( this._listeners === undefined ) this._listeners = {};\n\n\t\tconst listeners = this._listeners;\n\n\t\tif ( listeners[ type ] === undefined ) {\n\n\t\t\tlisteners[ type ] = [];\n\n\t\t}\n\n\t\tif ( listeners[ type ].indexOf( listener ) === - 1 ) {\n\n\t\t\tlisteners[ type ].push( listener );\n\n\t\t}\n\n\t}\n\n\thasEventListener( type, listener ) {\n\n\t\tconst listeners = this._listeners;\n\n\t\tif ( listeners === undefined ) return false;\n\n\t\treturn listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1;\n\n\t}\n\n\tremoveEventListener( type, listener ) {\n\n\t\tconst listeners = this._listeners;\n\n\t\tif ( listeners === undefined ) return;\n\n\t\tconst listenerArray = listeners[ type ];\n\n\t\tif ( listenerArray !== undefined ) {\n\n\t\t\tconst index = listenerArray.indexOf( listener );\n\n\t\t\tif ( index !== - 1 ) {\n\n\t\t\t\tlistenerArray.splice( index, 1 );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\tdispatchEvent( event ) {\n\n\t\tconst listeners = this._listeners;\n\n\t\tif ( listeners === undefined ) return;\n\n\t\tconst listenerArray = listeners[ event.type ];\n\n\t\tif ( listenerArray !== undefined ) {\n\n\t\t\tevent.target = this;\n\n\t\t\t// Make a copy, in case listeners are removed while iterating.\n\t\t\tconst array = listenerArray.slice( 0 );\n\n\t\t\tfor ( let i = 0, l = array.length; i < l; i ++ ) {\n\n\t\t\t\tarray[ i ].call( this, event );\n\n\t\t\t}\n\n\t\t\tevent.target = null;\n\n\t\t}\n\n\t}\n\n}\n\n\nexport { EventDispatcher };\n","import { Quaternion } from './Quaternion.js';\nimport { Matrix4 } from './Matrix4.js';\nimport { clamp } from './MathUtils.js';\n\nconst _matrix = /*@__PURE__*/ new Matrix4();\nconst _quaternion = /*@__PURE__*/ new Quaternion();\n\nclass Euler {\n\n\tconstructor( x = 0, y = 0, z = 0, order = Euler.DEFAULT_ORDER ) {\n\n\t\tthis.isEuler = true;\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._order = order;\n\n\t}\n\n\tget x() {\n\n\t\treturn this._x;\n\n\t}\n\n\tset x( value ) {\n\n\t\tthis._x = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget y() {\n\n\t\treturn this._y;\n\n\t}\n\n\tset y( value ) {\n\n\t\tthis._y = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget z() {\n\n\t\treturn this._z;\n\n\t}\n\n\tset z( value ) {\n\n\t\tthis._z = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tget order() {\n\n\t\treturn this._order;\n\n\t}\n\n\tset order( value ) {\n\n\t\tthis._order = value;\n\t\tthis._onChangeCallback();\n\n\t}\n\n\tset( x, y, z, order = this._order ) {\n\n\t\tthis._x = x;\n\t\tthis._y = y;\n\t\tthis._z = z;\n\t\tthis._order = order;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tclone() {\n\n\t\treturn new this.constructor( this._x, this._y, this._z, this._order );\n\n\t}\n\n\tcopy( euler ) {\n\n\t\tthis._x = euler._x;\n\t\tthis._y = euler._y;\n\t\tthis._z = euler._z;\n\t\tthis._order = euler._order;\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromRotationMatrix( m, order = this._order, update = true ) {\n\n\t\t// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tconst te = m.elements;\n\t\tconst m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ];\n\t\tconst m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ];\n\t\tconst m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ];\n\n\t\tswitch ( order ) {\n\n\t\t\tcase 'XYZ':\n\n\t\t\t\tthis._y = Math.asin( clamp( m13, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m13 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( - m23, m33 );\n\t\t\t\t\tthis._z = Math.atan2( - m12, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = Math.atan2( m32, m22 );\n\t\t\t\t\tthis._z = 0;\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'YXZ':\n\n\t\t\t\tthis._x = Math.asin( - clamp( m23, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m23 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._y = Math.atan2( m13, m33 );\n\t\t\t\t\tthis._z = Math.atan2( m21, m22 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._y = Math.atan2( - m31, m11 );\n\t\t\t\t\tthis._z = 0;\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZXY':\n\n\t\t\t\tthis._x = Math.asin( clamp( m32, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m32 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._y = Math.atan2( - m31, m33 );\n\t\t\t\t\tthis._z = Math.atan2( - m12, m22 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._y = 0;\n\t\t\t\t\tthis._z = Math.atan2( m21, m11 );\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'ZYX':\n\n\t\t\t\tthis._y = Math.asin( - clamp( m31, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m31 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( m32, m33 );\n\t\t\t\t\tthis._z = Math.atan2( m21, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = 0;\n\t\t\t\t\tthis._z = Math.atan2( - m12, m22 );\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'YZX':\n\n\t\t\t\tthis._z = Math.asin( clamp( m21, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m21 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( - m23, m22 );\n\t\t\t\t\tthis._y = Math.atan2( - m31, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = 0;\n\t\t\t\t\tthis._y = Math.atan2( m13, m33 );\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase 'XZY':\n\n\t\t\t\tthis._z = Math.asin( - clamp( m12, - 1, 1 ) );\n\n\t\t\t\tif ( Math.abs( m12 ) < 0.9999999 ) {\n\n\t\t\t\t\tthis._x = Math.atan2( m32, m22 );\n\t\t\t\t\tthis._y = Math.atan2( m13, m11 );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis._x = Math.atan2( - m23, m33 );\n\t\t\t\t\tthis._y = 0;\n\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\n\t\t\t\tconsole.warn( 'THREE.Euler: .setFromRotationMatrix() encountered an unknown order: ' + order );\n\n\t\t}\n\n\t\tthis._order = order;\n\n\t\tif ( update === true ) this._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\tsetFromQuaternion( q, order, update ) {\n\n\t\t_matrix.makeRotationFromQuaternion( q );\n\n\t\treturn this.setFromRotationMatrix( _matrix, order, update );\n\n\t}\n\n\tsetFromVector3( v, order = this._order ) {\n\n\t\treturn this.set( v.x, v.y, v.z, order );\n\n\t}\n\n\treorder( newOrder ) {\n\n\t\t// WARNING: this discards revolution information -bhouston\n\n\t\t_quaternion.setFromEuler( this );\n\n\t\treturn this.setFromQuaternion( _quaternion, newOrder );\n\n\t}\n\n\tequals( euler ) {\n\n\t\treturn ( euler._x === this._x ) && ( euler._y === this._y ) && ( euler._z === this._z ) && ( euler._order === this._order );\n\n\t}\n\n\tfromArray( array ) {\n\n\t\tthis._x = array[ 0 ];\n\t\tthis._y = array[ 1 ];\n\t\tthis._z = array[ 2 ];\n\t\tif ( array[ 3 ] !== undefined ) this._order = array[ 3 ];\n\n\t\tthis._onChangeCallback();\n\n\t\treturn this;\n\n\t}\n\n\ttoArray( array = [], offset = 0 ) {\n\n\t\tarray[ offset ] = this._x;\n\t\tarray[ offset + 1 ] = this._y;\n\t\tarray[ offset + 2 ] = this._z;\n\t\tarray[ offset + 3 ] = this._order;\n\n\t\treturn array;\n\n\t}\n\n\t_onChange( callback ) {\n\n\t\tthis._onChangeCallback = callback;\n\n\t\treturn this;\n\n\t}\n\n\t_onChangeCallback() {}\n\n\t*[ Symbol.iterator ]() {\n\n\t\tyield this._x;\n\t\tyield this._y;\n\t\tyield this._z;\n\t\tyield this._order;\n\n\t}\n\n}\n\nEuler.DEFAULT_ORDER = 'XYZ';\n\nexport { Euler };\n","class Layers {\n\n\tconstructor() {\n\n\t\tthis.mask = 1 | 0;\n\n\t}\n\n\tset( channel ) {\n\n\t\tthis.mask = ( 1 << channel | 0 ) >>> 0;\n\n\t}\n\n\tenable( channel ) {\n\n\t\tthis.mask |= 1 << channel | 0;\n\n\t}\n\n\tenableAll() {\n\n\t\tthis.mask = 0xffffffff | 0;\n\n\t}\n\n\ttoggle( channel ) {\n\n\t\tthis.mask ^= 1 << channel | 0;\n\n\t}\n\n\tdisable( channel ) {\n\n\t\tthis.mask &= ~ ( 1 << channel | 0 );\n\n\t}\n\n\tdisableAll() {\n\n\t\tthis.mask = 0;\n\n\t}\n\n\ttest( layers ) {\n\n\t\treturn ( this.mask & layers.mask ) !== 0;\n\n\t}\n\n\tisEnabled( channel ) {\n\n\t\treturn ( this.mask & ( 1 << channel | 0 ) ) !== 0;\n\n\t}\n\n}\n\n\nexport { Layers };\n","import { Quaternion } from '../math/Quaternion.js';\nimport { Vector3 } from '../math/Vector3.js';\nimport { Matrix4 } from '../math/Matrix4.js';\nimport { EventDispatcher } from './EventDispatcher.js';\nimport { Euler } from '../math/Euler.js';\nimport { Layers } from './Layers.js';\nimport { Matrix3 } from '../math/Matrix3.js';\nimport { generateUUID } from '../math/MathUtils.js';\n\nlet _object3DId = 0;\n\nconst _v1 = /*@__PURE__*/ new Vector3();\nconst _q1 = /*@__PURE__*/ new Quaternion();\nconst _m1 = /*@__PURE__*/ new Matrix4();\nconst _target = /*@__PURE__*/ new Vector3();\n\nconst _position = /*@__PURE__*/ new Vector3();\nconst _scale = /*@__PURE__*/ new Vector3();\nconst _quaternion = /*@__PURE__*/ new Quaternion();\n\nconst _xAxis = /*@__PURE__*/ new Vector3( 1, 0, 0 );\nconst _yAxis = /*@__PURE__*/ new Vector3( 0, 1, 0 );\nconst _zAxis = /*@__PURE__*/ new Vector3( 0, 0, 1 );\n\nconst _addedEvent = { type: 'added' };\nconst _removedEvent = { type: 'removed' };\n\nconst _childaddedEvent = { type: 'childadded', child: null };\nconst _childremovedEvent = { type: 'childremoved', child: null };\n\nclass Object3D extends EventDispatcher {\n\n\tconstructor() {\n\n\t\tsuper();\n\n\t\tthis.isObject3D = true;\n\n\t\tObject.defineProperty( this, 'id', { value: _object3DId ++ } );\n\n\t\tthis.uuid = generateUUID();\n\n\t\tthis.name = '';\n\t\tthis.type = 'Object3D';\n\n\t\tthis.parent = null;\n\t\tthis.children = [];\n\n\t\tthis.up = Object3D.DEFAULT_UP.clone();\n\n\t\tconst position = new Vector3();\n\t\tconst rotation = new Euler();\n\t\tconst quaternion = new Quaternion();\n\t\tconst scale = new Vector3( 1, 1, 1 );\n\n\t\tfunction onRotationChange() {\n\n\t\t\tquaternion.setFromEuler( rotation, false );\n\n\t\t}\n\n\t\tfunction onQuaternionChange() {\n\n\t\t\trotation.setFromQuaternion( quaternion, undefined, false );\n\n\t\t}\n\n\t\trotation._onChange( onRotationChange );\n\t\tquaternion._onChange( onQuaternionChange );\n\n\t\tObject.defineProperties( this, {\n\t\t\tposition: {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: position\n\t\t\t},\n\t\t\trotation: {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: rotation\n\t\t\t},\n\t\t\tquaternion: {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: quaternion\n\t\t\t},\n\t\t\tscale: {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tvalue: scale\n\t\t\t},\n\t\t\tmodelViewMatrix: {\n\t\t\t\tvalue: new Matrix4()\n\t\t\t},\n\t\t\tnormalMatrix: {\n\t\t\t\tvalue: new Matrix3()\n\t\t\t}\n\t\t} );\n\n\t\tthis.matrix = new Matrix4();\n\t\tthis.matrixWorld = new Matrix4();\n\n\t\tthis.matrixAutoUpdate = Object3D.DEFAULT_MATRIX_AUTO_UPDATE;\n\n\t\tthis.matrixWorldAutoUpdate = Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE; // checked by the renderer\n\t\tthis.matrixWorldNeedsUpdate = false;\n\n\t\tthis.layers = new Layers();\n\t\tthis.visible = true;\n\n\t\tthis.castShadow = false;\n\t\tthis.receiveShadow = false;\n\n\t\tthis.frustumCulled = true;\n\t\tthis.renderOrder = 0;\n\n\t\tthis.animations = [];\n\n\t\tthis.userData = {};\n\n\t}\n\n\tonBeforeShadow( /* renderer, object, camera, shadowCamera, geometry, depthMaterial, group */ ) {}\n\n\tonAfterShadow( /* renderer, object, camera, shadowCamera, geometry, depthMaterial, group */ ) {}\n\n\tonBeforeRender( /* renderer, scene, camera, geometry, material, group */ ) {}\n\n\tonAfterRender( /* renderer, scene, camera, geometry, material, group */ ) {}\n\n\tapplyMatrix4( matrix ) {\n\n\t\tif ( this.matrixAutoUpdate ) this.updateMatrix();\n\n\t\tthis.matrix.premultiply( matrix );\n\n\t\tthis.matrix.decompose( this.position, this.quaternion, this.scale );\n\n\t}\n\n\tapplyQuaternion( q ) {\n\n\t\tthis.quaternion.premultiply( q );\n\n\t\treturn this;\n\n\t}\n\n\tsetRotationFromAxisAngle( axis, angle ) {\n\n\t\t// assumes axis is normalized\n\n\t\tthis.quaternion.setFromAxisAngle( axis, angle );\n\n\t}\n\n\tsetRotationFromEuler( euler ) {\n\n\t\tthis.quaternion.setFromEuler( euler, true );\n\n\t}\n\n\tsetRotationFromMatrix( m ) {\n\n\t\t// assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled)\n\n\t\tthis.quaternion.setFromRotationMatrix( m );\n\n\t}\n\n\tsetRotationFromQuaternion( q ) {\n\n\t\t// assumes q is normalized\n\n\t\tthis.quaternion.copy( q );\n\n\t}\n\n\trotateOnAxis( axis, angle ) {\n\n\t\t// rotate object on axis in object space\n\t\t// axis is assumed to be normalized\n\n\t\t_q1.setFromAxisAngle( axis, angle );\n\n\t\tthis.quaternion.multiply( _q1 );\n\n\t\treturn this;\n\n\t}\n\n\trotateOnWorldAxis( axis, angle ) {\n\n\t\t// rotate object on axis in world space\n\t\t// axis is assumed to be normalized\n\t\t// method assumes no rotated parent\n\n\t\t_q1.setFromAxisAngle( axis, angle );\n\n\t\tthis.quaternion.premultiply( _q1 );\n\n\t\treturn this;\n\n\t}\n\n\trotateX( angle ) {\n\n\t\treturn this.rotateOnAxis( _xAxis, angle );\n\n\t}\n\n\trotateY( angle ) {\n\n\t\treturn this.rotateOnAxis( _yAxis, angle );\n\n\t}\n\n\trotateZ( angle ) {\n\n\t\treturn this.rotateOnAxis( _zAxis, angle );\n\n\t}\n\n\ttranslateOnAxis( axis, distance ) {\n\n\t\t// translate object by distance along axis in object space\n\t\t// axis is assumed to be normalized\n\n\t\t_v1.copy( axis ).applyQuaternion( this.quaternion );\n\n\t\tthis.position.add( _v1.multiplyScalar( distance ) );\n\n\t\treturn this;\n\n\t}\n\n\ttranslateX( distance ) {\n\n\t\treturn this.translateOnAxis( _xAxis, distance );\n\n\t}\n\n\ttranslateY( distance ) {\n\n\t\treturn this.translateOnAxis( _yAxis, distance );\n\n\t}\n\n\ttranslateZ( distance ) {\n\n\t\treturn this.translateOnAxis( _zAxis, distance );\n\n\t}\n\n\tlocalToWorld( vector ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\treturn vector.applyMatrix4( this.matrixWorld );\n\n\t}\n\n\tworldToLocal( vector ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\treturn vector.applyMatrix4( _m1.copy( this.matrixWorld ).invert() );\n\n\t}\n\n\tlookAt( x, y, z ) {\n\n\t\t// This method does not support objects having non-uniformly-scaled parent(s)\n\n\t\tif ( x.isVector3 ) {\n\n\t\t\t_target.copy( x );\n\n\t\t} else {\n\n\t\t\t_target.set( x, y, z );\n\n\t\t}\n\n\t\tconst parent = this.parent;\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\t_position.setFromMatrixPosition( this.matrixWorld );\n\n\t\tif ( this.isCamera || this.isLight ) {\n\n\t\t\t_m1.lookAt( _position, _target, this.up );\n\n\t\t} else {\n\n\t\t\t_m1.lookAt( _target, _position, this.up );\n\n\t\t}\n\n\t\tthis.quaternion.setFromRotationMatrix( _m1 );\n\n\t\tif ( parent ) {\n\n\t\t\t_m1.extractRotation( parent.matrixWorld );\n\t\t\t_q1.setFromRotationMatrix( _m1 );\n\t\t\tthis.quaternion.premultiply( _q1.invert() );\n\n\t\t}\n\n\t}\n\n\tadd( object ) {\n\n\t\tif ( arguments.length > 1 ) {\n\n\t\t\tfor ( let i = 0; i < arguments.length; i ++ ) {\n\n\t\t\t\tthis.add( arguments[ i ] );\n\n\t\t\t}\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tif ( object === this ) {\n\n\t\t\tconsole.error( 'THREE.Object3D.add: object can\\'t be added as a child of itself.', object );\n\t\t\treturn this;\n\n\t\t}\n\n\t\tif ( object && object.isObject3D ) {\n\n\t\t\tobject.removeFromParent();\n\t\t\tobject.parent = this;\n\t\t\tthis.children.push( object );\n\n\t\t\tobject.dispatchEvent( _addedEvent );\n\n\t\t\t_childaddedEvent.child = object;\n\t\t\tthis.dispatchEvent( _childaddedEvent );\n\t\t\t_childaddedEvent.child = null;\n\n\t\t} else {\n\n\t\t\tconsole.error( 'THREE.Object3D.add: object not an instance of THREE.Object3D.', object );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tremove( object ) {\n\n\t\tif ( arguments.length > 1 ) {\n\n\t\t\tfor ( let i = 0; i < arguments.length; i ++ ) {\n\n\t\t\t\tthis.remove( arguments[ i ] );\n\n\t\t\t}\n\n\t\t\treturn this;\n\n\t\t}\n\n\t\tconst index = this.children.indexOf( object );\n\n\t\tif ( index !== - 1 ) {\n\n\t\t\tobject.parent = null;\n\t\t\tthis.children.splice( index, 1 );\n\n\t\t\tobject.dispatchEvent( _removedEvent );\n\n\t\t\t_childremovedEvent.child = object;\n\t\t\tthis.dispatchEvent( _childremovedEvent );\n\t\t\t_childremovedEvent.child = null;\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tremoveFromParent() {\n\n\t\tconst parent = this.parent;\n\n\t\tif ( parent !== null ) {\n\n\t\t\tparent.remove( this );\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n\tclear() {\n\n\t\treturn this.remove( ... this.children );\n\n\t}\n\n\tattach( object ) {\n\n\t\t// adds object as a child of this, while maintaining the object's world transform\n\n\t\t// Note: This method does not support scene graphs having non-uniformly-scaled nodes(s)\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\t_m1.copy( this.matrixWorld ).invert();\n\n\t\tif ( object.parent !== null ) {\n\n\t\t\tobject.parent.updateWorldMatrix( true, false );\n\n\t\t\t_m1.multiply( object.parent.matrixWorld );\n\n\t\t}\n\n\t\tobject.applyMatrix4( _m1 );\n\n\t\tobject.removeFromParent();\n\t\tobject.parent = this;\n\t\tthis.children.push( object );\n\n\t\tobject.updateWorldMatrix( false, true );\n\n\t\tobject.dispatchEvent( _addedEvent );\n\n\t\t_childaddedEvent.child = object;\n\t\tthis.dispatchEvent( _childaddedEvent );\n\t\t_childaddedEvent.child = null;\n\n\t\treturn this;\n\n\t}\n\n\tgetObjectById( id ) {\n\n\t\treturn this.getObjectByProperty( 'id', id );\n\n\t}\n\n\tgetObjectByName( name ) {\n\n\t\treturn this.getObjectByProperty( 'name', name );\n\n\t}\n\n\tgetObjectByProperty( name, value ) {\n\n\t\tif ( this[ name ] === value ) return this;\n\n\t\tfor ( let i = 0, l = this.children.length; i < l; i ++ ) {\n\n\t\t\tconst child = this.children[ i ];\n\t\t\tconst object = child.getObjectByProperty( name, value );\n\n\t\t\tif ( object !== undefined ) {\n\n\t\t\t\treturn object;\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn undefined;\n\n\t}\n\n\tgetObjectsByProperty( name, value, result = [] ) {\n\n\t\tif ( this[ name ] === value ) result.push( this );\n\n\t\tconst children = this.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tchildren[ i ].getObjectsByProperty( name, value, result );\n\n\t\t}\n\n\t\treturn result;\n\n\t}\n\n\tgetWorldPosition( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\treturn target.setFromMatrixPosition( this.matrixWorld );\n\n\t}\n\n\tgetWorldQuaternion( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tthis.matrixWorld.decompose( _position, target, _scale );\n\n\t\treturn target;\n\n\t}\n\n\tgetWorldScale( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tthis.matrixWorld.decompose( _position, _quaternion, target );\n\n\t\treturn target;\n\n\t}\n\n\tgetWorldDirection( target ) {\n\n\t\tthis.updateWorldMatrix( true, false );\n\n\t\tconst e = this.matrixWorld.elements;\n\n\t\treturn target.set( e[ 8 ], e[ 9 ], e[ 10 ] ).normalize();\n\n\t}\n\n\traycast( /* raycaster, intersects */ ) {}\n\n\ttraverse( callback ) {\n\n\t\tcallback( this );\n\n\t\tconst children = this.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tchildren[ i ].traverse( callback );\n\n\t\t}\n\n\t}\n\n\ttraverseVisible( callback ) {\n\n\t\tif ( this.visible === false ) return;\n\n\t\tcallback( this );\n\n\t\tconst children = this.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tchildren[ i ].traverseVisible( callback );\n\n\t\t}\n\n\t}\n\n\ttraverseAncestors( callback ) {\n\n\t\tconst parent = this.parent;\n\n\t\tif ( parent !== null ) {\n\n\t\t\tcallback( parent );\n\n\t\t\tparent.traverseAncestors( callback );\n\n\t\t}\n\n\t}\n\n\tupdateMatrix() {\n\n\t\tthis.matrix.compose( this.position, this.quaternion, this.scale );\n\n\t\tthis.matrixWorldNeedsUpdate = true;\n\n\t}\n\n\tupdateMatrixWorld( force ) {\n\n\t\tif ( this.matrixAutoUpdate ) this.updateMatrix();\n\n\t\tif ( this.matrixWorldNeedsUpdate || force ) {\n\n\t\t\tif ( this.matrixWorldAutoUpdate === true ) {\n\n\t\t\t\tif ( this.parent === null ) {\n\n\t\t\t\t\tthis.matrixWorld.copy( this.matrix );\n\n\t\t\t\t} else {\n\n\t\t\t\t\tthis.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tthis.matrixWorldNeedsUpdate = false;\n\n\t\t\tforce = true;\n\n\t\t}\n\n\t\t// make sure descendants are updated if required\n\n\t\tconst children = this.children;\n\n\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\tconst child = children[ i ];\n\n\t\t\tchild.updateMatrixWorld( force );\n\n\t\t}\n\n\t}\n\n\tupdateWorldMatrix( updateParents, updateChildren ) {\n\n\t\tconst parent = this.parent;\n\n\t\tif ( updateParents === true && parent !== null ) {\n\n\t\t\tparent.updateWorldMatrix( true, false );\n\n\t\t}\n\n\t\tif ( this.matrixAutoUpdate ) this.updateMatrix();\n\n\t\tif ( this.matrixWorldAutoUpdate === true ) {\n\n\t\t\tif ( this.parent === null ) {\n\n\t\t\t\tthis.matrixWorld.copy( this.matrix );\n\n\t\t\t} else {\n\n\t\t\t\tthis.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix );\n\n\t\t\t}\n\n\t\t}\n\n\t\t// make sure descendants are updated\n\n\t\tif ( updateChildren === true ) {\n\n\t\t\tconst children = this.children;\n\n\t\t\tfor ( let i = 0, l = children.length; i < l; i ++ ) {\n\n\t\t\t\tconst child = children[ i ];\n\n\t\t\t\tchild.updateWorldMatrix( false, true );\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n\ttoJSON( meta ) {\n\n\t\t// meta is a string when called from JSON.stringify\n\t\tconst isRootObject = ( meta === undefined || typeof meta === 'string' );\n\n\t\tconst output = {};\n\n\t\t// meta is a hash used to collect geometries, materials.\n\t\t// not providing it implies that this is the root object\n\t\t// being serialized.\n\t\tif ( isRootObject ) {\n\n\t\t\t// initialize meta obj\n\t\t\tmeta = {\n\t\t\t\tgeometries: {},\n\t\t\t\tmaterials: {},\n\t\t\t\ttextures: {},\n\t\t\t\timages: {},\n\t\t\t\tshapes: {},\n\t\t\t\tskeletons: {},\n\t\t\t\tanimations: {},\n\t\t\t\tnodes: {}\n\t\t\t};\n\n\t\t\toutput.metadata = {\n\t\t\t\tversion: 4.6,\n\t\t\t\ttype: 'Object',\n\t\t\t\tgenerator: 'Object3D.toJSON'\n\t\t\t};\n\n\t\t}\n\n\t\t// standard Object3D serialization\n\n\t\tconst object = {};\n\n\t\tobject.uuid = this.uuid;\n\t\tobject.type = this.type;\n\n\t\tif ( this.name !== '' ) object.name = this.name;\n\t\tif ( this.castShadow === true ) object.castShadow = true;\n\t\tif ( this.receiveShadow === true ) object.receiveShadow = true;\n\t\tif ( this.visible === false ) object.visible = false;\n\t\tif ( this.frustumCulled === false ) object.frustumCulled = false;\n\t\tif ( this.renderOrder !== 0 ) object.renderOrder = this.renderOrder;\n\t\tif ( Object.keys( this.userData ).length > 0 ) object.userData = this.userData;\n\n\t\tobject.layers = this.layers.mask;\n\t\tobject.matrix = this.matrix.toArray();\n\t\tobject.up = this.up.toArray();\n\n\t\tif ( this.matrixAutoUpdate === false ) object.matrixAutoUpdate = false;\n\n\t\t// object specific properties\n\n\t\tif ( this.isInstancedMesh ) {\n\n\t\t\tobject.type = 'InstancedMesh';\n\t\t\tobject.count = this.count;\n\t\t\tobject.instanceMatrix = this.instanceMatrix.toJSON();\n\t\t\tif ( this.instanceColor !== null ) object.instanceColor = this.instanceColor.toJSON();\n\n\t\t}\n\n\t\tif ( this.isBatchedMesh ) {\n\n\t\t\tobject.type = 'BatchedMesh';\n\t\t\tobject.perObjectFrustumCulled = this.perObjectFrustumCulled;\n\t\t\tobject.sortObjects = this.sortObjects;\n\n\t\t\tobject.drawRanges = this._drawRanges;\n\t\t\tobject.reservedRanges = this._reservedRanges;\n\n\t\t\tobject.visibility = this._visibility;\n\t\t\tobject.active = this._active;\n\t\t\tobject.bounds = this._bounds.map( bound => ( {\n\t\t\t\tboxInitialized: bound.boxInitialized,\n\t\t\t\tboxMin: bound.box.min.toArray(),\n\t\t\t\tboxMax: bound.box.max.toArray(),\n\n\t\t\t\tsphereInitialized: bound.sphereInitialized,\n\t\t\t\tsphereRadius: bound.sphere.radius,\n\t\t\t\tsphereCenter: bound.sphere.center.toArray()\n\t\t\t} ) );\n\n\t\t\tobject.maxInstanceCount = this._maxInstanceCount;\n\t\t\tobject.maxVertexCount = this._maxVertexCount;\n\t\t\tobject.maxIndexCount = this._maxIndexCount;\n\n\t\t\tobject.geometryInitialized = this._geometryInitialized;\n\t\t\tobject.geometryCount = this._geometryCount;\n\n\t\t\tobject.matricesTexture = this._matricesTexture.toJSON( meta );\n\n\t\t\tif ( this._colorsTexture !== null ) object.colorsTexture = this._colorsTexture.toJSON( meta );\n\n\t\t\tif ( this.boundingSphere !== null ) {\n\n\t\t\t\tobject.boundingSphere = {\n\t\t\t\t\tcenter: object.boundingSphere.center.toArray(),\n\t\t\t\t\tradius: object.boundingSphere.radius\n\t\t\t\t};\n\n\t\t\t}\n\n\t\t\tif ( this.boundingBox !== null ) {\n\n\t\t\t\tobject.boundingBox = {\n\t\t\t\t\tmin: object.boundingBox.min.toArray(),\n\t\t\t\t\tmax: object.boundingBox.max.toArray()\n\t\t\t\t};\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tfunction serialize( library, element ) {\n\n\t\t\tif ( library[ element.uuid ] === undefined ) {\n\n\t\t\t\tlibrary[ element.uuid ] = element.toJSON( meta );\n\n\t\t\t}\n\n\t\t\treturn element.uuid;\n\n\t\t}\n\n\t\tif ( this.isScene ) {\n\n\t\t\tif ( this.background ) {\n\n\t\t\t\tif ( this.background.isColor ) {\n\n\t\t\t\t\tobject.background = this.background.toJSON();\n\n\t\t\t\t} else if ( this.background.isTexture ) {\n\n\t\t\t\t\tobject.background = this.background.toJSON( meta ).uuid;\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif ( this.environment && this.environment.isTexture && this.environment.isRenderTargetTexture !== true ) {\n\n\t\t\t\tobject.environment = this.environment.toJSON( meta ).uuid;\n\n\t\t\t}\n\n\t\t} else if ( this.isMesh || this.isLine || this.isPoints ) {\n\n\t\t\tobject.geometry = serialize( meta.geometries, this.geometry );\n\n\t\t\tconst parameters = this.geometry.parameters;\n\n\t\t\tif ( parameters !== undefined && parameters.shapes !== undefined ) {\n\n\t\t\t\tconst shapes = parameters.shapes;\n\n\t\t\t\tif ( Array.isArray( shapes ) ) {\n\n\t\t\t\t\tfor ( let i = 0, l = shapes.length; i < l; i ++ ) {\n\n\t\t\t\t\t\tconst shape = shapes[ i ];\n\n\t\t\t\t\t\tserialize( meta.shapes, shape );\n\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\n\t\t\t\t\tserialize( meta.shapes, shapes );\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.isSkinnedMesh ) {\n\n\t\t\tobject.bindMode = this.bindMode;\n\t\t\tobject.bindMatrix = this.bindMatrix.toArray();\n\n\t\t\tif ( this.skeleton !== undefined ) {\n\n\t\t\t\tserialize( meta.skeletons, this.skeleton );\n\n\t\t\t\tobject.skeleton = this.skeleton.uuid;\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( this.material !== undefined ) {\n\n\t\t\tif ( Array.isArray( this.material ) ) {\n\n\t\t\t\tconst uuids = [];\n\n\t\t\t\tfor ( let i = 0, l = this.material.length; i < l; i ++ ) {\n\n\t\t\t\t\tuuids.push( serialize( meta.materials, this.material[ i ] ) );\n\n\t\t\t\t}\n\n\t\t\t\tobject.material = uuids;\n\n\t\t\t} else {\n\n\t\t\t\tobject.material = serialize( meta.materials, this.material );\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tif ( this.children.length > 0 ) {\n\n\t\t\tobject.children = [];\n\n\t\t\tfor ( let i = 0; i < this.children.length; i ++ ) {\n\n\t\t\t\tobject.children.push( this.children[ i ].toJSON( meta ).object );\n\n\t\t\t}\n\n\t\t}\n\n\t\t//\n\n\t\tif ( this.animations.length > 0 ) {\n\n\t\t\tobject.animations = [];\n\n\t\t\tfor ( let i = 0; i < this.animations.length; i ++ ) {\n\n\t\t\t\tconst animation = this.animations[ i ];\n\n\t\t\t\tobject.animations.push( serialize( meta.animations, animation ) );\n\n\t\t\t}\n\n\t\t}\n\n\t\tif ( isRootObject ) {\n\n\t\t\tconst geometries = extractFromCache( meta.geometries );\n\t\t\tconst materials = extractFromCache( meta.materials );\n\t\t\tconst textures = extractFromCache( meta.textures );\n\t\t\tconst images = extractFromCache( meta.images );\n\t\t\tconst shapes = extractFromCache( meta.shapes );\n\t\t\tconst skeletons = extractFromCache( meta.skeletons );\n\t\t\tconst animations = extractFromCache( meta.animations );\n\t\t\tconst nodes = extractFromCache( meta.nodes );\n\n\t\t\tif ( geometries.length > 0 ) output.geometries = geometries;\n\t\t\tif ( materials.length > 0 ) output.materials = materials;\n\t\t\tif ( textures.length > 0 ) output.textures = textures;\n\t\t\tif ( images.length > 0 ) output.images = images;\n\t\t\tif ( shapes.length > 0 ) output.shapes = shapes;\n\t\t\tif ( skeletons.length > 0 ) output.skeletons = skeletons;\n\t\t\tif ( animations.length > 0 ) output.animations = animations;\n\t\t\tif ( nodes.length > 0 ) output.nodes = nodes;\n\n\t\t}\n\n\t\toutput.object = object;\n\n\t\treturn output;\n\n\t\t// extract data from the cache hash\n\t\t// remove metadata on each item\n\t\t// and return as array\n\t\tfunction extractFromCache( cache ) {\n\n\t\t\tconst values = [];\n\t\t\tfor ( const key in cache ) {\n\n\t\t\t\tconst data = cache[ key ];\n\t\t\t\tdelete data.metadata;\n\t\t\t\tvalues.push( data );\n\n\t\t\t}\n\n\t\t\treturn values;\n\n\t\t}\n\n\t}\n\n\tclone( recursive ) {\n\n\t\treturn new this.constructor().copy( this, recursive );\n\n\t}\n\n\tcopy( source, recursive = true ) {\n\n\t\tthis.name = source.name;\n\n\t\tthis.up.copy( source.up );\n\n\t\tthis.position.copy( source.position );\n\t\tthis.rotation.order = source.rotation.order;\n\t\tthis.quaternion.copy( source.quaternion );\n\t\tthis.scale.copy( source.scale );\n\n\t\tthis.matrix.copy( source.matrix );\n\t\tthis.matrixWorld.copy( source.matrixWorld );\n\n\t\tthis.matrixAutoUpdate = source.matrixAutoUpdate;\n\n\t\tthis.matrixWorldAutoUpdate = source.matrixWorldAutoUpdate;\n\t\tthis.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate;\n\n\t\tthis.layers.mask = source.layers.mask;\n\t\tthis.visible = source.visible;\n\n\t\tthis.castShadow = source.castShadow;\n\t\tthis.receiveShadow = source.receiveShadow;\n\n\t\tthis.frustumCulled = source.frustumCulled;\n\t\tthis.renderOrder = source.renderOrder;\n\n\t\tthis.animations = source.animations.slice();\n\n\t\tthis.userData = JSON.parse( JSON.stringify( source.userData ) );\n\n\t\tif ( recursive === true ) {\n\n\t\t\tfor ( let i = 0; i < source.children.length; i ++ ) {\n\n\t\t\t\tconst child = source.children[ i ];\n\t\t\t\tthis.add( child.clone() );\n\n\t\t\t}\n\n\t\t}\n\n\t\treturn this;\n\n\t}\n\n}\n\nObject3D.DEFAULT_UP = /*@__PURE__*/ new Vector3( 0, 1, 0 );\nObject3D.DEFAULT_MATRIX_AUTO_UPDATE = true;\nObject3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE = true;\n\nexport { Object3D };\n"],"names":["n","m","x","y","t","value","array","constructor","Float32Array","Uint32Array","Uint16Array","Uint8Array","Int32Array","Math","max","Int16Array","Int8Array","Error","round","FrontSide","WebGLCoordinateSystem","WebGPUCoordinateSystem","exports","_lut","generateUUID","d0","random","d1","d2","d3","toLowerCase","clamp","min","PI","Quaternion","_createClass","arguments","length","undefined","z","w","_classCallCheck","this","isQuaternion","_x","_y","_z","_w","key","get","set","_onChangeCallback","quaternion","euler","update","order","_order","cos","sin","c1","c2","c3","s1","s2","s3","console","warn","axis","angle","halfAngle","s","te","elements","m11","m12","m13","m21","m22","m23","m31","m32","m33","trace","sqrt","vFrom","vTo","r","dot","Number","EPSILON","abs","normalize","q","acos","step","angleTo","slerp","conjugate","v","l","multiplyQuaternions","a","b","qax","qay","qaz","qaw","qbx","qby","qbz","qbw","qb","copy","cosHalfTheta","sqrSinHalfTheta","sinHalfTheta","halfTheta","atan2","ratioA","ratioB","qa","theta1","theta2","x0","r1","r2","offset","attribute","index","getX","getY","getZ","getW","toArray","callback","Symbol","iterator","_regeneratorRuntime","mark","wrap","_context","prev","next","stop","dst","dstOffset","src0","srcOffset0","src1","srcOffset1","y0","z0","w0","x1","y1","z1","w1","dir","sqrSin","len","tDir","f","Vector3","prototype","isVector3","scalar","applyQuaternion","_quaternion","setFromEuler","setFromAxisAngle","e","applyMatrix3","vx","vy","vz","qx","qy","qz","qw","tx","ty","tz","camera","applyMatrix4","matrixWorldInverse","projectionMatrix","projectionMatrixInverse","matrixWorld","multiplyScalar","minVal","maxVal","divideScalar","floor","ceil","trunc","alpha","v1","v2","crossVectors","ax","ay","az","bx","by","bz","denominator","lengthSq","planeNormal","_vector","projectOnVector","sub","normal","theta","distanceToSquared","dx","dy","dz","setFromSphericalCoords","radius","phi","sinPhiRadius","c","setFromCylindricalCoords","sx","setFromMatrixColumn","sy","sz","fromArray","g","u","Matrix4","n11","n12","n13","n14","n21","n22","n23","n24","n31","n32","n33","n34","n41","n42","n43","n44","isMatrix4","me","xAxis","yAxis","zAxis","scaleX","_v1","scaleY","scaleZ","d","ae","af","be","bf","ce","cf","de","df","ac","ad","bc","bd","compose","_zero","_one","eye","target","up","subVectors","multiplyMatrices","a11","a12","a13","a14","a21","a22","a23","a24","a31","a32","a33","a34","a41","a42","a43","a44","b11","b12","b13","b14","b21","b22","b23","b24","b31","b32","b33","b34","b41","b42","b43","b44","tmp","t11","t12","t13","t14","det","detInv","scaleXSq","scaleYSq","scaleZSq","xy","xz","yx","yz","zx","zy","position","scale","x2","y2","z2","xx","yy","zz","wx","wy","wz","determinant","_m1","invSX","invSY","invSZ","setFromRotationMatrix","left","right","top","bottom","near","far","coordinateSystem","zInv","h","p","matrix","i","Box3","Vector2","isVector2","center","isBox3","makeEmpty","il","expandByPoint","count","fromBufferAttribute","points","size","halfSize","add","object","precise","expandByObject","box","isEmpty","addVectors","point","vector","addScalar","updateWorldMatrix","geometry","positionAttribute","getAttribute","isInstancedMesh","isMesh","getVertexPosition","boundingBox","computeBoundingBox","_box","union","children","sphere","clampPoint","plane","constant","triangle","getCenter","_center","_extents","_v0","_v2","_f0","_f1","_f2","axes","satForAxes","_triangleNormal","distanceTo","getSize","_points","setFromPoints","equals","_testAxis","v0","extents","j","p0","p1","p2","Matrix3","Sphere","isSphere","optionalCenter","maxRadiusSq","radiusSum","intersectsSphere","distanceToPoint","deltaLengthSq","expandByScalar","getMaxScaleOnAxis","delta","addScaledVector","setLength","isMatrix3","setFromMatrix3Column","matrix4","setFromMatrix4","invert","transpose","rotation","cx","cy","premultiply","_m3","makeScale","makeRotation","makeTranslation","EventDispatcher","type","listener","_listeners","listeners","indexOf","push","listenerArray","splice","event","slice","call","_matrix","Euler","DEFAULT_ORDER","isEuler","asin","makeRotationFromQuaternion","newOrder","setFromQuaternion","Layers","mask","channel","layers","_object3DId","_q1","_target","_position","_scale","_xAxis","_yAxis","_zAxis","_addedEvent","_removedEvent","_childaddedEvent","child","_childremovedEvent","Object3D","_EventDispatcher","_this","_callSuper","isObject3D","Object","defineProperty","uuid","name","parent","DEFAULT_UP","clone","_onChange","defineProperties","configurable","enumerable","modelViewMatrix","normalMatrix","matrixAutoUpdate","DEFAULT_MATRIX_AUTO_UPDATE","matrixWorldAutoUpdate","DEFAULT_MATRIX_WORLD_AUTO_UPDATE","matrixWorldNeedsUpdate","visible","castShadow","receiveShadow","frustumCulled","renderOrder","animations","userData","_inherits","updateMatrix","decompose","multiply","rotateOnAxis","distance","translateOnAxis","setFromMatrixPosition","isCamera","isLight","lookAt","extractRotation","error","removeFromParent","dispatchEvent","remove","apply","_toConsumableArray","id","getObjectByProperty","result","getObjectsByProperty","traverse","traverseVisible","traverseAncestors","force","updateMatrixWorld","updateParents","updateChildren","meta","isRootObject","output","geometries","materials","textures","images","shapes","skeletons","nodes","metadata","version","generator","serialize","library","element","toJSON","keys","instanceMatrix","instanceColor","isBatchedMesh","perObjectFrustumCulled","sortObjects","drawRanges","_drawRanges","reservedRanges","_reservedRanges","visibility","_visibility","active","_active","bounds","_bounds","map","bound","boxInitialized","boxMin","boxMax","sphereInitialized","sphereRadius","sphereCenter","maxInstanceCount","_maxInstanceCount","maxVertexCount","_maxVertexCount","maxIndexCount","_maxIndexCount","geometryInitialized","_geometryInitialized","geometryCount","_geometryCount","matricesTexture","_matricesTexture","_colorsTexture","colorsTexture","boundingSphere","isScene","background","isColor","isTexture","environment","isRenderTargetTexture","isLine","isPoints","parameters","Array","isArray","shape","isSkinnedMesh","bindMode","bindMatrix","skeleton","material","uuids","animation","extractFromCache","cache","values","data","recursive","source","JSON","parse","stringify"],"mappings":"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"}
|