@playdrop/playdrop-cli 0.3.4-build.1 → 0.3.8-build.1
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/README.md +60 -23
- package/config/client-meta.json +5 -5
- package/dist/apps/upload.js +6 -3
- package/dist/assets/model-artifacts.js +1 -1
- package/dist/catalogue.d.ts +13 -0
- package/dist/catalogue.js +95 -34
- package/dist/commandContext.d.ts +1 -0
- package/dist/commandContext.js +45 -15
- package/dist/commands/browse.d.ts +16 -0
- package/dist/commands/browse.js +370 -0
- package/dist/commands/build.js +4 -9
- package/dist/commands/capture.js +24 -24
- package/dist/commands/captureRemote.d.ts +11 -0
- package/dist/commands/captureRemote.js +90 -0
- package/dist/commands/comments.d.ts +14 -0
- package/dist/commands/comments.js +189 -0
- package/dist/commands/create.js +231 -132
- package/dist/commands/createRemixContent.d.ts +3 -0
- package/dist/commands/createRemixContent.js +310 -0
- package/dist/commands/creations.d.ts +49 -0
- package/dist/commands/creations.js +657 -0
- package/dist/commands/credits.d.ts +10 -0
- package/dist/commands/credits.js +91 -0
- package/dist/commands/detail.d.ts +2 -2
- package/dist/commands/detail.js +148 -290
- package/dist/commands/dev.js +24 -24
- package/dist/commands/devShared.js +2 -2
- package/dist/commands/documentation.d.ts +4 -1
- package/dist/commands/documentation.js +79 -104
- package/dist/commands/feedback.d.ts +12 -9
- package/dist/commands/feedback.js +125 -257
- package/dist/commands/format.js +6 -13
- package/dist/commands/generation.d.ts +11 -1
- package/dist/commands/generation.js +204 -60
- package/dist/commands/gettingStarted.d.ts +1 -0
- package/dist/commands/gettingStarted.js +26 -0
- package/dist/commands/init.js +29 -27
- package/dist/commands/login.js +9 -8
- package/dist/commands/logout.js +2 -1
- package/dist/commands/notifications.d.ts +14 -0
- package/dist/commands/notifications.js +179 -0
- package/dist/commands/search.d.ts +13 -0
- package/dist/commands/search.js +198 -0
- package/dist/commands/upload.js +31 -17
- package/dist/commands/validate.js +15 -1
- package/dist/commands/versionsBrowse.d.ts +7 -0
- package/dist/commands/versionsBrowse.js +209 -0
- package/dist/commands/whoami.js +9 -8
- package/dist/errors.d.ts +9 -0
- package/dist/errors.js +52 -0
- package/dist/externalAssetPackValidation.d.ts +2 -0
- package/dist/externalAssetPackValidation.js +115 -0
- package/dist/http.js +1 -1
- package/dist/index.js +583 -630
- package/dist/messages.js +11 -11
- package/dist/output.d.ts +5 -0
- package/dist/output.js +45 -0
- package/dist/playwright.js +1 -1
- package/dist/refs.d.ts +18 -0
- package/dist/refs.js +105 -0
- package/node_modules/@playdrop/ai-client/dist/index.d.ts +43 -16
- package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/ai-client/dist/index.js +1 -1
- package/node_modules/@playdrop/ai-client/package.json +1 -0
- package/node_modules/@playdrop/api-client/dist/client.d.ts +46 -28
- package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/client.js +282 -1669
- package/node_modules/@playdrop/api-client/dist/core/errors.d.ts +9 -0
- package/node_modules/@playdrop/api-client/dist/core/errors.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/core/errors.js +46 -0
- package/node_modules/@playdrop/api-client/dist/core/request.d.ts +27 -0
- package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/core/request.js +122 -0
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +75 -0
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/admin.js +282 -0
- package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +22 -0
- package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/ai.js +15 -0
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +61 -0
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/apps.js +323 -0
- package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts +61 -0
- package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/asset-packs.js +315 -0
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +64 -0
- package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/assets.js +315 -0
- package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts +28 -0
- package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/auth.js +78 -0
- package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts +29 -0
- package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/comments.js +65 -0
- package/node_modules/@playdrop/api-client/dist/domains/me.d.ts +24 -0
- package/node_modules/@playdrop/api-client/dist/domains/me.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/me.js +35 -0
- package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts +37 -0
- package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/payments.js +148 -0
- package/node_modules/@playdrop/api-client/dist/domains/search.d.ts +27 -0
- package/node_modules/@playdrop/api-client/dist/domains/search.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/search.js +65 -0
- package/node_modules/@playdrop/api-client/dist/index.d.ts +36 -56
- package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.js +112 -44
- package/node_modules/@playdrop/api-client/package.json +3 -2
- package/node_modules/@playdrop/boxel-core/package.json +1 -1
- package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +1 -1
- package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +1 -1
- package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +1 -1
- package/node_modules/@playdrop/boxel-three/package.json +2 -1
- package/node_modules/@playdrop/config/client-meta.json +5 -5
- package/node_modules/@playdrop/config/dist/src/constants.d.ts +5 -0
- package/node_modules/@playdrop/config/dist/src/constants.d.ts.map +1 -1
- package/node_modules/@playdrop/config/dist/src/constants.js +5 -1
- package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@playdrop/config/package.json +1 -1
- package/node_modules/@playdrop/types/dist/api.d.ts +200 -18
- package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/api.js +30 -1
- package/node_modules/@playdrop/types/dist/app.d.ts +0 -14
- package/node_modules/@playdrop/types/dist/app.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/app.js +0 -10
- package/node_modules/@playdrop/types/dist/asset-pack.d.ts +12 -1
- package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/asset.d.ts +92 -0
- package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/graph.d.ts +21 -0
- package/node_modules/@playdrop/types/dist/graph.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/graph.js +66 -0
- package/node_modules/@playdrop/types/dist/realtime.d.ts +26 -26
- package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/version.d.ts +6 -0
- package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
- package/node_modules/three/LICENSE +1 -1
- package/node_modules/three/README.md +7 -7
- package/node_modules/three/build/three.cjs +49655 -25499
- package/node_modules/three/build/three.core.js +58952 -0
- package/node_modules/three/build/three.core.min.js +6 -0
- package/node_modules/three/build/three.module.js +11162 -45962
- package/node_modules/three/build/three.module.min.js +2 -2
- package/node_modules/three/build/three.tsl.js +640 -0
- package/node_modules/three/build/three.tsl.min.js +6 -0
- package/node_modules/three/build/three.webgpu.js +79685 -0
- package/node_modules/three/build/three.webgpu.min.js +6 -0
- package/node_modules/three/build/three.webgpu.nodes.js +79456 -0
- package/node_modules/three/build/three.webgpu.nodes.min.js +6 -0
- package/node_modules/three/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
- package/node_modules/three/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
- package/node_modules/three/examples/jsm/Addons.js +8 -18
- package/node_modules/three/examples/jsm/animation/AnimationClipCreator.js +59 -7
- package/node_modules/three/examples/jsm/animation/CCDIKSolver.js +154 -45
- package/node_modules/three/examples/jsm/capabilities/WebGL.js +28 -23
- package/node_modules/three/examples/jsm/capabilities/WebGPU.js +19 -17
- package/node_modules/three/examples/jsm/controls/ArcballControls.js +636 -324
- package/node_modules/three/examples/jsm/controls/DragControls.js +332 -101
- package/node_modules/three/examples/jsm/controls/FirstPersonControls.js +291 -169
- package/node_modules/three/examples/jsm/controls/FlyControls.js +245 -191
- package/node_modules/three/examples/jsm/controls/MapControls.js +43 -9
- package/node_modules/three/examples/jsm/controls/OrbitControls.js +1156 -802
- package/node_modules/three/examples/jsm/controls/PointerLockControls.js +137 -35
- package/node_modules/three/examples/jsm/controls/TrackballControls.js +629 -456
- package/node_modules/three/examples/jsm/controls/TransformControls.js +442 -97
- package/node_modules/three/examples/jsm/csm/CSM.js +230 -17
- package/node_modules/three/examples/jsm/csm/CSMFrustum.js +61 -4
- package/node_modules/three/examples/jsm/csm/CSMHelper.js +50 -0
- package/node_modules/three/examples/jsm/csm/CSMShader.js +17 -5
- package/node_modules/three/examples/jsm/csm/CSMShadowNode.js +599 -0
- package/node_modules/three/examples/jsm/curves/CurveExtras.js +303 -31
- package/node_modules/three/examples/jsm/curves/NURBSCurve.js +91 -16
- package/node_modules/three/examples/jsm/curves/NURBSSurface.js +52 -6
- package/node_modules/three/examples/jsm/curves/NURBSUtils.js +102 -112
- package/node_modules/three/examples/jsm/curves/NURBSVolume.js +24 -4
- package/node_modules/three/examples/jsm/effects/AnaglyphEffect.js +39 -14
- package/node_modules/three/examples/jsm/effects/AsciiEffect.js +69 -22
- package/node_modules/three/examples/jsm/effects/OutlineEffect.js +61 -111
- package/node_modules/three/examples/jsm/effects/ParallaxBarrierEffect.js +48 -12
- package/node_modules/three/examples/jsm/effects/StereoEffect.js +37 -1
- package/node_modules/three/examples/jsm/environments/DebugEnvironment.js +50 -0
- package/node_modules/three/examples/jsm/environments/RoomEnvironment.js +82 -48
- package/node_modules/three/examples/jsm/exporters/DRACOExporter.js +59 -15
- package/node_modules/three/examples/jsm/exporters/EXRExporter.js +58 -19
- package/node_modules/three/examples/jsm/exporters/GLTFExporter.js +460 -174
- package/node_modules/three/examples/jsm/exporters/KTX2Exporter.js +80 -25
- package/node_modules/three/examples/jsm/exporters/OBJExporter.js +25 -1
- package/node_modules/three/examples/jsm/exporters/PLYExporter.js +51 -17
- package/node_modules/three/examples/jsm/exporters/STLExporter.js +27 -5
- package/node_modules/three/examples/jsm/exporters/USDZExporter.js +783 -268
- package/node_modules/three/examples/jsm/geometries/BoxLineGeometry.js +23 -0
- package/node_modules/three/examples/jsm/geometries/ConvexGeometry.js +19 -0
- package/node_modules/three/examples/jsm/geometries/DecalGeometry.js +94 -30
- package/node_modules/three/examples/jsm/geometries/ParametricFunctions.js +100 -0
- package/node_modules/three/examples/jsm/geometries/ParametricGeometry.js +38 -5
- package/node_modules/three/examples/jsm/geometries/RoundedBoxGeometry.js +68 -7
- package/node_modules/three/examples/jsm/geometries/TeapotGeometry.js +23 -38
- package/node_modules/three/examples/jsm/geometries/TextGeometry.js +48 -21
- package/node_modules/three/examples/jsm/gpgpu/BitonicSort.js +715 -0
- package/node_modules/three/examples/jsm/helpers/LightProbeHelper.js +79 -44
- package/node_modules/three/examples/jsm/helpers/LightProbeHelperGPU.js +102 -0
- package/node_modules/three/examples/jsm/helpers/OctreeHelper.js +36 -0
- package/node_modules/three/examples/jsm/helpers/PositionalAudioHelper.js +60 -0
- package/node_modules/three/examples/jsm/helpers/RapierHelper.js +59 -0
- package/node_modules/three/examples/jsm/helpers/RectAreaLightHelper.js +36 -3
- package/node_modules/three/examples/jsm/helpers/TextureHelper.js +28 -0
- package/node_modules/three/examples/jsm/helpers/TextureHelperGPU.js +214 -0
- package/node_modules/three/examples/jsm/helpers/VertexNormalsHelper.js +61 -2
- package/node_modules/three/examples/jsm/helpers/VertexTangentsHelper.js +47 -2
- package/node_modules/three/examples/jsm/helpers/ViewHelper.js +192 -65
- package/node_modules/three/examples/jsm/inspector/Inspector.js +427 -0
- package/node_modules/three/examples/jsm/inspector/RendererInspector.js +415 -0
- package/node_modules/three/examples/jsm/inspector/tabs/Console.js +204 -0
- package/node_modules/three/examples/jsm/inspector/tabs/Parameters.js +332 -0
- package/node_modules/three/examples/jsm/inspector/tabs/Performance.js +268 -0
- package/node_modules/three/examples/jsm/inspector/tabs/Viewer.js +166 -0
- package/node_modules/three/examples/jsm/inspector/ui/Graph.js +95 -0
- package/node_modules/three/examples/jsm/inspector/ui/Item.js +170 -0
- package/node_modules/three/examples/jsm/inspector/ui/List.js +75 -0
- package/node_modules/three/examples/jsm/inspector/ui/Profiler.js +170 -0
- package/node_modules/three/examples/jsm/inspector/ui/Style.js +654 -0
- package/node_modules/three/examples/jsm/inspector/ui/Tab.js +46 -0
- package/node_modules/three/examples/jsm/inspector/ui/Values.js +423 -0
- package/node_modules/three/examples/jsm/inspector/ui/utils.js +56 -0
- package/node_modules/three/examples/jsm/interactive/HTMLMesh.js +50 -21
- package/node_modules/three/examples/jsm/interactive/InteractiveGroup.js +170 -62
- package/node_modules/three/examples/jsm/interactive/SelectionBox.js +106 -9
- package/node_modules/three/examples/jsm/interactive/SelectionHelper.js +76 -30
- package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.js +8 -10
- package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
- package/node_modules/three/examples/jsm/libs/demuxer_mp4.js +109 -0
- package/node_modules/three/examples/jsm/libs/draco/README.md +2 -2
- package/node_modules/three/examples/jsm/libs/fflate.module.js +694 -496
- package/node_modules/three/examples/jsm/libs/ktx-parse.module.js +1 -1
- package/node_modules/three/examples/jsm/libs/meshopt_decoder.module.js +75 -58
- package/node_modules/three/examples/jsm/libs/motion-controllers.module.js +1 -1
- package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.js +1 -8723
- package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.module.js +1 -8734
- package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
- package/node_modules/three/examples/jsm/libs/tween.module.js +32 -14
- package/node_modules/three/examples/jsm/lighting/TiledLighting.js +42 -0
- package/node_modules/three/examples/jsm/lights/LightProbeGenerator.js +65 -14
- package/node_modules/three/examples/jsm/lights/RectAreaLightTexturesLib.js +127 -0
- package/node_modules/three/examples/jsm/lights/RectAreaLightUniformsLib.js +20 -59
- package/node_modules/three/examples/jsm/lines/Line2.js +41 -4
- package/node_modules/three/examples/jsm/lines/LineGeometry.js +80 -2
- package/node_modules/three/examples/jsm/lines/LineMaterial.js +100 -22
- package/node_modules/three/examples/jsm/lines/LineSegments2.js +69 -4
- package/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js +65 -8
- package/node_modules/three/examples/jsm/lines/Wireframe.js +58 -6
- package/node_modules/three/examples/jsm/lines/WireframeGeometry2.js +27 -2
- package/node_modules/three/examples/jsm/lines/webgpu/Line2.js +46 -0
- package/node_modules/three/examples/jsm/lines/webgpu/LineSegments2.js +411 -0
- package/node_modules/three/examples/jsm/lines/webgpu/Wireframe.js +86 -0
- package/node_modules/three/examples/jsm/loaders/3DMLoader.js +86 -23
- package/node_modules/three/examples/jsm/loaders/3MFLoader.js +148 -5
- package/node_modules/three/examples/jsm/loaders/AMFLoader.js +32 -12
- package/node_modules/three/examples/jsm/loaders/BVHLoader.js +59 -12
- package/node_modules/three/examples/jsm/loaders/ColladaLoader.js +51 -12
- package/node_modules/three/examples/jsm/loaders/DDSLoader.js +68 -1
- package/node_modules/three/examples/jsm/loaders/DRACOLoader.js +149 -23
- package/node_modules/three/examples/jsm/loaders/EXRLoader.js +584 -109
- package/node_modules/three/examples/jsm/loaders/FBXLoader.js +165 -97
- package/node_modules/three/examples/jsm/loaders/FontLoader.js +83 -6
- package/node_modules/three/examples/jsm/loaders/GCodeLoader.js +37 -6
- package/node_modules/three/examples/jsm/loaders/GLTFLoader.js +337 -108
- package/node_modules/three/examples/jsm/loaders/HDRCubeTextureLoader.js +52 -3
- package/node_modules/three/examples/jsm/loaders/HDRLoader.js +486 -0
- package/node_modules/three/examples/jsm/loaders/IESLoader.js +42 -0
- package/node_modules/three/examples/jsm/loaders/KMZLoader.js +33 -0
- package/node_modules/three/examples/jsm/loaders/KTX2Loader.js +441 -138
- package/node_modules/three/examples/jsm/loaders/KTXLoader.js +31 -10
- package/node_modules/three/examples/jsm/loaders/LDrawLoader.js +194 -145
- package/node_modules/three/examples/jsm/loaders/LUT3dlLoader.js +47 -25
- package/node_modules/three/examples/jsm/loaders/LUTCubeLoader.js +46 -23
- package/node_modules/three/examples/jsm/loaders/LUTImageLoader.js +79 -52
- package/node_modules/three/examples/jsm/loaders/LWOLoader.js +47 -20
- package/node_modules/three/examples/jsm/loaders/LottieLoader.js +54 -1
- package/node_modules/three/examples/jsm/loaders/MD2Loader.js +37 -1
- package/node_modules/three/examples/jsm/loaders/MDDLoader.js +57 -12
- package/node_modules/three/examples/jsm/loaders/MTLLoader.js +61 -35
- package/node_modules/three/examples/jsm/loaders/MaterialXLoader.js +291 -39
- package/node_modules/three/examples/jsm/loaders/NRRDLoader.js +38 -6
- package/node_modules/three/examples/jsm/loaders/OBJLoader.js +54 -4
- package/node_modules/three/examples/jsm/loaders/PCDLoader.js +183 -32
- package/node_modules/three/examples/jsm/loaders/PDBLoader.js +44 -4
- package/node_modules/three/examples/jsm/loaders/PLYLoader.js +78 -44
- package/node_modules/three/examples/jsm/loaders/PVRLoader.js +25 -6
- package/node_modules/three/examples/jsm/loaders/RGBELoader.js +6 -438
- package/node_modules/three/examples/jsm/loaders/STLLoader.js +51 -40
- package/node_modules/three/examples/jsm/loaders/SVGLoader.js +118 -24
- package/node_modules/three/examples/jsm/loaders/TDSLoader.js +92 -72
- package/node_modules/three/examples/jsm/loaders/TGALoader.js +23 -0
- package/node_modules/three/examples/jsm/loaders/TIFFLoader.js +23 -0
- package/node_modules/three/examples/jsm/loaders/TTFLoader.js +50 -3
- package/node_modules/three/examples/jsm/loaders/USDLoader.js +219 -0
- package/node_modules/three/examples/jsm/loaders/USDZLoader.js +4 -810
- package/node_modules/three/examples/jsm/loaders/UltraHDRLoader.js +630 -0
- package/node_modules/three/examples/jsm/loaders/VOXLoader.js +67 -2
- package/node_modules/three/examples/jsm/loaders/VRMLLoader.js +57 -21
- package/node_modules/three/examples/jsm/loaders/VTKLoader.js +119 -6
- package/node_modules/three/examples/jsm/loaders/XYZLoader.js +39 -2
- package/node_modules/three/examples/jsm/loaders/lwo/IFFParser.js +81 -78
- package/node_modules/three/examples/jsm/loaders/usd/USDAParser.js +741 -0
- package/node_modules/three/examples/jsm/loaders/usd/USDCParser.js +17 -0
- package/node_modules/three/examples/jsm/materials/LDrawConditionalLineMaterial.js +183 -0
- package/node_modules/three/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +154 -0
- package/node_modules/three/examples/jsm/materials/MeshGouraudMaterial.js +9 -1
- package/node_modules/three/examples/jsm/materials/MeshPostProcessingMaterial.js +25 -2
- package/node_modules/three/examples/jsm/materials/WoodNodeMaterial.js +533 -0
- package/node_modules/three/examples/jsm/math/Capsule.js +91 -14
- package/node_modules/three/examples/jsm/math/ColorConverter.js +22 -0
- package/node_modules/three/examples/jsm/math/ColorSpaces.js +147 -0
- package/node_modules/three/examples/jsm/math/ConvexHull.js +517 -93
- package/node_modules/three/examples/jsm/math/ImprovedNoise.js +32 -15
- package/node_modules/three/examples/jsm/math/Lut.js +113 -0
- package/node_modules/three/examples/jsm/math/MeshSurfaceSampler.js +78 -13
- package/node_modules/three/examples/jsm/math/OBB.js +141 -29
- package/node_modules/three/examples/jsm/math/Octree.js +177 -25
- package/node_modules/three/examples/jsm/math/SimplexNoise.js +68 -42
- package/node_modules/three/examples/jsm/misc/ConvexObjectBreaker.js +45 -25
- package/node_modules/three/examples/jsm/misc/GPUComputationRenderer.js +105 -45
- package/node_modules/three/examples/jsm/misc/Gyroscope.js +12 -0
- package/node_modules/three/examples/jsm/misc/MD2Character.js +117 -2
- package/node_modules/three/examples/jsm/misc/MD2CharacterComplex.js +175 -11
- package/node_modules/three/examples/jsm/misc/MorphAnimMesh.js +44 -0
- package/node_modules/three/examples/jsm/misc/MorphBlendMesh.js +103 -0
- package/node_modules/three/examples/jsm/misc/ProgressiveLightMap.js +101 -54
- package/node_modules/three/examples/jsm/misc/ProgressiveLightMapGPU.js +322 -0
- package/node_modules/three/examples/jsm/misc/RollerCoaster.js +57 -0
- package/node_modules/three/examples/jsm/misc/TubePainter.js +437 -40
- package/node_modules/three/examples/jsm/misc/Volume.js +123 -75
- package/node_modules/three/examples/jsm/misc/VolumeSlice.js +95 -48
- package/node_modules/three/examples/jsm/modifiers/CurveModifier.js +77 -47
- package/node_modules/three/examples/jsm/modifiers/CurveModifierGPU.js +256 -0
- package/node_modules/three/examples/jsm/modifiers/EdgeSplitModifier.js +20 -0
- package/node_modules/three/examples/jsm/modifiers/SimplifyModifier.js +26 -11
- package/node_modules/three/examples/jsm/modifiers/TessellateModifier.js +35 -2
- package/node_modules/three/examples/jsm/objects/GroundedSkybox.js +25 -6
- package/node_modules/three/examples/jsm/objects/Lensflare.js +96 -4
- package/node_modules/three/examples/jsm/objects/LensflareMesh.js +376 -0
- package/node_modules/three/examples/jsm/objects/MarchingCubes.js +90 -5
- package/node_modules/three/examples/jsm/objects/Reflector.js +76 -2
- package/node_modules/three/examples/jsm/objects/ReflectorForSSRPass.js +41 -0
- package/node_modules/three/examples/jsm/objects/Refractor.js +62 -0
- package/node_modules/three/examples/jsm/objects/ShadowMesh.js +54 -4
- package/node_modules/three/examples/jsm/objects/Sky.js +30 -12
- package/node_modules/three/examples/jsm/objects/SkyMesh.js +243 -0
- package/node_modules/three/examples/jsm/objects/Water.js +45 -5
- package/node_modules/three/examples/jsm/objects/Water2.js +44 -4
- package/node_modules/three/examples/jsm/objects/Water2Mesh.js +199 -0
- package/node_modules/three/examples/jsm/objects/WaterMesh.js +196 -0
- package/node_modules/three/examples/jsm/physics/AmmoPhysics.js +48 -0
- package/node_modules/three/examples/jsm/physics/JoltPhysics.js +330 -0
- package/node_modules/three/examples/jsm/physics/RapierPhysics.js +231 -19
- package/node_modules/three/examples/jsm/postprocessing/AfterimagePass.js +110 -29
- package/node_modules/three/examples/jsm/postprocessing/BloomPass.js +128 -26
- package/node_modules/three/examples/jsm/postprocessing/BokehPass.js +99 -22
- package/node_modules/three/examples/jsm/postprocessing/ClearPass.js +54 -3
- package/node_modules/three/examples/jsm/postprocessing/CubeTexturePass.js +82 -21
- package/node_modules/three/examples/jsm/postprocessing/DotScreenPass.js +59 -10
- package/node_modules/three/examples/jsm/postprocessing/EffectComposer.js +135 -3
- package/node_modules/three/examples/jsm/postprocessing/FXAAPass.js +40 -0
- package/node_modules/three/examples/jsm/postprocessing/FilmPass.js +54 -5
- package/node_modules/three/examples/jsm/postprocessing/GTAOPass.js +202 -57
- package/node_modules/three/examples/jsm/postprocessing/GlitchPass.js +86 -37
- package/node_modules/three/examples/jsm/postprocessing/HalftonePass.js +65 -10
- package/node_modules/three/examples/jsm/postprocessing/LUTPass.js +43 -79
- package/node_modules/three/examples/jsm/postprocessing/MaskPass.js +91 -0
- package/node_modules/three/examples/jsm/postprocessing/OutlinePass.js +277 -155
- package/node_modules/three/examples/jsm/postprocessing/OutputPass.js +58 -14
- package/node_modules/three/examples/jsm/postprocessing/Pass.js +100 -4
- package/node_modules/three/examples/jsm/postprocessing/RenderPass.js +85 -1
- package/node_modules/three/examples/jsm/postprocessing/RenderPixelatedPass.js +124 -45
- package/node_modules/three/examples/jsm/postprocessing/RenderTransitionPass.js +267 -0
- package/node_modules/three/examples/jsm/postprocessing/SAOPass.js +128 -56
- package/node_modules/three/examples/jsm/postprocessing/SMAAPass.js +106 -75
- package/node_modules/three/examples/jsm/postprocessing/SSAARenderPass.js +120 -35
- package/node_modules/three/examples/jsm/postprocessing/SSAOPass.js +174 -67
- package/node_modules/three/examples/jsm/postprocessing/SSRPass.js +268 -53
- package/node_modules/three/examples/jsm/postprocessing/SavePass.js +69 -16
- package/node_modules/three/examples/jsm/postprocessing/ShaderPass.js +65 -7
- package/node_modules/three/examples/jsm/postprocessing/TAARenderPass.js +79 -24
- package/node_modules/three/examples/jsm/postprocessing/TexturePass.js +72 -8
- package/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.js +125 -46
- package/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +122 -9
- package/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js +133 -8
- package/node_modules/three/examples/jsm/renderers/Projector.js +20 -2
- package/node_modules/three/examples/jsm/renderers/SVGRenderer.js +134 -5
- package/node_modules/three/examples/jsm/shaders/ACESFilmicToneMappingShader.js +12 -5
- package/node_modules/three/examples/jsm/shaders/AfterimageShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/BasicShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/BleachBypassShader.js +11 -5
- package/node_modules/three/examples/jsm/shaders/BlendShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/BokehShader.js +9 -3
- package/node_modules/three/examples/jsm/shaders/BokehShader2.js +11 -4
- package/node_modules/three/examples/jsm/shaders/BrightnessContrastShader.js +10 -4
- package/node_modules/three/examples/jsm/shaders/ColorCorrectionShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/ColorifyShader.js +9 -3
- package/node_modules/three/examples/jsm/shaders/ConvolutionShader.js +9 -38
- package/node_modules/three/examples/jsm/shaders/CopyShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/DOFMipMapShader.js +10 -3
- package/node_modules/three/examples/jsm/shaders/DepthLimitedBlurShader.js +10 -1
- package/node_modules/three/examples/jsm/shaders/DigitalGlitch.js +10 -7
- package/node_modules/three/examples/jsm/shaders/DotScreenShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/ExposureShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/FXAAShader.js +243 -233
- package/node_modules/three/examples/jsm/shaders/FilmShader.js +13 -0
- package/node_modules/three/examples/jsm/shaders/FocusShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/FreiChenShader.js +10 -3
- package/node_modules/three/examples/jsm/shaders/GTAOShader.js +37 -40
- package/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.js +11 -2
- package/node_modules/three/examples/jsm/shaders/GodRaysShader.js +20 -8
- package/node_modules/three/examples/jsm/shaders/HalftoneShader.js +13 -4
- package/node_modules/three/examples/jsm/shaders/HorizontalBlurShader.js +12 -3
- package/node_modules/three/examples/jsm/shaders/HorizontalTiltShiftShader.js +9 -2
- package/node_modules/three/examples/jsm/shaders/HueSaturationShader.js +10 -3
- package/node_modules/three/examples/jsm/shaders/KaleidoShader.js +11 -4
- package/node_modules/three/examples/jsm/shaders/LuminosityHighPassShader.js +9 -7
- package/node_modules/three/examples/jsm/shaders/LuminosityShader.js +8 -2
- package/node_modules/three/examples/jsm/shaders/MirrorShader.js +10 -4
- package/node_modules/three/examples/jsm/shaders/NormalMapShader.js +7 -2
- package/node_modules/three/examples/jsm/shaders/OutputShader.js +24 -2
- package/node_modules/three/examples/jsm/shaders/PoissonDenoiseShader.js +24 -15
- package/node_modules/three/examples/jsm/shaders/RGBShiftShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/SAOShader.js +10 -1
- package/node_modules/three/examples/jsm/shaders/SMAAShader.js +24 -1
- package/node_modules/three/examples/jsm/shaders/SSAOShader.js +26 -5
- package/node_modules/three/examples/jsm/shaders/SSRShader.js +26 -1
- package/node_modules/three/examples/jsm/shaders/SepiaShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/SobelOperatorShader.js +9 -3
- package/node_modules/three/examples/jsm/shaders/SubsurfaceScatteringShader.js +13 -8
- package/node_modules/three/examples/jsm/shaders/TechnicolorShader.js +10 -4
- package/node_modules/three/examples/jsm/shaders/ToonShader.js +29 -6
- package/node_modules/three/examples/jsm/shaders/TriangleBlurShader.js +9 -4
- package/node_modules/three/examples/jsm/shaders/UnpackDepthRGBAShader.js +19 -4
- package/node_modules/three/examples/jsm/shaders/VelocityShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/VerticalBlurShader.js +9 -2
- package/node_modules/three/examples/jsm/shaders/VerticalTiltShiftShader.js +8 -1
- package/node_modules/three/examples/jsm/shaders/VignetteShader.js +8 -3
- package/node_modules/three/examples/jsm/shaders/VolumeShader.js +11 -2
- package/node_modules/three/examples/jsm/shaders/WaterRefractionShader.js +11 -0
- package/node_modules/three/examples/jsm/textures/FlakesTexture.js +14 -0
- package/node_modules/three/examples/jsm/transpiler/AST.js +392 -31
- package/node_modules/three/examples/jsm/transpiler/GLSLDecoder.js +366 -136
- package/node_modules/three/examples/jsm/transpiler/Linker.js +327 -0
- package/node_modules/three/examples/jsm/transpiler/ShaderToyDecoder.js +3 -3
- package/node_modules/three/examples/jsm/transpiler/TSLEncoder.js +336 -111
- package/node_modules/three/examples/jsm/transpiler/Transpiler.js +50 -1
- package/node_modules/three/examples/jsm/transpiler/TranspilerUtils.js +29 -0
- package/node_modules/three/examples/jsm/transpiler/WGSLEncoder.js +812 -0
- package/node_modules/three/examples/jsm/tsl/display/AfterImageNode.js +244 -0
- package/node_modules/three/examples/jsm/tsl/display/AnaglyphPassNode.js +107 -0
- package/node_modules/three/examples/jsm/tsl/display/AnamorphicNode.js +282 -0
- package/node_modules/three/examples/jsm/tsl/display/BleachBypass.js +33 -0
- package/node_modules/three/examples/jsm/tsl/display/BloomNode.js +524 -0
- package/node_modules/three/examples/jsm/tsl/display/ChromaticAberrationNode.js +207 -0
- package/node_modules/three/examples/jsm/tsl/display/DenoiseNode.js +334 -0
- package/node_modules/three/examples/jsm/tsl/display/DepthOfFieldNode.js +554 -0
- package/node_modules/three/examples/jsm/tsl/display/DotScreenNode.js +104 -0
- package/node_modules/three/examples/jsm/tsl/display/FXAANode.js +365 -0
- package/node_modules/three/examples/jsm/tsl/display/FilmNode.js +101 -0
- package/node_modules/three/examples/jsm/tsl/display/GTAONode.js +570 -0
- package/node_modules/three/examples/jsm/tsl/display/GaussianBlurNode.js +380 -0
- package/node_modules/three/examples/jsm/tsl/display/LensflareNode.js +279 -0
- package/node_modules/three/examples/jsm/tsl/display/Lut3DNode.js +109 -0
- package/node_modules/three/examples/jsm/tsl/display/MotionBlur.js +33 -0
- package/node_modules/three/examples/jsm/tsl/display/OutlineNode.js +762 -0
- package/node_modules/three/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +89 -0
- package/node_modules/three/examples/jsm/tsl/display/PixelationPassNode.js +334 -0
- package/node_modules/three/examples/jsm/tsl/display/RGBShiftNode.js +96 -0
- package/node_modules/three/examples/jsm/tsl/display/SMAANode.js +768 -0
- package/node_modules/three/examples/jsm/tsl/display/SSAAPassNode.js +358 -0
- package/node_modules/three/examples/jsm/tsl/display/SSGINode.js +654 -0
- package/node_modules/three/examples/jsm/tsl/display/SSRNode.js +656 -0
- package/node_modules/three/examples/jsm/tsl/display/SSSNode.js +488 -0
- package/node_modules/three/examples/jsm/tsl/display/Sepia.js +24 -0
- package/node_modules/three/examples/jsm/tsl/display/SobelOperatorNode.js +168 -0
- package/node_modules/three/examples/jsm/tsl/display/StereoCompositePassNode.js +185 -0
- package/node_modules/three/examples/jsm/tsl/display/StereoPassNode.js +120 -0
- package/node_modules/three/examples/jsm/tsl/display/TRAANode.js +578 -0
- package/node_modules/three/examples/jsm/tsl/display/TransitionNode.js +141 -0
- package/node_modules/three/examples/jsm/tsl/display/boxBlur.js +65 -0
- package/node_modules/three/examples/jsm/tsl/display/hashBlur.js +54 -0
- package/node_modules/three/examples/jsm/tsl/lighting/TiledLightsNode.js +442 -0
- package/node_modules/three/examples/jsm/tsl/math/Bayer.js +34 -0
- package/node_modules/three/examples/jsm/tsl/shadows/TileShadowNode.js +456 -0
- package/node_modules/three/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +212 -0
- package/node_modules/three/examples/jsm/tsl/utils/Raymarching.js +70 -0
- package/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +109 -45
- package/node_modules/three/examples/jsm/utils/CameraUtils.js +15 -6
- package/node_modules/three/examples/jsm/utils/GeometryCompressionUtils.js +54 -146
- package/node_modules/three/examples/jsm/utils/GeometryUtils.js +32 -27
- package/node_modules/three/examples/jsm/utils/LDrawUtils.js +13 -4
- package/node_modules/three/examples/jsm/utils/SceneOptimizer.js +458 -0
- package/node_modules/three/examples/jsm/utils/SceneUtils.js +112 -3
- package/node_modules/three/examples/jsm/utils/ShadowMapViewer.js +51 -31
- package/node_modules/three/examples/jsm/utils/ShadowMapViewerGPU.js +233 -0
- package/node_modules/three/examples/jsm/utils/SkeletonUtils.js +145 -68
- package/node_modules/three/examples/jsm/utils/SortUtils.js +23 -8
- package/node_modules/three/examples/jsm/utils/UVsDebug.js +12 -4
- package/node_modules/three/examples/jsm/utils/{TextureUtils.js → WebGLTextureUtils.js} +19 -2
- package/node_modules/three/examples/jsm/utils/WebGPUTextureUtils.js +81 -0
- package/node_modules/three/examples/jsm/utils/WorkerPool.js +67 -2
- package/node_modules/three/examples/jsm/webxr/ARButton.js +19 -0
- package/node_modules/three/examples/jsm/webxr/OculusHandModel.js +87 -2
- package/node_modules/three/examples/jsm/webxr/OculusHandPointerModel.js +148 -22
- package/node_modules/three/examples/jsm/webxr/Text2D.js +20 -6
- package/node_modules/three/examples/jsm/webxr/VRButton.js +44 -5
- package/node_modules/three/examples/jsm/webxr/XRButton.js +23 -1
- package/node_modules/three/examples/jsm/webxr/XRControllerModelFactory.js +103 -4
- package/node_modules/three/examples/jsm/webxr/XREstimatedLight.js +35 -4
- package/node_modules/three/examples/jsm/webxr/XRHandMeshModel.js +37 -0
- package/node_modules/three/examples/jsm/webxr/XRHandModelFactory.js +101 -9
- package/node_modules/three/examples/jsm/webxr/XRHandPrimitiveModel.js +44 -0
- package/node_modules/three/examples/jsm/webxr/XRPlanes.js +18 -0
- package/node_modules/three/package.json +25 -20
- package/node_modules/three/src/Three.Core.js +185 -0
- package/node_modules/three/src/Three.Legacy.js +0 -1
- package/node_modules/three/src/Three.TSL.js +633 -0
- package/node_modules/three/src/Three.WebGPU.Nodes.js +26 -0
- package/node_modules/three/src/Three.WebGPU.js +28 -0
- package/node_modules/three/src/Three.js +1 -176
- package/node_modules/three/src/animation/AnimationAction.js +262 -30
- package/node_modules/three/src/animation/AnimationClip.js +164 -9
- package/node_modules/three/src/animation/AnimationMixer.js +99 -15
- package/node_modules/three/src/animation/AnimationObjectGroup.js +45 -21
- package/node_modules/three/src/animation/AnimationUtils.js +169 -19
- package/node_modules/three/src/animation/KeyframeTrack.js +151 -16
- package/node_modules/three/src/animation/PropertyBinding.js +91 -16
- package/node_modules/three/src/animation/PropertyMixer.js +72 -5
- package/node_modules/three/src/animation/tracks/BooleanKeyframeTrack.js +42 -6
- package/node_modules/three/src/animation/tracks/ColorKeyframeTrack.js +26 -5
- package/node_modules/three/src/animation/tracks/NumberKeyframeTrack.js +26 -2
- package/node_modules/three/src/animation/tracks/QuaternionKeyframeTrack.js +31 -3
- package/node_modules/three/src/animation/tracks/StringKeyframeTrack.js +42 -2
- package/node_modules/three/src/animation/tracks/VectorKeyframeTrack.js +26 -2
- package/node_modules/three/src/audio/Audio.js +388 -10
- package/node_modules/three/src/audio/AudioAnalyser.js +58 -1
- package/node_modules/three/src/audio/AudioContext.js +15 -0
- package/node_modules/three/src/audio/AudioListener.js +89 -10
- package/node_modules/three/src/audio/PositionalAudio.js +107 -0
- package/node_modules/three/src/cameras/ArrayCamera.js +37 -0
- package/node_modules/three/src/cameras/Camera.js +61 -0
- package/node_modules/three/src/cameras/CubeCamera.js +66 -0
- package/node_modules/three/src/cameras/OrthographicCamera.js +110 -1
- package/node_modules/three/src/cameras/PerspectiveCamera.js +174 -35
- package/node_modules/three/src/cameras/StereoCamera.js +48 -2
- package/node_modules/three/src/constants.js +1477 -18
- package/node_modules/three/src/core/BufferAttribute.js +417 -23
- package/node_modules/three/src/core/BufferGeometry.js +416 -49
- package/node_modules/three/src/core/Clock.js +62 -8
- package/node_modules/three/src/core/EventDispatcher.js +52 -8
- package/node_modules/three/src/core/GLBufferAttribute.js +113 -2
- package/node_modules/three/src/core/InstancedBufferAttribute.js +29 -0
- package/node_modules/three/src/core/InstancedBufferGeometry.js +20 -0
- package/node_modules/three/src/core/InstancedInterleavedBuffer.js +26 -0
- package/node_modules/three/src/core/InterleavedBuffer.js +141 -16
- package/node_modules/three/src/core/InterleavedBufferAttribute.js +200 -2
- package/node_modules/three/src/core/Layers.js +71 -10
- package/node_modules/three/src/core/Object3D.js +665 -54
- package/node_modules/three/src/core/Raycaster.js +160 -8
- package/node_modules/three/src/core/RenderTarget.js +297 -36
- package/node_modules/three/src/core/RenderTarget3D.js +48 -0
- package/node_modules/three/src/core/Timer.js +184 -0
- package/node_modules/three/src/core/Uniform.js +29 -0
- package/node_modules/three/src/core/UniformsGroup.js +84 -2
- package/node_modules/three/src/extras/Controls.js +120 -0
- package/node_modules/three/src/extras/DataUtils.js +50 -9
- package/node_modules/three/src/extras/Earcut.js +18 -779
- package/node_modules/three/src/extras/ImageUtils.js +22 -14
- package/node_modules/three/src/extras/PMREMGenerator.js +329 -64
- package/node_modules/three/src/extras/ShapeUtils.js +24 -2
- package/node_modules/three/src/extras/TextureUtils.js +293 -0
- package/node_modules/three/src/extras/core/Curve.js +156 -55
- package/node_modules/three/src/extras/core/CurvePath.js +63 -22
- package/node_modules/three/src/extras/core/Interpolations.js +34 -2
- package/node_modules/three/src/extras/core/Path.js +134 -1
- package/node_modules/three/src/extras/core/Shape.js +66 -3
- package/node_modules/three/src/extras/core/ShapePath.js +80 -4
- package/node_modules/three/src/extras/curves/ArcCurve.js +22 -0
- package/node_modules/three/src/extras/curves/CatmullRomCurve3.js +89 -18
- package/node_modules/three/src/extras/curves/CubicBezierCurve.js +67 -0
- package/node_modules/three/src/extras/curves/CubicBezierCurve3.js +50 -0
- package/node_modules/three/src/extras/curves/EllipseCurve.js +104 -2
- package/node_modules/three/src/extras/curves/LineCurve.js +36 -0
- package/node_modules/three/src/extras/curves/LineCurve3.js +36 -0
- package/node_modules/three/src/extras/curves/QuadraticBezierCurve.js +59 -0
- package/node_modules/three/src/extras/curves/QuadraticBezierCurve3.js +43 -0
- package/node_modules/three/src/extras/curves/SplineCurve.js +48 -0
- package/node_modules/three/src/extras/lib/earcut.js +685 -0
- package/node_modules/three/src/geometries/BoxGeometry.js +39 -0
- package/node_modules/three/src/geometries/CapsuleGeometry.js +196 -11
- package/node_modules/three/src/geometries/CircleGeometry.js +41 -0
- package/node_modules/three/src/geometries/ConeGeometry.js +39 -0
- package/node_modules/three/src/geometries/CylinderGeometry.js +51 -4
- package/node_modules/three/src/geometries/DodecahedronGeometry.js +33 -0
- package/node_modules/three/src/geometries/EdgesGeometry.js +30 -2
- package/node_modules/three/src/geometries/ExtrudeGeometry.js +146 -50
- package/node_modules/three/src/geometries/IcosahedronGeometry.js +33 -0
- package/node_modules/three/src/geometries/LatheGeometry.js +44 -3
- package/node_modules/three/src/geometries/OctahedronGeometry.js +33 -0
- package/node_modules/three/src/geometries/PlaneGeometry.js +35 -0
- package/node_modules/three/src/geometries/PolyhedronGeometry.js +29 -0
- package/node_modules/three/src/geometries/RingGeometry.js +37 -0
- package/node_modules/three/src/geometries/ShapeGeometry.js +38 -0
- package/node_modules/three/src/geometries/SphereGeometry.js +38 -0
- package/node_modules/three/src/geometries/TetrahedronGeometry.js +33 -0
- package/node_modules/three/src/geometries/TorusGeometry.js +36 -0
- package/node_modules/three/src/geometries/TorusKnotGeometry.js +39 -0
- package/node_modules/three/src/geometries/TubeGeometry.js +50 -0
- package/node_modules/three/src/geometries/WireframeGeometry.js +32 -0
- package/node_modules/three/src/helpers/ArrowHelper.js +62 -5
- package/node_modules/three/src/helpers/AxesHelper.js +28 -0
- package/node_modules/three/src/helpers/Box3Helper.js +28 -0
- package/node_modules/three/src/helpers/BoxHelper.js +43 -7
- package/node_modules/three/src/helpers/CameraHelper.js +100 -27
- package/node_modules/three/src/helpers/DirectionalLightHelper.js +52 -0
- package/node_modules/three/src/helpers/GridHelper.js +26 -0
- package/node_modules/three/src/helpers/HemisphereLightHelper.js +39 -0
- package/node_modules/three/src/helpers/PlaneHelper.js +33 -0
- package/node_modules/three/src/helpers/PointLightHelper.js +43 -0
- package/node_modules/three/src/helpers/PolarGridHelper.js +30 -0
- package/node_modules/three/src/helpers/SkeletonHelper.js +73 -7
- package/node_modules/three/src/helpers/SpotLightHelper.js +58 -1
- package/node_modules/three/src/lights/AmbientLight.js +25 -0
- package/node_modules/three/src/lights/DirectionalLight.js +57 -0
- package/node_modules/three/src/lights/DirectionalLightShadow.js +15 -0
- package/node_modules/three/src/lights/HemisphereLight.js +32 -0
- package/node_modules/three/src/lights/Light.js +37 -0
- package/node_modules/three/src/lights/LightProbe.js +43 -0
- package/node_modules/three/src/lights/LightShadow.js +198 -7
- package/node_modules/three/src/lights/PointLight.js +59 -0
- package/node_modules/three/src/lights/PointLightShadow.js +22 -1
- package/node_modules/three/src/lights/RectAreaLight.js +59 -0
- package/node_modules/three/src/lights/SpotLight.js +102 -0
- package/node_modules/three/src/lights/SpotLightShadow.js +33 -3
- package/node_modules/three/src/lights/webgpu/IESSpotLight.js +46 -0
- package/node_modules/three/src/lights/webgpu/ProjectorLight.js +46 -0
- package/node_modules/three/src/loaders/AnimationLoader.js +34 -2
- package/node_modules/three/src/loaders/AudioLoader.js +34 -2
- package/node_modules/three/src/loaders/BufferGeometryLoader.js +38 -13
- package/node_modules/three/src/loaders/Cache.js +47 -2
- package/node_modules/three/src/loaders/CompressedTextureLoader.js +36 -3
- package/node_modules/three/src/loaders/CubeTextureLoader.js +45 -0
- package/node_modules/three/src/loaders/DataTextureLoader.js +45 -8
- package/node_modules/three/src/loaders/FileLoader.js +90 -6
- package/node_modules/three/src/loaders/ImageBitmapLoader.js +108 -11
- package/node_modules/three/src/loaders/ImageLoader.js +85 -8
- package/node_modules/three/src/loaders/Loader.js +144 -0
- package/node_modules/three/src/loaders/LoaderUtils.js +18 -34
- package/node_modules/three/src/loaders/LoadingManager.js +187 -0
- package/node_modules/three/src/loaders/MaterialLoader.js +70 -4
- package/node_modules/three/src/loaders/ObjectLoader.js +146 -30
- package/node_modules/three/src/loaders/TextureLoader.js +33 -0
- package/node_modules/three/src/loaders/nodes/NodeLoader.js +194 -0
- package/node_modules/three/src/loaders/nodes/NodeMaterialLoader.js +108 -0
- package/node_modules/three/src/loaders/nodes/NodeObjectLoader.js +151 -0
- package/node_modules/three/src/materials/LineBasicMaterial.js +74 -1
- package/node_modules/three/src/materials/LineDashedMaterial.js +52 -1
- package/node_modules/three/src/materials/Material.js +504 -11
- package/node_modules/three/src/materials/MeshBasicMaterial.js +172 -3
- package/node_modules/three/src/materials/MeshDepthMaterial.js +94 -0
- package/node_modules/three/src/materials/MeshDistanceMaterial.js +76 -0
- package/node_modules/three/src/materials/MeshLambertMaterial.js +278 -1
- package/node_modules/three/src/materials/MeshMatcapMaterial.js +164 -0
- package/node_modules/three/src/materials/MeshNormalMaterial.js +114 -0
- package/node_modules/three/src/materials/MeshPhongMaterial.js +293 -1
- package/node_modules/three/src/materials/MeshPhysicalMaterial.js +316 -4
- package/node_modules/three/src/materials/MeshStandardMaterial.js +304 -3
- package/node_modules/three/src/materials/MeshToonMaterial.js +219 -0
- package/node_modules/three/src/materials/PointsMaterial.js +89 -0
- package/node_modules/three/src/materials/RawShaderMaterial.js +25 -0
- package/node_modules/three/src/materials/ShaderMaterial.js +215 -10
- package/node_modules/three/src/materials/ShadowMaterial.js +54 -0
- package/node_modules/three/src/materials/SpriteMaterial.js +82 -0
- package/node_modules/three/{examples/jsm/nodes/materials → src/materials/nodes}/Line2NodeMaterial.js +206 -100
- package/node_modules/three/src/materials/nodes/LineBasicNodeMaterial.js +46 -0
- package/node_modules/three/src/materials/nodes/LineDashedNodeMaterial.js +132 -0
- package/node_modules/three/src/materials/nodes/MeshBasicNodeMaterial.js +134 -0
- package/node_modules/three/src/materials/nodes/MeshLambertNodeMaterial.js +82 -0
- package/node_modules/three/src/materials/nodes/MeshMatcapNodeMaterial.js +77 -0
- package/node_modules/three/src/materials/nodes/MeshNormalNodeMaterial.js +67 -0
- package/node_modules/three/src/materials/nodes/MeshPhongNodeMaterial.js +141 -0
- package/node_modules/three/src/materials/nodes/MeshPhysicalNodeMaterial.js +518 -0
- package/node_modules/three/src/materials/nodes/MeshSSSNodeMaterial.js +175 -0
- package/node_modules/three/src/materials/nodes/MeshStandardNodeMaterial.js +186 -0
- package/node_modules/three/src/materials/nodes/MeshToonNodeMaterial.js +66 -0
- package/node_modules/three/src/materials/nodes/NodeMaterial.js +1310 -0
- package/node_modules/three/{examples/jsm/nodes/materials/Materials.js → src/materials/nodes/NodeMaterials.js} +7 -2
- package/node_modules/three/src/materials/nodes/PointsNodeMaterial.js +211 -0
- package/node_modules/three/src/materials/nodes/ShadowNodeMaterial.js +76 -0
- package/node_modules/three/src/materials/nodes/SpriteNodeMaterial.js +186 -0
- package/node_modules/three/src/materials/nodes/VolumeNodeMaterial.js +81 -0
- package/node_modules/three/src/materials/nodes/manager/NodeMaterialObserver.js +613 -0
- package/node_modules/three/src/math/Box2.js +181 -4
- package/node_modules/three/src/math/Box3.js +277 -6
- package/node_modules/three/src/math/Color.js +355 -11
- package/node_modules/three/src/math/ColorManagement.js +161 -85
- package/node_modules/three/src/math/Cylindrical.js +65 -6
- package/node_modules/three/src/math/Euler.js +139 -5
- package/node_modules/three/src/math/Frustum.js +108 -9
- package/node_modules/three/src/math/FrustumArray.js +258 -0
- package/node_modules/three/src/math/Interpolant.js +87 -8
- package/node_modules/three/src/math/Line3.js +223 -2
- package/node_modules/three/src/math/MathUtils.js +408 -20
- package/node_modules/three/src/math/Matrix2.js +124 -0
- package/node_modules/three/src/math/Matrix3.js +229 -4
- package/node_modules/three/src/math/Matrix4.js +416 -30
- package/node_modules/three/src/math/Plane.js +164 -2
- package/node_modules/three/src/math/Quaternion.js +345 -86
- package/node_modules/three/src/math/Ray.js +162 -0
- package/node_modules/three/src/math/Sphere.js +175 -0
- package/node_modules/three/src/math/Spherical.js +74 -13
- package/node_modules/three/src/math/SphericalHarmonics3.js +112 -14
- package/node_modules/three/src/math/Triangle.js +230 -2
- package/node_modules/three/src/math/Vector2.js +396 -10
- package/node_modules/three/src/math/Vector3.js +557 -20
- package/node_modules/three/src/math/Vector4.js +428 -9
- package/node_modules/three/src/math/interpolants/CubicInterpolant.js +10 -1
- package/node_modules/three/src/math/interpolants/DiscreteInterpolant.js +10 -2
- package/node_modules/three/src/math/interpolants/LinearInterpolant.js +13 -0
- package/node_modules/three/src/math/interpolants/QuaternionLinearInterpolant.js +10 -1
- package/node_modules/three/src/nodes/Nodes.js +148 -0
- package/node_modules/three/src/nodes/TSL.js +173 -0
- package/node_modules/three/src/nodes/accessors/AccessorsUtils.js +53 -0
- package/node_modules/three/src/nodes/accessors/Arrays.js +68 -0
- package/node_modules/three/src/nodes/accessors/BatchNode.js +163 -0
- package/node_modules/three/src/nodes/accessors/Bitangent.js +82 -0
- package/node_modules/three/src/nodes/accessors/BufferAttributeNode.js +340 -0
- package/node_modules/three/src/nodes/accessors/BufferNode.js +101 -0
- package/node_modules/three/src/nodes/accessors/BuiltinNode.js +63 -0
- package/node_modules/three/src/nodes/accessors/Camera.js +282 -0
- package/node_modules/three/src/nodes/accessors/ClippingNode.js +255 -0
- package/node_modules/three/src/nodes/accessors/CubeTextureNode.js +190 -0
- package/node_modules/three/src/nodes/accessors/InstanceNode.js +244 -0
- package/node_modules/three/src/nodes/accessors/InstancedMeshNode.js +50 -0
- package/node_modules/three/src/nodes/accessors/Lights.js +139 -0
- package/node_modules/three/src/nodes/accessors/MaterialNode.js +775 -0
- package/node_modules/three/src/nodes/accessors/MaterialProperties.js +59 -0
- package/node_modules/three/src/nodes/accessors/MaterialReferenceNode.js +85 -0
- package/node_modules/three/src/nodes/accessors/ModelNode.js +184 -0
- package/node_modules/three/src/nodes/accessors/ModelViewProjectionNode.js +13 -0
- package/node_modules/three/{examples/jsm → src}/nodes/accessors/MorphNode.js +122 -57
- package/node_modules/three/src/nodes/accessors/Normal.js +243 -0
- package/node_modules/three/src/nodes/accessors/Object3DNode.js +268 -0
- package/node_modules/three/src/nodes/accessors/PointUVNode.js +55 -0
- package/node_modules/three/src/nodes/accessors/Position.js +90 -0
- package/node_modules/three/src/nodes/accessors/ReferenceBaseNode.js +357 -0
- package/node_modules/three/src/nodes/accessors/ReferenceNode.js +424 -0
- package/node_modules/three/src/nodes/accessors/ReflectVector.js +36 -0
- package/node_modules/three/src/nodes/accessors/RendererReferenceNode.js +79 -0
- package/node_modules/three/src/nodes/accessors/SceneNode.js +145 -0
- package/node_modules/three/src/nodes/accessors/SkinningNode.js +327 -0
- package/node_modules/three/src/nodes/accessors/StorageBufferNode.js +416 -0
- package/node_modules/three/src/nodes/accessors/StorageTextureNode.js +264 -0
- package/node_modules/three/src/nodes/accessors/Tangent.js +70 -0
- package/node_modules/three/src/nodes/accessors/TangentUtils.js +46 -0
- package/node_modules/three/src/nodes/accessors/Texture3DNode.js +199 -0
- package/node_modules/three/{examples/jsm/nodes/accessors/TextureBicubicNode.js → src/nodes/accessors/TextureBicubic.js} +28 -30
- package/node_modules/three/src/nodes/accessors/TextureNode.js +927 -0
- package/node_modules/three/src/nodes/accessors/TextureSizeNode.js +77 -0
- package/node_modules/three/src/nodes/accessors/UV.js +11 -0
- package/node_modules/three/src/nodes/accessors/UniformArrayNode.js +348 -0
- package/node_modules/three/src/nodes/accessors/UserDataNode.js +77 -0
- package/node_modules/three/src/nodes/accessors/VelocityNode.js +224 -0
- package/node_modules/three/src/nodes/accessors/VertexColorNode.js +110 -0
- package/node_modules/three/src/nodes/code/CodeNode.js +181 -0
- package/node_modules/three/src/nodes/code/ExpressionNode.js +68 -0
- package/node_modules/three/src/nodes/code/FunctionCallNode.js +187 -0
- package/node_modules/three/src/nodes/code/FunctionNode.js +183 -0
- package/node_modules/three/{examples/jsm → src}/nodes/code/ScriptableNode.js +253 -15
- package/node_modules/three/{examples/jsm → src}/nodes/code/ScriptableValueNode.js +95 -9
- package/node_modules/three/src/nodes/core/ArrayNode.js +155 -0
- package/node_modules/three/src/nodes/core/AssignNode.js +202 -0
- package/node_modules/three/src/nodes/core/AttributeNode.js +168 -0
- package/node_modules/three/src/nodes/core/BypassNode.js +93 -0
- package/node_modules/three/src/nodes/core/ConstNode.js +67 -0
- package/node_modules/three/src/nodes/core/ContextNode.js +184 -0
- package/node_modules/three/src/nodes/core/IndexNode.js +164 -0
- package/node_modules/three/src/nodes/core/InputNode.js +136 -0
- package/node_modules/three/src/nodes/core/InspectorNode.js +128 -0
- package/node_modules/three/src/nodes/core/IsolateNode.js +133 -0
- package/node_modules/three/src/nodes/core/LightingModel.js +77 -0
- package/node_modules/three/src/nodes/core/MRTNode.js +150 -0
- package/node_modules/three/src/nodes/core/Node.js +1083 -0
- package/node_modules/three/src/nodes/core/NodeAttribute.js +53 -0
- package/node_modules/three/src/nodes/core/NodeBuilder.js +3081 -0
- package/node_modules/three/src/nodes/core/NodeCache.js +75 -0
- package/node_modules/three/src/nodes/core/NodeCode.js +46 -0
- package/node_modules/three/src/nodes/core/NodeFrame.js +306 -0
- package/node_modules/three/src/nodes/core/NodeFunction.js +69 -0
- package/node_modules/three/src/nodes/core/NodeFunctionInput.js +61 -0
- package/node_modules/three/src/nodes/core/NodeParser.js +23 -0
- package/node_modules/three/src/nodes/core/NodeUniform.js +91 -0
- package/node_modules/three/src/nodes/core/NodeUtils.js +406 -0
- package/node_modules/three/src/nodes/core/NodeVar.js +60 -0
- package/node_modules/three/src/nodes/core/NodeVarying.js +63 -0
- package/node_modules/three/src/nodes/core/OutputStructNode.js +103 -0
- package/node_modules/three/src/nodes/core/ParameterNode.js +94 -0
- package/node_modules/three/src/nodes/core/PropertyNode.js +351 -0
- package/node_modules/three/src/nodes/core/StackNode.js +377 -0
- package/node_modules/three/src/nodes/core/StructNode.js +120 -0
- package/node_modules/three/src/nodes/core/StructType.js +13 -0
- package/node_modules/three/src/nodes/core/StructTypeNode.js +154 -0
- package/node_modules/three/src/nodes/core/SubBuildNode.js +89 -0
- package/node_modules/three/src/nodes/core/TempNode.js +88 -0
- package/node_modules/three/src/nodes/core/UniformGroupNode.js +137 -0
- package/node_modules/three/src/nodes/core/UniformNode.js +243 -0
- package/node_modules/three/src/nodes/core/VarNode.js +342 -0
- package/node_modules/three/src/nodes/core/VaryingNode.js +227 -0
- package/node_modules/three/src/nodes/core/constants.js +68 -0
- package/node_modules/three/src/nodes/display/BlendModes.js +235 -0
- package/node_modules/three/src/nodes/display/BumpMapNode.js +117 -0
- package/node_modules/three/src/nodes/display/ColorAdjustment.js +141 -0
- package/node_modules/three/src/nodes/display/ColorSpaceFunctions.js +54 -0
- package/node_modules/three/src/nodes/display/ColorSpaceNode.js +164 -0
- package/node_modules/three/src/nodes/display/FrontFacingNode.js +102 -0
- package/node_modules/three/src/nodes/display/NormalMapNode.js +118 -0
- package/node_modules/three/src/nodes/display/PassNode.js +946 -0
- package/node_modules/three/src/nodes/display/PosterizeNode.js +65 -0
- package/node_modules/three/src/nodes/display/RenderOutputNode.js +150 -0
- package/node_modules/three/src/nodes/display/ScreenNode.js +290 -0
- package/node_modules/three/src/nodes/display/ToneMappingFunctions.js +242 -0
- package/node_modules/three/src/nodes/display/ToneMappingNode.js +147 -0
- package/node_modules/three/src/nodes/display/ToonOutlinePassNode.js +191 -0
- package/node_modules/three/src/nodes/display/ViewportDepthNode.js +294 -0
- package/node_modules/three/src/nodes/display/ViewportDepthTextureNode.js +67 -0
- package/node_modules/three/src/nodes/display/ViewportSharedTextureNode.js +73 -0
- package/node_modules/three/src/nodes/display/ViewportTextureNode.js +228 -0
- package/node_modules/three/src/nodes/fog/Fog.js +114 -0
- package/node_modules/three/src/nodes/functions/BSDF/BRDF_GGX.js +55 -0
- package/node_modules/three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Lambert.js +2 -2
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Sheen.js +9 -9
- package/node_modules/three/src/nodes/functions/BSDF/DFGApprox.js +71 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/D_GGX.js +2 -2
- package/node_modules/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.js +28 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/F_Schlick.js +2 -2
- package/node_modules/three/src/nodes/functions/BSDF/LTC.js +175 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/Schlick_to_F0.js +2 -2
- package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +2 -4
- package/node_modules/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +29 -0
- package/node_modules/three/src/nodes/functions/BasicLightingModel.js +100 -0
- package/node_modules/three/src/nodes/functions/PhongLightingModel.js +99 -0
- package/node_modules/three/src/nodes/functions/PhysicalLightingModel.js +797 -0
- package/node_modules/three/src/nodes/functions/ShadowMaskModel.js +58 -0
- package/node_modules/three/src/nodes/functions/ToonLightingModel.js +70 -0
- package/node_modules/three/src/nodes/functions/VolumetricLightingModel.js +183 -0
- package/node_modules/three/src/nodes/functions/material/getAlphaHashThreshold.js +68 -0
- package/node_modules/three/src/nodes/functions/material/getGeometryRoughness.js +19 -0
- package/node_modules/three/src/nodes/functions/material/getParallaxCorrectNormal.js +37 -0
- package/node_modules/three/{examples/jsm → src}/nodes/functions/material/getRoughness.js +2 -2
- package/node_modules/three/src/nodes/functions/material/getShIrradianceAt.js +28 -0
- package/node_modules/three/src/nodes/geometry/RangeNode.js +208 -0
- package/node_modules/three/src/nodes/gpgpu/AtomicFunctionNode.js +274 -0
- package/node_modules/three/src/nodes/gpgpu/BarrierNode.js +89 -0
- package/node_modules/three/src/nodes/gpgpu/ComputeBuiltinNode.js +228 -0
- package/node_modules/three/src/nodes/gpgpu/ComputeNode.js +284 -0
- package/node_modules/three/src/nodes/gpgpu/SubgroupFunctionNode.js +455 -0
- package/node_modules/three/src/nodes/gpgpu/WorkgroupInfoNode.js +234 -0
- package/node_modules/three/src/nodes/lighting/AONode.js +45 -0
- package/node_modules/three/{examples/jsm → src}/nodes/lighting/AmbientLightNode.js +16 -8
- package/node_modules/three/src/nodes/lighting/AnalyticLightNode.js +256 -0
- package/node_modules/three/src/nodes/lighting/BasicEnvironmentNode.js +49 -0
- package/node_modules/three/src/nodes/lighting/BasicLightMapNode.js +49 -0
- package/node_modules/three/src/nodes/lighting/DirectionalLightNode.js +39 -0
- package/node_modules/three/src/nodes/lighting/EnvironmentNode.js +153 -0
- package/node_modules/three/src/nodes/lighting/HemisphereLightNode.js +87 -0
- package/node_modules/three/{examples/jsm → src}/nodes/lighting/IESSpotLightNode.js +20 -10
- package/node_modules/three/src/nodes/lighting/IrradianceNode.js +44 -0
- package/node_modules/three/src/nodes/lighting/LightProbeNode.js +73 -0
- package/node_modules/three/src/nodes/lighting/LightUtils.js +25 -0
- package/node_modules/three/src/nodes/lighting/LightingContextNode.js +115 -0
- package/node_modules/three/src/nodes/lighting/LightingNode.js +36 -0
- package/node_modules/three/src/nodes/lighting/LightsNode.js +453 -0
- package/node_modules/three/src/nodes/lighting/PointLightNode.js +102 -0
- package/node_modules/three/src/nodes/lighting/PointShadowNode.js +312 -0
- package/node_modules/three/src/nodes/lighting/ProjectorLightNode.js +91 -0
- package/node_modules/three/src/nodes/lighting/RectAreaLightNode.js +133 -0
- package/node_modules/three/src/nodes/lighting/ShadowBaseNode.js +81 -0
- package/node_modules/three/src/nodes/lighting/ShadowFilterNode.js +276 -0
- package/node_modules/three/src/nodes/lighting/ShadowNode.js +811 -0
- package/node_modules/three/src/nodes/lighting/SpotLightNode.js +168 -0
- package/node_modules/three/src/nodes/materialx/MaterialXNodes.js +197 -0
- package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_hsv.js +43 -46
- package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_noise.js +625 -564
- package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_transform_color.js +3 -9
- package/node_modules/three/src/nodes/math/BitcastNode.js +156 -0
- package/node_modules/three/src/nodes/math/ConditionalNode.js +245 -0
- package/node_modules/three/src/nodes/math/Hash.js +21 -0
- package/node_modules/three/src/nodes/math/MathNode.js +1167 -0
- package/node_modules/three/src/nodes/math/MathUtils.js +54 -0
- package/node_modules/three/src/nodes/math/OperatorNode.js +751 -0
- package/node_modules/three/{examples/jsm → src}/nodes/math/TriNoise3D.js +34 -34
- package/node_modules/three/{examples/jsm → src}/nodes/parsers/GLSLNodeFunction.js +23 -7
- package/node_modules/three/{examples/jsm → src}/nodes/parsers/GLSLNodeParser.js +11 -0
- package/node_modules/three/src/nodes/pmrem/PMREMNode.js +397 -0
- package/node_modules/three/src/nodes/pmrem/PMREMUtils.js +403 -0
- package/node_modules/three/src/nodes/procedural/Checker.js +22 -0
- package/node_modules/three/src/nodes/shapes/Shapes.js +33 -0
- package/node_modules/three/src/nodes/tsl/TSLBase.js +36 -0
- package/node_modules/three/src/nodes/tsl/TSLCore.js +1229 -0
- package/node_modules/three/src/nodes/utils/ArrayElementNode.js +77 -0
- package/node_modules/three/src/nodes/utils/ConvertNode.js +100 -0
- package/node_modules/three/src/nodes/utils/CubeMapNode.js +237 -0
- package/node_modules/three/src/nodes/utils/DebugNode.js +83 -0
- package/node_modules/three/src/nodes/utils/Discard.js +24 -0
- package/node_modules/three/src/nodes/utils/EquirectUV.js +27 -0
- package/node_modules/three/src/nodes/utils/EventNode.js +119 -0
- package/node_modules/three/src/nodes/utils/FlipNode.js +106 -0
- package/node_modules/three/src/nodes/utils/FunctionOverloadingNode.js +170 -0
- package/node_modules/three/src/nodes/utils/JoinNode.js +117 -0
- package/node_modules/three/src/nodes/utils/LoopNode.js +349 -0
- package/node_modules/three/src/nodes/utils/MatcapUV.js +22 -0
- package/node_modules/three/src/nodes/utils/MaxMipLevelNode.js +103 -0
- package/node_modules/three/src/nodes/utils/MemberNode.js +120 -0
- package/node_modules/three/src/nodes/utils/Oscillators.js +41 -0
- package/node_modules/three/src/nodes/utils/Packing.js +21 -0
- package/node_modules/three/src/nodes/utils/PostProcessingUtils.js +122 -0
- package/node_modules/three/src/nodes/utils/RTTNode.js +289 -0
- package/node_modules/three/src/nodes/utils/ReflectorNode.js +630 -0
- package/node_modules/three/src/nodes/utils/RemapNode.js +125 -0
- package/node_modules/three/{examples/jsm → src}/nodes/utils/RotateNode.js +48 -13
- package/node_modules/three/src/nodes/utils/SampleNode.js +91 -0
- package/node_modules/three/{examples/jsm → src}/nodes/utils/SetNode.js +50 -4
- package/node_modules/three/{examples/jsm → src}/nodes/utils/SplitNode.js +73 -6
- package/node_modules/three/src/nodes/utils/SpriteSheetUVNode.js +90 -0
- package/node_modules/three/src/nodes/utils/SpriteUtils.js +63 -0
- package/node_modules/three/src/nodes/utils/StorageArrayElementNode.js +143 -0
- package/node_modules/three/src/nodes/utils/Timer.js +26 -0
- package/node_modules/three/src/nodes/utils/TriplanarTextures.js +65 -0
- package/node_modules/three/src/nodes/utils/UVUtils.js +39 -0
- package/node_modules/three/src/nodes/utils/ViewportUtils.js +26 -0
- package/node_modules/three/src/objects/BatchedMesh.js +940 -305
- package/node_modules/three/src/objects/Bone.js +24 -0
- package/node_modules/three/src/objects/ClippingGroup.js +68 -0
- package/node_modules/three/src/objects/Group.js +24 -0
- package/node_modules/three/src/objects/InstancedMesh.js +182 -1
- package/node_modules/three/src/objects/LOD.js +120 -5
- package/node_modules/three/src/objects/Line.js +151 -44
- package/node_modules/three/src/objects/LineLoop.js +20 -0
- package/node_modules/three/src/objects/LineSegments.js +20 -1
- package/node_modules/three/src/objects/Mesh.js +91 -24
- package/node_modules/three/src/objects/Points.js +62 -0
- package/node_modules/three/src/objects/Skeleton.js +111 -5
- package/node_modules/three/src/objects/SkinnedMesh.js +102 -6
- package/node_modules/three/src/objects/Sprite.js +65 -1
- package/node_modules/three/src/renderers/WebGL3DRenderTarget.js +26 -0
- package/node_modules/three/src/renderers/WebGLArrayRenderTarget.js +26 -0
- package/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +42 -15
- package/node_modules/three/src/renderers/WebGLRenderTarget.js +19 -0
- package/node_modules/three/src/renderers/WebGLRenderer.js +1222 -318
- package/node_modules/three/src/renderers/common/Animation.js +159 -0
- package/node_modules/three/{examples/jsm → src}/renderers/common/Attributes.js +45 -2
- package/node_modules/three/src/renderers/common/Backend.js +748 -0
- package/node_modules/three/src/renderers/common/Background.js +212 -0
- package/node_modules/three/src/renderers/common/BindGroup.js +61 -0
- package/node_modules/three/src/renderers/common/Binding.js +60 -0
- package/node_modules/three/src/renderers/common/Bindings.js +379 -0
- package/node_modules/three/src/renderers/common/Buffer.js +87 -0
- package/node_modules/three/src/renderers/common/BufferUtils.js +58 -0
- package/node_modules/three/src/renderers/common/BundleGroup.js +83 -0
- package/node_modules/three/src/renderers/common/CanvasTarget.js +341 -0
- package/node_modules/three/src/renderers/common/ChainMap.js +98 -0
- package/node_modules/three/src/renderers/common/ClippingContext.js +262 -0
- package/node_modules/three/src/renderers/common/Color4.js +77 -0
- package/node_modules/three/src/renderers/common/ComputePipeline.js +41 -0
- package/node_modules/three/{examples/jsm → src}/renderers/common/Constants.js +2 -1
- package/node_modules/three/{examples/jsm → src}/renderers/common/CubeRenderTarget.js +43 -5
- package/node_modules/three/src/renderers/common/DataMap.js +90 -0
- package/node_modules/three/src/renderers/common/Geometries.js +370 -0
- package/node_modules/three/src/renderers/common/IndirectStorageBufferAttribute.js +38 -0
- package/node_modules/three/src/renderers/common/Info.js +172 -0
- package/node_modules/three/src/renderers/common/InspectorBase.js +146 -0
- package/node_modules/three/src/renderers/common/Lighting.js +73 -0
- package/node_modules/three/src/renderers/common/Pipeline.js +35 -0
- package/node_modules/three/{examples/jsm → src}/renderers/common/Pipelines.js +150 -7
- package/node_modules/three/src/renderers/common/PostProcessing.js +226 -0
- package/node_modules/three/src/renderers/common/ProgrammableStage.js +78 -0
- package/node_modules/three/src/renderers/common/QuadMesh.js +112 -0
- package/node_modules/three/src/renderers/common/RenderBundle.js +24 -0
- package/node_modules/three/src/renderers/common/RenderBundles.js +67 -0
- package/node_modules/three/src/renderers/common/RenderContext.js +265 -0
- package/node_modules/three/src/renderers/common/RenderContexts.js +116 -0
- package/node_modules/three/src/renderers/common/RenderList.js +404 -0
- package/node_modules/three/src/renderers/common/RenderLists.js +77 -0
- package/node_modules/three/src/renderers/common/RenderObject.js +903 -0
- package/node_modules/three/src/renderers/common/RenderObjects.js +202 -0
- package/node_modules/three/src/renderers/common/RenderPipeline.js +40 -0
- package/node_modules/three/src/renderers/common/Renderer.js +3290 -0
- package/node_modules/three/src/renderers/common/RendererUtils.js +200 -0
- package/node_modules/three/src/renderers/common/SampledTexture.js +152 -0
- package/node_modules/three/src/renderers/common/Sampler.js +165 -0
- package/node_modules/three/src/renderers/common/Storage3DTexture.js +100 -0
- package/node_modules/three/src/renderers/common/StorageArrayTexture.js +84 -0
- package/node_modules/three/src/renderers/common/StorageBuffer.js +41 -0
- package/node_modules/three/src/renderers/common/StorageBufferAttribute.js +46 -0
- package/node_modules/three/src/renderers/common/StorageInstancedBufferAttribute.js +46 -0
- package/node_modules/three/src/renderers/common/StorageTexture.js +86 -0
- package/node_modules/three/src/renderers/common/Textures.js +544 -0
- package/node_modules/three/src/renderers/common/TimestampQueryPool.js +161 -0
- package/node_modules/three/src/renderers/common/Uniform.js +367 -0
- package/node_modules/three/src/renderers/common/UniformBuffer.js +34 -0
- package/node_modules/three/src/renderers/common/UniformsGroup.js +487 -0
- package/node_modules/three/src/renderers/common/XRManager.js +1676 -0
- package/node_modules/three/src/renderers/common/XRRenderTarget.js +91 -0
- package/node_modules/three/src/renderers/common/extras/PMREMGenerator.js +1034 -0
- package/node_modules/three/src/renderers/common/nodes/NodeBuilderState.js +152 -0
- package/node_modules/three/src/renderers/common/nodes/NodeLibrary.js +196 -0
- package/node_modules/three/src/renderers/common/nodes/NodeSampledTexture.js +140 -0
- package/node_modules/three/src/renderers/common/nodes/NodeSampler.js +62 -0
- package/node_modules/three/src/renderers/common/nodes/NodeStorageBuffer.js +61 -0
- package/node_modules/three/src/renderers/common/nodes/NodeUniform.js +418 -0
- package/node_modules/three/src/renderers/common/nodes/NodeUniformBuffer.js +53 -0
- package/node_modules/three/src/renderers/common/nodes/NodeUniformsGroup.js +51 -0
- package/node_modules/three/src/renderers/common/nodes/Nodes.js +840 -0
- package/node_modules/three/src/renderers/shaders/DFGLUTData.js +64 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +31 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_vertex.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +9 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js +4 -33
- package/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -22
- package/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +8 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +2 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +3 -3
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +3 -3
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +8 -22
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +6 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +55 -20
- package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +2 -2
- package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +3 -11
- package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +3 -17
- package/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +3 -3
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphinstance_vertex.glsl.js +14 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +3 -14
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +12 -24
- package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +3 -23
- package/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +45 -13
- package/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +59 -36
- package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +3 -0
- package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +3 -3
- package/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +33 -2
- package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +47 -13
- package/node_modules/three/src/renderers/shaders/ShaderChunk.js +2 -2
- package/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
- package/node_modules/three/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +3 -2
- package/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +21 -2
- package/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +2 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +5 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -0
- package/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +2 -4
- package/node_modules/three/src/renderers/shaders/ShaderLib.js +4 -2
- package/node_modules/three/src/renderers/shaders/UniformsLib.js +6 -4
- package/node_modules/three/src/renderers/shaders/UniformsUtils.js +31 -3
- package/node_modules/three/src/renderers/webgl/WebGLAttributes.js +46 -38
- package/node_modules/three/src/renderers/webgl/WebGLBackground.js +69 -5
- package/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +14 -51
- package/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +19 -22
- package/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +39 -14
- package/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +10 -6
- package/node_modules/three/src/renderers/webgl/WebGLExtensions.js +8 -44
- package/node_modules/three/src/renderers/webgl/WebGLGeometries.js +0 -28
- package/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +19 -21
- package/node_modules/three/src/renderers/webgl/WebGLInfo.js +3 -1
- package/node_modules/three/src/renderers/webgl/WebGLLights.js +21 -44
- package/node_modules/three/src/renderers/webgl/WebGLMaterials.js +33 -9
- package/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +78 -210
- package/node_modules/three/src/renderers/webgl/WebGLProgram.js +103 -121
- package/node_modules/three/src/renderers/webgl/WebGLPrograms.js +32 -26
- package/node_modules/three/src/renderers/webgl/WebGLProperties.js +7 -0
- package/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +15 -9
- package/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +41 -29
- package/node_modules/three/src/renderers/webgl/WebGLState.js +104 -100
- package/node_modules/three/src/renderers/webgl/WebGLTextures.js +567 -408
- package/node_modules/three/src/renderers/webgl/WebGLUniforms.js +12 -2
- package/node_modules/three/src/renderers/webgl/WebGLUniformsGroups.js +13 -11
- package/node_modules/three/src/renderers/webgl/WebGLUtils.js +11 -81
- package/node_modules/three/src/renderers/webgl-fallback/WebGLBackend.js +2612 -0
- package/node_modules/three/src/renderers/webgl-fallback/WebGLBufferRenderer.js +140 -0
- package/node_modules/three/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +1577 -0
- package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLAttributeUtils.js +76 -3
- package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLCapabilities.js +64 -0
- package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLConstants.js +5 -3
- package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLExtensions.js +83 -0
- package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLState.js +427 -21
- package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +1309 -0
- package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +396 -0
- package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLUtils.js +72 -43
- package/node_modules/three/src/renderers/webgpu/WebGPUBackend.js +2482 -0
- package/node_modules/three/src/renderers/webgpu/WebGPURenderer.Nodes.js +69 -0
- package/node_modules/three/src/renderers/webgpu/WebGPURenderer.js +106 -0
- package/node_modules/three/src/renderers/webgpu/nodes/BasicNodeLibrary.js +66 -0
- package/node_modules/three/src/renderers/webgpu/nodes/StandardNodeLibrary.js +100 -0
- package/node_modules/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +2247 -0
- package/node_modules/three/src/renderers/webgpu/nodes/WGSLNodeFunction.js +187 -0
- package/node_modules/three/{examples/jsm → src}/renderers/webgpu/nodes/WGSLNodeParser.js +11 -0
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +449 -0
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUBindingUtils.js +485 -0
- package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUConstants.js +24 -4
- package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUPipelineUtils.js +289 -72
- package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUTexturePassUtils.js +160 -8
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUTextureUtils.js +1576 -0
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +310 -0
- package/node_modules/three/src/renderers/webgpu/utils/WebGPUUtils.js +247 -0
- package/node_modules/three/src/renderers/webxr/WebXRController.js +87 -2
- package/node_modules/three/src/renderers/webxr/WebXRDepthSensing.js +63 -13
- package/node_modules/three/src/renderers/webxr/WebXRManager.js +323 -44
- package/node_modules/three/src/scenes/Fog.js +60 -0
- package/node_modules/three/src/scenes/FogExp2.js +51 -0
- package/node_modules/three/src/scenes/Scene.js +103 -1
- package/node_modules/three/src/textures/CanvasTexture.js +28 -0
- package/node_modules/three/src/textures/CompressedArrayTexture.js +71 -0
- package/node_modules/three/src/textures/CompressedCubeTexture.js +29 -0
- package/node_modules/three/src/textures/CompressedTexture.js +64 -6
- package/node_modules/three/src/textures/CubeTexture.js +52 -4
- package/node_modules/three/src/textures/Data3DTexture.js +79 -2
- package/node_modules/three/src/textures/DataArrayTexture.js +107 -0
- package/node_modules/three/src/textures/DataTexture.js +65 -0
- package/node_modules/three/src/textures/DepthTexture.js +59 -13
- package/node_modules/three/src/textures/ExternalTexture.js +56 -0
- package/node_modules/three/src/textures/FramebufferTexture.js +62 -0
- package/node_modules/three/src/textures/Source.js +106 -4
- package/node_modules/three/src/textures/Texture.js +490 -27
- package/node_modules/three/src/textures/VideoFrameTexture.js +72 -0
- package/node_modules/three/src/textures/VideoTexture.js +78 -6
- package/node_modules/three/src/utils.js +128 -3
- package/package.json +3 -4
- package/bin/playdrop-cli +0 -2
- package/dist/commands/asset-packs.d.ts +0 -27
- package/dist/commands/asset-packs.js +0 -508
- package/dist/commands/assets.d.ts +0 -35
- package/dist/commands/assets.js +0 -668
- package/dist/commands/list.d.ts +0 -7
- package/dist/commands/list.js +0 -347
- package/dist/commands/migrateCatalogueV2.d.ts +0 -1
- package/dist/commands/migrateCatalogueV2.js +0 -142
- package/dist/commands/versions.d.ts +0 -17
- package/dist/commands/versions.js +0 -384
- package/node_modules/three/examples/jsm/animation/MMDAnimationHelper.js +0 -1207
- package/node_modules/three/examples/jsm/animation/MMDPhysics.js +0 -1406
- package/node_modules/three/examples/jsm/cameras/CinematicCamera.js +0 -208
- package/node_modules/three/examples/jsm/effects/PeppersGhostEffect.js +0 -153
- package/node_modules/three/examples/jsm/exporters/MMDExporter.js +0 -217
- package/node_modules/three/examples/jsm/geometries/InstancedPointsGeometry.js +0 -174
- package/node_modules/three/examples/jsm/geometries/ParametricGeometries.js +0 -254
- package/node_modules/three/examples/jsm/geometries/SDFGeometryGenerator.js +0 -144
- package/node_modules/three/examples/jsm/libs/mmdparser.module.js +0 -11530
- package/node_modules/three/examples/jsm/lights/IESSpotLight.js +0 -25
- package/node_modules/three/examples/jsm/loaders/LogLuvLoader.js +0 -606
- package/node_modules/three/examples/jsm/loaders/MMDLoader.js +0 -2276
- package/node_modules/three/examples/jsm/loaders/RGBMLoader.js +0 -1065
- package/node_modules/three/examples/jsm/loaders/TiltLoader.js +0 -520
- package/node_modules/three/examples/jsm/misc/Timer.js +0 -128
- package/node_modules/three/examples/jsm/nodes/Nodes.js +0 -193
- package/node_modules/three/examples/jsm/nodes/accessors/BitangentNode.js +0 -89
- package/node_modules/three/examples/jsm/nodes/accessors/BufferAttributeNode.js +0 -127
- package/node_modules/three/examples/jsm/nodes/accessors/BufferNode.js +0 -30
- package/node_modules/three/examples/jsm/nodes/accessors/CameraNode.js +0 -119
- package/node_modules/three/examples/jsm/nodes/accessors/CubeTextureNode.js +0 -61
- package/node_modules/three/examples/jsm/nodes/accessors/InstanceNode.js +0 -71
- package/node_modules/three/examples/jsm/nodes/accessors/InstancedPointsMaterialNode.js +0 -21
- package/node_modules/three/examples/jsm/nodes/accessors/MaterialNode.js +0 -314
- package/node_modules/three/examples/jsm/nodes/accessors/MaterialReferenceNode.js +0 -51
- package/node_modules/three/examples/jsm/nodes/accessors/ModelNode.js +0 -33
- package/node_modules/three/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +0 -39
- package/node_modules/three/examples/jsm/nodes/accessors/NormalNode.js +0 -96
- package/node_modules/three/examples/jsm/nodes/accessors/Object3DNode.js +0 -150
- package/node_modules/three/examples/jsm/nodes/accessors/PointUVNode.js +0 -26
- package/node_modules/three/examples/jsm/nodes/accessors/PositionNode.js +0 -104
- package/node_modules/three/examples/jsm/nodes/accessors/ReferenceNode.js +0 -102
- package/node_modules/three/examples/jsm/nodes/accessors/ReflectVectorNode.js +0 -35
- package/node_modules/three/examples/jsm/nodes/accessors/SceneNode.js +0 -52
- package/node_modules/three/examples/jsm/nodes/accessors/SkinningNode.js +0 -103
- package/node_modules/three/examples/jsm/nodes/accessors/StorageBufferNode.js +0 -54
- package/node_modules/three/examples/jsm/nodes/accessors/TangentNode.js +0 -103
- package/node_modules/three/examples/jsm/nodes/accessors/TextureNode.js +0 -367
- package/node_modules/three/examples/jsm/nodes/accessors/TextureSizeNode.js +0 -35
- package/node_modules/three/examples/jsm/nodes/accessors/TextureStoreNode.js +0 -82
- package/node_modules/three/examples/jsm/nodes/accessors/UVNode.js +0 -47
- package/node_modules/three/examples/jsm/nodes/accessors/UserDataNode.js +0 -29
- package/node_modules/three/examples/jsm/nodes/accessors/VertexColorNode.js +0 -70
- package/node_modules/three/examples/jsm/nodes/code/CodeNode.js +0 -78
- package/node_modules/three/examples/jsm/nodes/code/ExpressionNode.js +0 -37
- package/node_modules/three/examples/jsm/nodes/code/FunctionCallNode.js +0 -96
- package/node_modules/three/examples/jsm/nodes/code/FunctionNode.js +0 -138
- package/node_modules/three/examples/jsm/nodes/core/ArrayUniformNode.js +0 -26
- package/node_modules/three/examples/jsm/nodes/core/AssignNode.js +0 -72
- package/node_modules/three/examples/jsm/nodes/core/AttributeNode.js +0 -108
- package/node_modules/three/examples/jsm/nodes/core/BypassNode.js +0 -45
- package/node_modules/three/examples/jsm/nodes/core/CacheNode.js +0 -49
- package/node_modules/three/examples/jsm/nodes/core/ConstNode.js +0 -32
- package/node_modules/three/examples/jsm/nodes/core/ContextNode.js +0 -61
- package/node_modules/three/examples/jsm/nodes/core/IndexNode.js +0 -66
- package/node_modules/three/examples/jsm/nodes/core/InputNode.js +0 -83
- package/node_modules/three/examples/jsm/nodes/core/LightingModel.js +0 -17
- package/node_modules/three/examples/jsm/nodes/core/Node.js +0 -483
- package/node_modules/three/examples/jsm/nodes/core/NodeAttribute.js +0 -15
- package/node_modules/three/examples/jsm/nodes/core/NodeBuilder.js +0 -1256
- package/node_modules/three/examples/jsm/nodes/core/NodeCache.js +0 -26
- package/node_modules/three/examples/jsm/nodes/core/NodeCode.js +0 -15
- package/node_modules/three/examples/jsm/nodes/core/NodeFrame.js +0 -143
- package/node_modules/three/examples/jsm/nodes/core/NodeFunction.js +0 -22
- package/node_modules/three/examples/jsm/nodes/core/NodeFunctionInput.js +0 -17
- package/node_modules/three/examples/jsm/nodes/core/NodeKeywords.js +0 -80
- package/node_modules/three/examples/jsm/nodes/core/NodeParser.js +0 -11
- package/node_modules/three/examples/jsm/nodes/core/NodeUniform.js +0 -40
- package/node_modules/three/examples/jsm/nodes/core/NodeUtils.js +0 -210
- package/node_modules/three/examples/jsm/nodes/core/NodeVar.js +0 -14
- package/node_modules/three/examples/jsm/nodes/core/NodeVarying.js +0 -17
- package/node_modules/three/examples/jsm/nodes/core/OutputStructNode.js +0 -62
- package/node_modules/three/examples/jsm/nodes/core/ParameterNode.js +0 -33
- package/node_modules/three/examples/jsm/nodes/core/PropertyNode.js +0 -72
- package/node_modules/three/examples/jsm/nodes/core/StackNode.js +0 -89
- package/node_modules/three/examples/jsm/nodes/core/StructTypeNode.js +0 -24
- package/node_modules/three/examples/jsm/nodes/core/TempNode.js +0 -58
- package/node_modules/three/examples/jsm/nodes/core/UniformGroup.js +0 -13
- package/node_modules/three/examples/jsm/nodes/core/UniformGroupNode.js +0 -36
- package/node_modules/three/examples/jsm/nodes/core/UniformNode.js +0 -80
- package/node_modules/three/examples/jsm/nodes/core/VarNode.js +0 -60
- package/node_modules/three/examples/jsm/nodes/core/VaryingNode.js +0 -65
- package/node_modules/three/examples/jsm/nodes/core/constants.js +0 -28
- package/node_modules/three/examples/jsm/nodes/display/AfterImageNode.js +0 -148
- package/node_modules/three/examples/jsm/nodes/display/AnamorphicNode.js +0 -148
- package/node_modules/three/examples/jsm/nodes/display/BlendModeNode.js +0 -99
- package/node_modules/three/examples/jsm/nodes/display/BumpMapNode.js +0 -99
- package/node_modules/three/examples/jsm/nodes/display/ColorAdjustmentNode.js +0 -99
- package/node_modules/three/examples/jsm/nodes/display/ColorSpaceNode.js +0 -108
- package/node_modules/three/examples/jsm/nodes/display/FrontFacingNode.js +0 -27
- package/node_modules/three/examples/jsm/nodes/display/GaussianBlurNode.js +0 -190
- package/node_modules/three/examples/jsm/nodes/display/NormalMapNode.js +0 -108
- package/node_modules/three/examples/jsm/nodes/display/PassNode.js +0 -183
- package/node_modules/three/examples/jsm/nodes/display/PosterizeNode.js +0 -32
- package/node_modules/three/examples/jsm/nodes/display/ToneMappingNode.js +0 -184
- package/node_modules/three/examples/jsm/nodes/display/ViewportDepthNode.js +0 -97
- package/node_modules/three/examples/jsm/nodes/display/ViewportDepthTextureNode.js +0 -31
- package/node_modules/three/examples/jsm/nodes/display/ViewportNode.js +0 -134
- package/node_modules/three/examples/jsm/nodes/display/ViewportSharedTextureNode.js +0 -31
- package/node_modules/three/examples/jsm/nodes/display/ViewportTextureNode.js +0 -75
- package/node_modules/three/examples/jsm/nodes/fog/FogExp2Node.js +0 -35
- package/node_modules/three/examples/jsm/nodes/fog/FogNode.js +0 -38
- package/node_modules/three/examples/jsm/nodes/fog/FogRangeNode.js +0 -34
- package/node_modules/three/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +0 -40
- package/node_modules/three/examples/jsm/nodes/functions/BSDF/DFGApprox.js +0 -30
- package/node_modules/three/examples/jsm/nodes/functions/PhongLightingModel.js +0 -67
- package/node_modules/three/examples/jsm/nodes/functions/PhysicalLightingModel.js +0 -393
- package/node_modules/three/examples/jsm/nodes/functions/material/getGeometryRoughness.js +0 -13
- package/node_modules/three/examples/jsm/nodes/geometry/RangeNode.js +0 -104
- package/node_modules/three/examples/jsm/nodes/gpgpu/ComputeNode.js +0 -85
- package/node_modules/three/examples/jsm/nodes/lighting/AONode.js +0 -27
- package/node_modules/three/examples/jsm/nodes/lighting/AnalyticLightNode.js +0 -241
- package/node_modules/three/examples/jsm/nodes/lighting/DirectionalLightNode.js +0 -40
- package/node_modules/three/examples/jsm/nodes/lighting/EnvironmentNode.js +0 -181
- package/node_modules/three/examples/jsm/nodes/lighting/HemisphereLightNode.js +0 -55
- package/node_modules/three/examples/jsm/nodes/lighting/LightNode.js +0 -57
- package/node_modules/three/examples/jsm/nodes/lighting/LightUtils.js +0 -17
- package/node_modules/three/examples/jsm/nodes/lighting/LightingContextNode.js +0 -66
- package/node_modules/three/examples/jsm/nodes/lighting/LightingNode.js +0 -21
- package/node_modules/three/examples/jsm/nodes/lighting/LightsNode.js +0 -188
- package/node_modules/three/examples/jsm/nodes/lighting/PointLightNode.js +0 -68
- package/node_modules/three/examples/jsm/nodes/lighting/SpotLightNode.js +0 -89
- package/node_modules/three/examples/jsm/nodes/loaders/NodeLoader.js +0 -108
- package/node_modules/three/examples/jsm/nodes/loaders/NodeMaterialLoader.js +0 -59
- package/node_modules/three/examples/jsm/nodes/loaders/NodeObjectLoader.js +0 -70
- package/node_modules/three/examples/jsm/nodes/materials/InstancedPointsNodeMaterial.js +0 -162
- package/node_modules/three/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +0 -28
- package/node_modules/three/examples/jsm/nodes/materials/LineDashedNodeMaterial.js +0 -54
- package/node_modules/three/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +0 -28
- package/node_modules/three/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +0 -34
- package/node_modules/three/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +0 -40
- package/node_modules/three/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +0 -65
- package/node_modules/three/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +0 -155
- package/node_modules/three/examples/jsm/nodes/materials/MeshSSSNodeMaterial.js +0 -84
- package/node_modules/three/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +0 -80
- package/node_modules/three/examples/jsm/nodes/materials/NodeMaterial.js +0 -570
- package/node_modules/three/examples/jsm/nodes/materials/PointsNodeMaterial.js +0 -39
- package/node_modules/three/examples/jsm/nodes/materials/SpriteNodeMaterial.js +0 -90
- package/node_modules/three/examples/jsm/nodes/materialx/MaterialXNodes.js +0 -68
- package/node_modules/three/examples/jsm/nodes/math/CondNode.js +0 -86
- package/node_modules/three/examples/jsm/nodes/math/HashNode.js +0 -34
- package/node_modules/three/examples/jsm/nodes/math/MathNode.js +0 -371
- package/node_modules/three/examples/jsm/nodes/math/MathUtils.js +0 -15
- package/node_modules/three/examples/jsm/nodes/math/OperatorNode.js +0 -274
- package/node_modules/three/examples/jsm/nodes/procedural/CheckerNode.js +0 -42
- package/node_modules/three/examples/jsm/nodes/shadernode/ShaderNode.js +0 -634
- package/node_modules/three/examples/jsm/nodes/utils/ArrayElementNode.js +0 -41
- package/node_modules/three/examples/jsm/nodes/utils/ConvertNode.js +0 -65
- package/node_modules/three/examples/jsm/nodes/utils/DiscardNode.js +0 -27
- package/node_modules/three/examples/jsm/nodes/utils/EquirectUVNode.js +0 -33
- package/node_modules/three/examples/jsm/nodes/utils/FunctionOverloadingNode.js +0 -95
- package/node_modules/three/examples/jsm/nodes/utils/JoinNode.js +0 -61
- package/node_modules/three/examples/jsm/nodes/utils/LoopNode.js +0 -198
- package/node_modules/three/examples/jsm/nodes/utils/MatcapUVNode.js +0 -30
- package/node_modules/three/examples/jsm/nodes/utils/MaxMipLevelNode.js +0 -46
- package/node_modules/three/examples/jsm/nodes/utils/OscNode.js +0 -81
- package/node_modules/three/examples/jsm/nodes/utils/PackingNode.js +0 -55
- package/node_modules/three/examples/jsm/nodes/utils/ReflectorNode.js +0 -227
- package/node_modules/three/examples/jsm/nodes/utils/RemapNode.js +0 -42
- package/node_modules/three/examples/jsm/nodes/utils/RotateUVNode.js +0 -35
- package/node_modules/three/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +0 -37
- package/node_modules/three/examples/jsm/nodes/utils/SpriteSheetUVNode.js +0 -41
- package/node_modules/three/examples/jsm/nodes/utils/TimerNode.js +0 -94
- package/node_modules/three/examples/jsm/nodes/utils/TriplanarTexturesNode.js +0 -62
- package/node_modules/three/examples/jsm/objects/InstancedPoints.js +0 -21
- package/node_modules/three/examples/jsm/objects/QuadMesh.js +0 -66
- package/node_modules/three/examples/jsm/renderers/common/Animation.js +0 -47
- package/node_modules/three/examples/jsm/renderers/common/Backend.js +0 -195
- package/node_modules/three/examples/jsm/renderers/common/Background.js +0 -134
- package/node_modules/three/examples/jsm/renderers/common/Binding.js +0 -25
- package/node_modules/three/examples/jsm/renderers/common/Bindings.js +0 -173
- package/node_modules/three/examples/jsm/renderers/common/Buffer.js +0 -38
- package/node_modules/three/examples/jsm/renderers/common/BufferUtils.js +0 -33
- package/node_modules/three/examples/jsm/renderers/common/ChainMap.js +0 -89
- package/node_modules/three/examples/jsm/renderers/common/Color4.js +0 -37
- package/node_modules/three/examples/jsm/renderers/common/ComputePipeline.js +0 -17
- package/node_modules/three/examples/jsm/renderers/common/DataMap.js +0 -54
- package/node_modules/three/examples/jsm/renderers/common/Geometries.js +0 -215
- package/node_modules/three/examples/jsm/renderers/common/Info.js +0 -107
- package/node_modules/three/examples/jsm/renderers/common/Pipeline.js +0 -13
- package/node_modules/three/examples/jsm/renderers/common/PostProcessing.js +0 -25
- package/node_modules/three/examples/jsm/renderers/common/ProgrammableStage.js +0 -20
- package/node_modules/three/examples/jsm/renderers/common/RenderContext.js +0 -41
- package/node_modules/three/examples/jsm/renderers/common/RenderContexts.js +0 -74
- package/node_modules/three/examples/jsm/renderers/common/RenderList.js +0 -186
- package/node_modules/three/examples/jsm/renderers/common/RenderLists.js +0 -38
- package/node_modules/three/examples/jsm/renderers/common/RenderObject.js +0 -178
- package/node_modules/three/examples/jsm/renderers/common/RenderObjects.js +0 -91
- package/node_modules/three/examples/jsm/renderers/common/RenderPipeline.js +0 -16
- package/node_modules/three/examples/jsm/renderers/common/Renderer.js +0 -1247
- package/node_modules/three/examples/jsm/renderers/common/SampledTexture.js +0 -83
- package/node_modules/three/examples/jsm/renderers/common/Sampler.js +0 -18
- package/node_modules/three/examples/jsm/renderers/common/StorageBuffer.js +0 -17
- package/node_modules/three/examples/jsm/renderers/common/StorageBufferAttribute.js +0 -17
- package/node_modules/three/examples/jsm/renderers/common/StorageTexture.js +0 -20
- package/node_modules/three/examples/jsm/renderers/common/Textures.js +0 -354
- package/node_modules/three/examples/jsm/renderers/common/Uniform.js +0 -140
- package/node_modules/three/examples/jsm/renderers/common/UniformBuffer.js +0 -15
- package/node_modules/three/examples/jsm/renderers/common/UniformsGroup.js +0 -299
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeBuilderState.js +0 -44
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +0 -49
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampler.js +0 -15
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniform.js +0 -135
- package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniformsGroup.js +0 -44
- package/node_modules/three/examples/jsm/renderers/common/nodes/Nodes.js +0 -495
- package/node_modules/three/examples/jsm/renderers/webgl/WebGLBackend.js +0 -1362
- package/node_modules/three/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +0 -679
- package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLCapabilities.js +0 -36
- package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLExtensions.js +0 -36
- package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +0 -647
- package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/GLSL1NodeBuilder.js +0 -320
- package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/SlotNode.js +0 -26
- package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js +0 -794
- package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js +0 -51
- package/node_modules/three/examples/jsm/renderers/webgpu/WebGPUBackend.js +0 -1321
- package/node_modules/three/examples/jsm/renderers/webgpu/WebGPURenderer.js +0 -53
- package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +0 -1103
- package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +0 -104
- package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +0 -287
- package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +0 -244
- package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +0 -1040
- package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +0 -93
- package/node_modules/three/examples/jsm/shaders/MMDToonShader.js +0 -134
- package/node_modules/three/examples/jsm/utils/GPUStatsPanel.js +0 -128
- package/node_modules/three/examples/jsm/utils/PackedPhongMaterial.js +0 -178
- package/node_modules/three/src/renderers/WebGL1Renderer.js +0 -7
- package/node_modules/three/src/renderers/WebGLMultipleRenderTargets.js +0 -82
- package/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -10
- /package/node_modules/three/{examples/jsm → src}/nodes/materialx/DISCLAIMER.md +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
Controls,
|
|
2
3
|
GridHelper,
|
|
3
4
|
EllipseCurve,
|
|
4
5
|
BufferGeometry,
|
|
@@ -12,8 +13,7 @@ import {
|
|
|
12
13
|
Vector2,
|
|
13
14
|
Vector3,
|
|
14
15
|
Matrix4,
|
|
15
|
-
MathUtils
|
|
16
|
-
EventDispatcher
|
|
16
|
+
MathUtils
|
|
17
17
|
} from 'three';
|
|
18
18
|
|
|
19
19
|
//trackball state
|
|
@@ -59,9 +59,28 @@ const _transformation = {
|
|
|
59
59
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Fires when the camera has been transformed by the controls.
|
|
64
|
+
*
|
|
65
|
+
* @event ArcballControls#change
|
|
66
|
+
* @type {Object}
|
|
67
|
+
*/
|
|
63
68
|
const _changeEvent = { type: 'change' };
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Fires when an interaction was initiated.
|
|
72
|
+
*
|
|
73
|
+
* @event ArcballControls#start
|
|
74
|
+
* @type {Object}
|
|
75
|
+
*/
|
|
64
76
|
const _startEvent = { type: 'start' };
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Fires when an interaction has finished.
|
|
80
|
+
*
|
|
81
|
+
* @event ArcballControls#end
|
|
82
|
+
* @type {Object}
|
|
83
|
+
*/
|
|
65
84
|
const _endEvent = { type: 'end' };
|
|
66
85
|
|
|
67
86
|
const _raycaster = new Raycaster();
|
|
@@ -70,24 +89,69 @@ const _offset = new Vector3();
|
|
|
70
89
|
const _gizmoMatrixStateTemp = new Matrix4();
|
|
71
90
|
const _cameraMatrixStateTemp = new Matrix4();
|
|
72
91
|
const _scalePointTemp = new Vector3();
|
|
92
|
+
|
|
93
|
+
const _EPS = 0.000001;
|
|
94
|
+
|
|
73
95
|
/**
|
|
96
|
+
* Arcball controls allow the camera to be controlled by a virtual trackball with full touch support and advanced navigation functionality.
|
|
97
|
+
* Cursor/finger positions and movements are mapped over a virtual trackball surface represented by a gizmo and mapped in intuitive and
|
|
98
|
+
* consistent camera movements. Dragging cursor/fingers will cause camera to orbit around the center of the trackball in a conservative
|
|
99
|
+
* way (returning to the starting point will make the camera return to its starting orientation).
|
|
100
|
+
*
|
|
101
|
+
* In addition to supporting pan, zoom and pinch gestures, Arcball controls provide focus< functionality with a double click/tap for intuitively
|
|
102
|
+
* moving the object's point of interest in the center of the virtual trackball. Focus allows a much better inspection and navigation in complex
|
|
103
|
+
* environment. Moreover Arcball controls allow FOV manipulation (in a vertigo-style method) and z-rotation. Saving and restoring of Camera State
|
|
104
|
+
* is supported also through clipboard (use ctrl+c and ctrl+v shortcuts for copy and paste the state).
|
|
74
105
|
*
|
|
75
|
-
* @
|
|
76
|
-
*
|
|
77
|
-
*
|
|
106
|
+
* Unlike {@link OrbitControls} and {@link TrackballControls}, `ArcballControls` doesn't require `update()` to be called externally in an
|
|
107
|
+
* animation loop when animations are on.
|
|
108
|
+
*
|
|
109
|
+
* @augments Controls
|
|
110
|
+
* @three_import import { ArcballControls } from 'three/addons/controls/ArcballControls.js';
|
|
78
111
|
*/
|
|
79
|
-
class ArcballControls extends
|
|
112
|
+
class ArcballControls extends Controls {
|
|
80
113
|
|
|
81
|
-
|
|
114
|
+
/**
|
|
115
|
+
* Constructs a new controls instance.
|
|
116
|
+
*
|
|
117
|
+
* @param {Camera} camera - The camera to be controlled. The camera must not be a child of another object, unless that object is the scene itself.
|
|
118
|
+
* @param {?HTMLElement} [domElement=null] - The HTML element used for event listeners.
|
|
119
|
+
* @param {?Scene} [scene=null] The scene rendered by the camera. If not given, gizmos cannot be shown.
|
|
120
|
+
*/
|
|
121
|
+
constructor( camera, domElement = null, scene = null ) {
|
|
82
122
|
|
|
83
|
-
super();
|
|
84
|
-
|
|
85
|
-
|
|
123
|
+
super( camera, domElement );
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* The scene rendered by the camera. If not given, gizmos cannot be shown.
|
|
127
|
+
*
|
|
128
|
+
* @type {?Scene}
|
|
129
|
+
* @default null
|
|
130
|
+
*/
|
|
86
131
|
this.scene = scene;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* The control's focus point.
|
|
135
|
+
*
|
|
136
|
+
* @type {Vector3}
|
|
137
|
+
*/
|
|
87
138
|
this.target = new Vector3();
|
|
88
139
|
this._currentTarget = new Vector3();
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* The size of the gizmo relative to the screen width and height.
|
|
143
|
+
*
|
|
144
|
+
* @type {number}
|
|
145
|
+
* @default 0.67
|
|
146
|
+
*/
|
|
89
147
|
this.radiusFactor = 0.67;
|
|
90
148
|
|
|
149
|
+
/**
|
|
150
|
+
* Holds the mouse actions of this controls. This property is maintained by the methods
|
|
151
|
+
* `setMouseAction()` and `unsetMouseAction()`.
|
|
152
|
+
*
|
|
153
|
+
* @type {Array<Object>}
|
|
154
|
+
*/
|
|
91
155
|
this.mouseActions = [];
|
|
92
156
|
this._mouseOp = null;
|
|
93
157
|
|
|
@@ -132,6 +196,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
132
196
|
this._farPos0 = 0;
|
|
133
197
|
this._cameraMatrixState0 = new Matrix4();
|
|
134
198
|
this._gizmoMatrixState0 = new Matrix4();
|
|
199
|
+
this._target0 = new Vector3();
|
|
135
200
|
|
|
136
201
|
//pointers array
|
|
137
202
|
this._button = - 1;
|
|
@@ -175,8 +240,13 @@ class ArcballControls extends EventDispatcher {
|
|
|
175
240
|
this._timeStart = - 1; //initial time
|
|
176
241
|
this._animationId = - 1;
|
|
177
242
|
|
|
178
|
-
|
|
179
|
-
|
|
243
|
+
/**
|
|
244
|
+
* Duration of focus animations in ms.
|
|
245
|
+
*
|
|
246
|
+
* @type {number}
|
|
247
|
+
* @default 500
|
|
248
|
+
*/
|
|
249
|
+
this.focusAnimationTime = 500;
|
|
180
250
|
|
|
181
251
|
//rotate animation
|
|
182
252
|
this._timePrev = 0; //time at which previous rotate operation has been detected
|
|
@@ -188,28 +258,161 @@ class ArcballControls extends EventDispatcher {
|
|
|
188
258
|
this._wPrev = 0; //angular velocity of the previous rotate operation
|
|
189
259
|
this._wCurr = 0; //angular velocity of the current rotate operation
|
|
190
260
|
|
|
191
|
-
|
|
192
261
|
//parameters
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* If set to `true`, the camera's near and far values will be adjusted every time zoom is
|
|
265
|
+
* performed trying to maintain the same visible portion given by initial near and far
|
|
266
|
+
* values. Only works with perspective cameras.
|
|
267
|
+
*
|
|
268
|
+
* @type {boolean}
|
|
269
|
+
* @default false
|
|
270
|
+
*/
|
|
193
271
|
this.adjustNearFar = false;
|
|
194
|
-
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* The scaling factor used when performing zoom operation.
|
|
275
|
+
*
|
|
276
|
+
* @type {number}
|
|
277
|
+
* @default 1.1
|
|
278
|
+
*/
|
|
279
|
+
this.scaleFactor = 1.1;
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* The damping inertia used if 'enableAnimations` is set to `true`.
|
|
283
|
+
*
|
|
284
|
+
* @type {number}
|
|
285
|
+
* @default 25
|
|
286
|
+
*/
|
|
195
287
|
this.dampingFactor = 25;
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Maximum angular velocity allowed on rotation animation start.
|
|
291
|
+
*
|
|
292
|
+
* @type {number}
|
|
293
|
+
* @default 20
|
|
294
|
+
*/
|
|
295
|
+
this.wMax = 20;
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Set to `true` to enable animations for rotation (damping) and focus operation.
|
|
299
|
+
*
|
|
300
|
+
* @type {boolean}
|
|
301
|
+
* @default true
|
|
302
|
+
*/
|
|
303
|
+
this.enableAnimations = true;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* If set to `true`, a grid will appear when panning operation is being performed
|
|
307
|
+
* (desktop interaction only).
|
|
308
|
+
*
|
|
309
|
+
* @type {boolean}
|
|
310
|
+
* @default false
|
|
311
|
+
*/
|
|
312
|
+
this.enableGrid = false;
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Set to `true` to make zoom become cursor centered.
|
|
316
|
+
*
|
|
317
|
+
* @type {boolean}
|
|
318
|
+
* @default false
|
|
319
|
+
*/
|
|
320
|
+
this.cursorZoom = false;
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* The minimum FOV in degrees.
|
|
324
|
+
*
|
|
325
|
+
* @type {number}
|
|
326
|
+
* @default 5
|
|
327
|
+
*/
|
|
200
328
|
this.minFov = 5;
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* The maximum FOV in degrees.
|
|
332
|
+
*
|
|
333
|
+
* @type {number}
|
|
334
|
+
* @default 90
|
|
335
|
+
*/
|
|
201
336
|
this.maxFov = 90;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Speed of rotation.
|
|
340
|
+
*
|
|
341
|
+
* @type {number}
|
|
342
|
+
* @default 1
|
|
343
|
+
*/
|
|
202
344
|
this.rotateSpeed = 1;
|
|
203
345
|
|
|
204
|
-
|
|
346
|
+
/**
|
|
347
|
+
* Enable or disable camera panning.
|
|
348
|
+
*
|
|
349
|
+
* @type {boolean}
|
|
350
|
+
* @default true
|
|
351
|
+
*/
|
|
205
352
|
this.enablePan = true;
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Enable or disable camera rotation.
|
|
356
|
+
*
|
|
357
|
+
* @type {boolean}
|
|
358
|
+
* @default true
|
|
359
|
+
*/
|
|
206
360
|
this.enableRotate = true;
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* Enable or disable camera zoom.
|
|
364
|
+
*
|
|
365
|
+
* @type {boolean}
|
|
366
|
+
* @default true
|
|
367
|
+
*/
|
|
207
368
|
this.enableZoom = true;
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Enable or disable gizmos.
|
|
372
|
+
*
|
|
373
|
+
* @type {boolean}
|
|
374
|
+
* @default true
|
|
375
|
+
*/
|
|
208
376
|
this.enableGizmos = true;
|
|
209
377
|
|
|
378
|
+
/**
|
|
379
|
+
* Enable or disable camera focusing on double-tap (or click) operations.
|
|
380
|
+
*
|
|
381
|
+
* @type {boolean}
|
|
382
|
+
* @default true
|
|
383
|
+
*/
|
|
384
|
+
this.enableFocus = true;
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* How far you can dolly in. For perspective cameras only.
|
|
388
|
+
*
|
|
389
|
+
* @type {number}
|
|
390
|
+
* @default 0
|
|
391
|
+
*/
|
|
210
392
|
this.minDistance = 0;
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* How far you can dolly out. For perspective cameras only.
|
|
396
|
+
*
|
|
397
|
+
* @type {number}
|
|
398
|
+
* @default Infinity
|
|
399
|
+
*/
|
|
211
400
|
this.maxDistance = Infinity;
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* How far you can zoom in. For orthographic cameras only.
|
|
404
|
+
*
|
|
405
|
+
* @type {number}
|
|
406
|
+
* @default 0
|
|
407
|
+
*/
|
|
212
408
|
this.minZoom = 0;
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* How far you can zoom out. For orthographic cameras only.
|
|
412
|
+
*
|
|
413
|
+
* @type {number}
|
|
414
|
+
* @default Infinity
|
|
415
|
+
*/
|
|
213
416
|
this.maxZoom = Infinity;
|
|
214
417
|
|
|
215
418
|
//trackball parameters
|
|
@@ -226,11 +429,10 @@ class ArcballControls extends EventDispatcher {
|
|
|
226
429
|
|
|
227
430
|
}
|
|
228
431
|
|
|
229
|
-
this.domElement.style.touchAction = 'none';
|
|
230
|
-
this._devPxRatio = window.devicePixelRatio;
|
|
231
|
-
|
|
232
432
|
this.initializeMouseActions();
|
|
233
433
|
|
|
434
|
+
// event listeners
|
|
435
|
+
|
|
234
436
|
this._onContextMenu = onContextMenu.bind( this );
|
|
235
437
|
this._onWheel = onWheel.bind( this );
|
|
236
438
|
this._onPointerUp = onPointerUp.bind( this );
|
|
@@ -239,8 +441,23 @@ class ArcballControls extends EventDispatcher {
|
|
|
239
441
|
this._onPointerCancel = onPointerCancel.bind( this );
|
|
240
442
|
this._onWindowResize = onWindowResize.bind( this );
|
|
241
443
|
|
|
444
|
+
if ( domElement !== null ) {
|
|
445
|
+
|
|
446
|
+
this.connect( domElement );
|
|
447
|
+
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
connect( element ) {
|
|
453
|
+
|
|
454
|
+
super.connect( element );
|
|
455
|
+
|
|
456
|
+
this.domElement.style.touchAction = 'none';
|
|
457
|
+
this._devPxRatio = window.devicePixelRatio;
|
|
458
|
+
|
|
242
459
|
this.domElement.addEventListener( 'contextmenu', this._onContextMenu );
|
|
243
|
-
this.domElement.addEventListener( 'wheel', this._onWheel );
|
|
460
|
+
this.domElement.addEventListener( 'wheel', this._onWheel, { passive: false } );
|
|
244
461
|
this.domElement.addEventListener( 'pointerdown', this._onPointerDown );
|
|
245
462
|
this.domElement.addEventListener( 'pointercancel', this._onPointerCancel );
|
|
246
463
|
|
|
@@ -248,6 +465,20 @@ class ArcballControls extends EventDispatcher {
|
|
|
248
465
|
|
|
249
466
|
}
|
|
250
467
|
|
|
468
|
+
disconnect() {
|
|
469
|
+
|
|
470
|
+
this.domElement.removeEventListener( 'pointerdown', this._onPointerDown );
|
|
471
|
+
this.domElement.removeEventListener( 'pointercancel', this._onPointerCancel );
|
|
472
|
+
this.domElement.removeEventListener( 'wheel', this._onWheel );
|
|
473
|
+
this.domElement.removeEventListener( 'contextmenu', this._onContextMenu );
|
|
474
|
+
|
|
475
|
+
window.removeEventListener( 'pointermove', this._onPointerMove );
|
|
476
|
+
window.removeEventListener( 'pointerup', this._onPointerUp );
|
|
477
|
+
|
|
478
|
+
window.removeEventListener( 'resize', this._onWindowResize );
|
|
479
|
+
|
|
480
|
+
}
|
|
481
|
+
|
|
251
482
|
onSinglePanStart( event, operation ) {
|
|
252
483
|
|
|
253
484
|
if ( this.enabled ) {
|
|
@@ -278,7 +509,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
278
509
|
}
|
|
279
510
|
|
|
280
511
|
this.updateTbState( STATE.PAN, true );
|
|
281
|
-
this._startCursorPosition.copy( this.unprojectOnTbPlane( this.
|
|
512
|
+
this._startCursorPosition.copy( this.unprojectOnTbPlane( this.object, _center.x, _center.y, this.domElement ) );
|
|
282
513
|
if ( this.enableGrid ) {
|
|
283
514
|
|
|
284
515
|
this.drawGrid();
|
|
@@ -305,7 +536,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
305
536
|
}
|
|
306
537
|
|
|
307
538
|
this.updateTbState( STATE.ROTATE, true );
|
|
308
|
-
this._startCursorPosition.copy( this.unprojectOnTbSurface( this.
|
|
539
|
+
this._startCursorPosition.copy( this.unprojectOnTbSurface( this.object, _center.x, _center.y, this.domElement, this._tbRadius ) );
|
|
309
540
|
this.activateGizmos( true );
|
|
310
541
|
if ( this.enableAnimations ) {
|
|
311
542
|
|
|
@@ -323,7 +554,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
323
554
|
|
|
324
555
|
case 'FOV':
|
|
325
556
|
|
|
326
|
-
if ( ! this.
|
|
557
|
+
if ( ! this.object.isPerspectiveCamera || ! this.enableZoom ) {
|
|
327
558
|
|
|
328
559
|
return;
|
|
329
560
|
|
|
@@ -396,7 +627,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
396
627
|
this.dispatchEvent( _startEvent );
|
|
397
628
|
|
|
398
629
|
this.updateTbState( opState, true );
|
|
399
|
-
this._startCursorPosition.copy( this.unprojectOnTbPlane( this.
|
|
630
|
+
this._startCursorPosition.copy( this.unprojectOnTbPlane( this.object, _center.x, _center.y, this.domElement ) );
|
|
400
631
|
if ( this.enableGrid ) {
|
|
401
632
|
|
|
402
633
|
this.drawGrid();
|
|
@@ -408,7 +639,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
408
639
|
} else {
|
|
409
640
|
|
|
410
641
|
//continue with pan operation
|
|
411
|
-
this._currentCursorPosition.copy( this.unprojectOnTbPlane( this.
|
|
642
|
+
this._currentCursorPosition.copy( this.unprojectOnTbPlane( this.object, _center.x, _center.y, this.domElement ) );
|
|
412
643
|
this.applyTransformMatrix( this.pan( this._startCursorPosition, this._currentCursorPosition ) );
|
|
413
644
|
|
|
414
645
|
}
|
|
@@ -429,7 +660,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
429
660
|
this.dispatchEvent( _startEvent );
|
|
430
661
|
|
|
431
662
|
this.updateTbState( opState, true );
|
|
432
|
-
this._startCursorPosition.copy( this.unprojectOnTbSurface( this.
|
|
663
|
+
this._startCursorPosition.copy( this.unprojectOnTbSurface( this.object, _center.x, _center.y, this.domElement, this._tbRadius ) );
|
|
433
664
|
|
|
434
665
|
if ( this.enableGrid ) {
|
|
435
666
|
|
|
@@ -442,7 +673,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
442
673
|
} else {
|
|
443
674
|
|
|
444
675
|
//continue with rotate operation
|
|
445
|
-
this._currentCursorPosition.copy( this.unprojectOnTbSurface( this.
|
|
676
|
+
this._currentCursorPosition.copy( this.unprojectOnTbSurface( this.object, _center.x, _center.y, this.domElement, this._tbRadius ) );
|
|
446
677
|
|
|
447
678
|
const distance = this._startCursorPosition.distanceTo( this._currentCursorPosition );
|
|
448
679
|
const angle = this._startCursorPosition.angleTo( this._currentCursorPosition );
|
|
@@ -524,7 +755,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
524
755
|
|
|
525
756
|
case STATE.FOV:
|
|
526
757
|
|
|
527
|
-
if ( this.enableZoom && this.
|
|
758
|
+
if ( this.enableZoom && this.object.isPerspectiveCamera ) {
|
|
528
759
|
|
|
529
760
|
if ( restart ) {
|
|
530
761
|
|
|
@@ -588,7 +819,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
588
819
|
this.applyTransformMatrix( this.scale( size, this._v3_2, false ) );
|
|
589
820
|
|
|
590
821
|
//adjusting distance
|
|
591
|
-
_offset.copy( this._gizmos.position ).sub( this.
|
|
822
|
+
_offset.copy( this._gizmos.position ).sub( this.object.position ).normalize().multiplyScalar( newDistance / x );
|
|
592
823
|
this._m4_1.makeTranslation( _offset.x, _offset.y, _offset.z );
|
|
593
824
|
|
|
594
825
|
}
|
|
@@ -673,12 +904,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
673
904
|
|
|
674
905
|
onDoubleTap( event ) {
|
|
675
906
|
|
|
676
|
-
if ( this.enabled && this.enablePan && this.scene != null ) {
|
|
907
|
+
if ( this.enabled && this.enablePan && this.enableFocus && this.scene != null ) {
|
|
677
908
|
|
|
678
909
|
this.dispatchEvent( _startEvent );
|
|
679
910
|
|
|
680
911
|
this.setCenter( event.clientX, event.clientY );
|
|
681
|
-
const hitP = this.unprojectOnObj( this.getCursorNDC( _center.x, _center.y, this.domElement ), this.
|
|
912
|
+
const hitP = this.unprojectOnObj( this.getCursorNDC( _center.x, _center.y, this.domElement ), this.object );
|
|
682
913
|
|
|
683
914
|
if ( hitP != null && this.enableAnimations ) {
|
|
684
915
|
|
|
@@ -721,7 +952,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
721
952
|
this.updateTbState( STATE.PAN, true );
|
|
722
953
|
|
|
723
954
|
this.setCenter( ( this._touchCurrent[ 0 ].clientX + this._touchCurrent[ 1 ].clientX ) / 2, ( this._touchCurrent[ 0 ].clientY + this._touchCurrent[ 1 ].clientY ) / 2 );
|
|
724
|
-
this._startCursorPosition.copy( this.unprojectOnTbPlane( this.
|
|
955
|
+
this._startCursorPosition.copy( this.unprojectOnTbPlane( this.object, _center.x, _center.y, this.domElement, true ) );
|
|
725
956
|
this._currentCursorPosition.copy( this._startCursorPosition );
|
|
726
957
|
|
|
727
958
|
this.activateGizmos( false );
|
|
@@ -743,7 +974,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
743
974
|
|
|
744
975
|
}
|
|
745
976
|
|
|
746
|
-
this._currentCursorPosition.copy( this.unprojectOnTbPlane( this.
|
|
977
|
+
this._currentCursorPosition.copy( this.unprojectOnTbPlane( this.object, _center.x, _center.y, this.domElement, true ) );
|
|
747
978
|
this.applyTransformMatrix( this.pan( this._startCursorPosition, this._currentCursorPosition, true ) );
|
|
748
979
|
this.dispatchEvent( _changeEvent );
|
|
749
980
|
|
|
@@ -771,7 +1002,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
771
1002
|
this._startFingerRotation = this.getAngle( this._touchCurrent[ 1 ], this._touchCurrent[ 0 ] ) + this.getAngle( this._touchStart[ 1 ], this._touchStart[ 0 ] );
|
|
772
1003
|
this._currentFingerRotation = this._startFingerRotation;
|
|
773
1004
|
|
|
774
|
-
this.
|
|
1005
|
+
this.object.getWorldDirection( this._rotationAxis ); //rotation axis
|
|
775
1006
|
|
|
776
1007
|
if ( ! this.enablePan && ! this.enableZoom ) {
|
|
777
1008
|
|
|
@@ -807,7 +1038,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
807
1038
|
} else {
|
|
808
1039
|
|
|
809
1040
|
this._v3_2.setFromMatrixPosition( this._gizmoMatrixState );
|
|
810
|
-
rotationPoint = this.unprojectOnTbPlane( this.
|
|
1041
|
+
rotationPoint = this.unprojectOnTbPlane( this.object, _center.x, _center.y, this.domElement ).applyQuaternion( this.object.quaternion ).multiplyScalar( 1 / this.object.zoom ).add( this._v3_2 );
|
|
811
1042
|
|
|
812
1043
|
}
|
|
813
1044
|
|
|
@@ -869,17 +1100,17 @@ class ArcballControls extends EventDispatcher {
|
|
|
869
1100
|
|
|
870
1101
|
} else {
|
|
871
1102
|
|
|
872
|
-
if ( this.
|
|
1103
|
+
if ( this.object.isOrthographicCamera ) {
|
|
873
1104
|
|
|
874
|
-
scalePoint = this.unprojectOnTbPlane( this.
|
|
875
|
-
.applyQuaternion( this.
|
|
876
|
-
.multiplyScalar( 1 / this.
|
|
1105
|
+
scalePoint = this.unprojectOnTbPlane( this.object, _center.x, _center.y, this.domElement )
|
|
1106
|
+
.applyQuaternion( this.object.quaternion )
|
|
1107
|
+
.multiplyScalar( 1 / this.object.zoom )
|
|
877
1108
|
.add( this._gizmos.position );
|
|
878
1109
|
|
|
879
|
-
} else if ( this.
|
|
1110
|
+
} else if ( this.object.isPerspectiveCamera ) {
|
|
880
1111
|
|
|
881
|
-
scalePoint = this.unprojectOnTbPlane( this.
|
|
882
|
-
.applyQuaternion( this.
|
|
1112
|
+
scalePoint = this.unprojectOnTbPlane( this.object, _center.x, _center.y, this.domElement )
|
|
1113
|
+
.applyQuaternion( this.object.quaternion )
|
|
883
1114
|
.add( this._gizmos.position );
|
|
884
1115
|
|
|
885
1116
|
}
|
|
@@ -997,7 +1228,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
997
1228
|
this.applyTransformMatrix( this.scale( size, this._v3_2, false ) );
|
|
998
1229
|
|
|
999
1230
|
//adjusting distance
|
|
1000
|
-
_offset.copy( this._gizmos.position ).sub( this.
|
|
1231
|
+
_offset.copy( this._gizmos.position ).sub( this.object.position ).normalize().multiplyScalar( newDistance / x );
|
|
1001
1232
|
this._m4_1.makeTranslation( _offset.x, _offset.y, _offset.z );
|
|
1002
1233
|
|
|
1003
1234
|
this.dispatchEvent( _changeEvent );
|
|
@@ -1015,9 +1246,11 @@ class ArcballControls extends EventDispatcher {
|
|
|
1015
1246
|
}
|
|
1016
1247
|
|
|
1017
1248
|
/**
|
|
1018
|
-
* Set _center's x/y coordinates
|
|
1019
|
-
*
|
|
1020
|
-
* @
|
|
1249
|
+
* Set _center's x/y coordinates.
|
|
1250
|
+
*
|
|
1251
|
+
* @private
|
|
1252
|
+
* @param {number} clientX - The x coordinate.
|
|
1253
|
+
* @param {number} clientY - The y coordinate.
|
|
1021
1254
|
*/
|
|
1022
1255
|
setCenter( clientX, clientY ) {
|
|
1023
1256
|
|
|
@@ -1027,7 +1260,9 @@ class ArcballControls extends EventDispatcher {
|
|
|
1027
1260
|
}
|
|
1028
1261
|
|
|
1029
1262
|
/**
|
|
1030
|
-
* Set default mouse actions
|
|
1263
|
+
* Set default mouse actions.
|
|
1264
|
+
*
|
|
1265
|
+
* @private
|
|
1031
1266
|
*/
|
|
1032
1267
|
initializeMouseActions() {
|
|
1033
1268
|
|
|
@@ -1046,10 +1281,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1046
1281
|
}
|
|
1047
1282
|
|
|
1048
1283
|
/**
|
|
1049
|
-
* Compare two mouse actions
|
|
1050
|
-
*
|
|
1051
|
-
* @
|
|
1052
|
-
* @
|
|
1284
|
+
* Compare two mouse actions.
|
|
1285
|
+
*
|
|
1286
|
+
* @private
|
|
1287
|
+
* @param {Object} action1 - The first mouse action.
|
|
1288
|
+
* @param {Object} action2 - The second mouse action.
|
|
1289
|
+
* @returns {boolean} `true` if action1 and action 2 are the same mouse action, `false` otherwise.
|
|
1053
1290
|
*/
|
|
1054
1291
|
compareMouseAction( action1, action2 ) {
|
|
1055
1292
|
|
|
@@ -1074,11 +1311,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1074
1311
|
}
|
|
1075
1312
|
|
|
1076
1313
|
/**
|
|
1077
|
-
* Set a new mouse action by specifying the operation to be performed and a mouse/key combination. In case of conflict, replaces the existing one
|
|
1078
|
-
*
|
|
1079
|
-
* @param {
|
|
1080
|
-
* @param {
|
|
1081
|
-
* @
|
|
1314
|
+
* Set a new mouse action by specifying the operation to be performed and a mouse/key combination. In case of conflict, replaces the existing one.
|
|
1315
|
+
*
|
|
1316
|
+
* @param {'PAN'|'ROTATE'|'ZOOM'|'FOV'} operation - The operation to be performed ('PAN', 'ROTATE', 'ZOOM', 'FOV').
|
|
1317
|
+
* @param {0|1|2|'WHEEL'} mouse - A mouse button (0, 1, 2) or 'WHEEL' for wheel notches.
|
|
1318
|
+
* @param {?('CTRL'|'SHIFT')} [key=null] - The keyboard modifier ('CTRL', 'SHIFT') or null if key is not needed.
|
|
1319
|
+
* @returns {boolean} `true` if the mouse action has been successfully added, `false` otherwise.
|
|
1082
1320
|
*/
|
|
1083
1321
|
setMouseAction( operation, mouse, key = null ) {
|
|
1084
1322
|
|
|
@@ -1155,10 +1393,11 @@ class ArcballControls extends EventDispatcher {
|
|
|
1155
1393
|
}
|
|
1156
1394
|
|
|
1157
1395
|
/**
|
|
1158
|
-
* Remove a mouse action by specifying its mouse/key combination
|
|
1159
|
-
*
|
|
1160
|
-
* @param {
|
|
1161
|
-
* @
|
|
1396
|
+
* Remove a mouse action by specifying its mouse/key combination.
|
|
1397
|
+
*
|
|
1398
|
+
* @param {0|1|2|'WHEEL'} mouse - A mouse button (0, 1, 2) or 'WHEEL' for wheel notches.
|
|
1399
|
+
* @param {?('CTRL'|'SHIFT')} key - The keyboard modifier ('CTRL', 'SHIFT') or null if key is not needed.
|
|
1400
|
+
* @returns {boolean} `true` if the operation has been successfully removed, `false` otherwise.
|
|
1162
1401
|
*/
|
|
1163
1402
|
unsetMouseAction( mouse, key = null ) {
|
|
1164
1403
|
|
|
@@ -1178,10 +1417,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1178
1417
|
}
|
|
1179
1418
|
|
|
1180
1419
|
/**
|
|
1181
|
-
* Return the operation associated to a mouse/keyboard combination
|
|
1182
|
-
*
|
|
1183
|
-
* @
|
|
1184
|
-
* @
|
|
1420
|
+
* Return the operation associated to a mouse/keyboard combination.
|
|
1421
|
+
*
|
|
1422
|
+
* @private
|
|
1423
|
+
* @param {0|1|2|'WHEEL'} mouse - Mouse button index (0, 1, 2) or 'WHEEL' for wheel notches.
|
|
1424
|
+
* @param {?('CTRL'|'SHIFT')} key - Keyboard modifier.
|
|
1425
|
+
* @returns {?('PAN'|'ROTATE'|'ZOOM'|'FOV')} The operation if it has been found, `null` otherwise.
|
|
1185
1426
|
*/
|
|
1186
1427
|
getOpFromAction( mouse, key ) {
|
|
1187
1428
|
|
|
@@ -1218,10 +1459,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1218
1459
|
}
|
|
1219
1460
|
|
|
1220
1461
|
/**
|
|
1221
|
-
* Get the operation associated to mouse and key combination and returns the corresponding FSA state
|
|
1222
|
-
*
|
|
1223
|
-
* @
|
|
1224
|
-
* @
|
|
1462
|
+
* Get the operation associated to mouse and key combination and returns the corresponding FSA state.
|
|
1463
|
+
*
|
|
1464
|
+
* @private
|
|
1465
|
+
* @param {0|1|2} mouse - Mouse button index (0, 1, 2)
|
|
1466
|
+
* @param {?('CTRL'|'SHIFT')} key - Keyboard modifier
|
|
1467
|
+
* @returns {?STATE} The FSA state obtained from the operation associated to mouse/keyboard combination.
|
|
1225
1468
|
*/
|
|
1226
1469
|
getOpStateFromAction( mouse, key ) {
|
|
1227
1470
|
|
|
@@ -1258,10 +1501,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1258
1501
|
}
|
|
1259
1502
|
|
|
1260
1503
|
/**
|
|
1261
|
-
* Calculate the angle between two pointers
|
|
1262
|
-
*
|
|
1263
|
-
* @
|
|
1264
|
-
* @
|
|
1504
|
+
* Calculate the angle between two pointers.
|
|
1505
|
+
*
|
|
1506
|
+
* @private
|
|
1507
|
+
* @param {PointerEvent} p1 - The first pointer event.
|
|
1508
|
+
* @param {PointerEvent} p2 - The second pointer event.
|
|
1509
|
+
* @returns {number} The angle between two pointers in degrees.
|
|
1265
1510
|
*/
|
|
1266
1511
|
getAngle( p1, p2 ) {
|
|
1267
1512
|
|
|
@@ -1270,8 +1515,10 @@ class ArcballControls extends EventDispatcher {
|
|
|
1270
1515
|
}
|
|
1271
1516
|
|
|
1272
1517
|
/**
|
|
1273
|
-
*
|
|
1274
|
-
*
|
|
1518
|
+
* Updates a PointerEvent inside current pointerevents array.
|
|
1519
|
+
*
|
|
1520
|
+
* @private
|
|
1521
|
+
* @param {PointerEvent} event - The pointer event.
|
|
1275
1522
|
*/
|
|
1276
1523
|
updateTouchEvent( event ) {
|
|
1277
1524
|
|
|
@@ -1289,21 +1536,23 @@ class ArcballControls extends EventDispatcher {
|
|
|
1289
1536
|
}
|
|
1290
1537
|
|
|
1291
1538
|
/**
|
|
1292
|
-
*
|
|
1293
|
-
*
|
|
1539
|
+
* Applies a transformation matrix, to the camera and gizmos.
|
|
1540
|
+
*
|
|
1541
|
+
* @private
|
|
1542
|
+
* @param {Object} transformation - Object containing matrices to apply to camera and gizmos.
|
|
1294
1543
|
*/
|
|
1295
1544
|
applyTransformMatrix( transformation ) {
|
|
1296
1545
|
|
|
1297
1546
|
if ( transformation.camera != null ) {
|
|
1298
1547
|
|
|
1299
1548
|
this._m4_1.copy( this._cameraMatrixState ).premultiply( transformation.camera );
|
|
1300
|
-
this._m4_1.decompose( this.
|
|
1301
|
-
this.
|
|
1549
|
+
this._m4_1.decompose( this.object.position, this.object.quaternion, this.object.scale );
|
|
1550
|
+
this.object.updateMatrix();
|
|
1302
1551
|
|
|
1303
1552
|
//update camera up vector
|
|
1304
1553
|
if ( this._state == STATE.ROTATE || this._state == STATE.ZROTATE || this._state == STATE.ANIMATION_ROTATE ) {
|
|
1305
1554
|
|
|
1306
|
-
this.
|
|
1555
|
+
this.object.up.copy( this._upState ).applyQuaternion( this.object.quaternion );
|
|
1307
1556
|
|
|
1308
1557
|
}
|
|
1309
1558
|
|
|
@@ -1319,11 +1568,11 @@ class ArcballControls extends EventDispatcher {
|
|
|
1319
1568
|
|
|
1320
1569
|
if ( this._state == STATE.SCALE || this._state == STATE.FOCUS || this._state == STATE.ANIMATION_FOCUS ) {
|
|
1321
1570
|
|
|
1322
|
-
this._tbRadius = this.calculateTbRadius( this.
|
|
1571
|
+
this._tbRadius = this.calculateTbRadius( this.object );
|
|
1323
1572
|
|
|
1324
1573
|
if ( this.adjustNearFar ) {
|
|
1325
1574
|
|
|
1326
|
-
const cameraDistance = this.
|
|
1575
|
+
const cameraDistance = this.object.position.distanceTo( this._gizmos.position );
|
|
1327
1576
|
|
|
1328
1577
|
const bb = new Box3();
|
|
1329
1578
|
bb.setFromObject( this._gizmos );
|
|
@@ -1334,38 +1583,38 @@ class ArcballControls extends EventDispatcher {
|
|
|
1334
1583
|
const regularNearPosition = cameraDistance - this._initialNear;
|
|
1335
1584
|
|
|
1336
1585
|
const minNearPos = Math.min( adjustedNearPosition, regularNearPosition );
|
|
1337
|
-
this.
|
|
1586
|
+
this.object.near = cameraDistance - minNearPos;
|
|
1338
1587
|
|
|
1339
1588
|
|
|
1340
1589
|
const adjustedFarPosition = Math.min( this._farPos0, - sphere.radius + sphere.center.length() );
|
|
1341
1590
|
const regularFarPosition = cameraDistance - this._initialFar;
|
|
1342
1591
|
|
|
1343
1592
|
const minFarPos = Math.min( adjustedFarPosition, regularFarPosition );
|
|
1344
|
-
this.
|
|
1593
|
+
this.object.far = cameraDistance - minFarPos;
|
|
1345
1594
|
|
|
1346
|
-
this.
|
|
1595
|
+
this.object.updateProjectionMatrix();
|
|
1347
1596
|
|
|
1348
1597
|
} else {
|
|
1349
1598
|
|
|
1350
1599
|
let update = false;
|
|
1351
1600
|
|
|
1352
|
-
if ( this.
|
|
1601
|
+
if ( this.object.near != this._initialNear ) {
|
|
1353
1602
|
|
|
1354
|
-
this.
|
|
1603
|
+
this.object.near = this._initialNear;
|
|
1355
1604
|
update = true;
|
|
1356
1605
|
|
|
1357
1606
|
}
|
|
1358
1607
|
|
|
1359
|
-
if ( this.
|
|
1608
|
+
if ( this.object.far != this._initialFar ) {
|
|
1360
1609
|
|
|
1361
|
-
this.
|
|
1610
|
+
this.object.far = this._initialFar;
|
|
1362
1611
|
update = true;
|
|
1363
1612
|
|
|
1364
1613
|
}
|
|
1365
1614
|
|
|
1366
1615
|
if ( update ) {
|
|
1367
1616
|
|
|
1368
|
-
this.
|
|
1617
|
+
this.object.updateProjectionMatrix();
|
|
1369
1618
|
|
|
1370
1619
|
}
|
|
1371
1620
|
|
|
@@ -1376,11 +1625,14 @@ class ArcballControls extends EventDispatcher {
|
|
|
1376
1625
|
}
|
|
1377
1626
|
|
|
1378
1627
|
/**
|
|
1379
|
-
*
|
|
1380
|
-
*
|
|
1381
|
-
* @
|
|
1382
|
-
* @param {
|
|
1383
|
-
* @param {
|
|
1628
|
+
* Calculates the angular speed.
|
|
1629
|
+
*
|
|
1630
|
+
* @private
|
|
1631
|
+
* @param {number} p0 - Position at t0.
|
|
1632
|
+
* @param {number} p1 - Position at t1.
|
|
1633
|
+
* @param {number} t0 - Initial time in milliseconds.
|
|
1634
|
+
* @param {number} t1 - Ending time in milliseconds.
|
|
1635
|
+
* @returns {number} The angular speed.
|
|
1384
1636
|
*/
|
|
1385
1637
|
calculateAngularSpeed( p0, p1, t0, t1 ) {
|
|
1386
1638
|
|
|
@@ -1397,10 +1649,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1397
1649
|
}
|
|
1398
1650
|
|
|
1399
1651
|
/**
|
|
1400
|
-
*
|
|
1401
|
-
*
|
|
1402
|
-
* @
|
|
1403
|
-
* @
|
|
1652
|
+
* Calculates the distance between two pointers.
|
|
1653
|
+
*
|
|
1654
|
+
* @private
|
|
1655
|
+
* @param {PointerEvent} p0 - The first pointer.
|
|
1656
|
+
* @param {PointerEvent} p1 - The second pointer.
|
|
1657
|
+
* @returns {number} The distance between the two pointers.
|
|
1404
1658
|
*/
|
|
1405
1659
|
calculatePointersDistance( p0, p1 ) {
|
|
1406
1660
|
|
|
@@ -1409,10 +1663,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1409
1663
|
}
|
|
1410
1664
|
|
|
1411
1665
|
/**
|
|
1412
|
-
*
|
|
1413
|
-
*
|
|
1414
|
-
* @
|
|
1415
|
-
* @
|
|
1666
|
+
* Calculates the rotation axis as the vector perpendicular between two vectors.
|
|
1667
|
+
*
|
|
1668
|
+
* @private
|
|
1669
|
+
* @param {Vector3} vec1 - The first vector.
|
|
1670
|
+
* @param {Vector3} vec2 - The second vector.
|
|
1671
|
+
* @returns {Vector3} The normalized rotation axis.
|
|
1416
1672
|
*/
|
|
1417
1673
|
calculateRotationAxis( vec1, vec2 ) {
|
|
1418
1674
|
|
|
@@ -1425,9 +1681,11 @@ class ArcballControls extends EventDispatcher {
|
|
|
1425
1681
|
}
|
|
1426
1682
|
|
|
1427
1683
|
/**
|
|
1428
|
-
*
|
|
1429
|
-
*
|
|
1430
|
-
* @
|
|
1684
|
+
* Calculates the trackball radius so that gizmo's diameter will be 2/3 of the minimum side of the camera frustum.
|
|
1685
|
+
*
|
|
1686
|
+
* @private
|
|
1687
|
+
* @param {Camera} camera - The camera.
|
|
1688
|
+
* @returns {number} The trackball radius.
|
|
1431
1689
|
*/
|
|
1432
1690
|
calculateTbRadius( camera ) {
|
|
1433
1691
|
|
|
@@ -1448,10 +1706,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1448
1706
|
}
|
|
1449
1707
|
|
|
1450
1708
|
/**
|
|
1451
|
-
* Focus operation consist of positioning the point of interest in front of the camera and a slightly zoom in
|
|
1452
|
-
*
|
|
1453
|
-
* @
|
|
1454
|
-
* @param {
|
|
1709
|
+
* Focus operation consist of positioning the point of interest in front of the camera and a slightly zoom in.
|
|
1710
|
+
*
|
|
1711
|
+
* @private
|
|
1712
|
+
* @param {Vector3} point - The point of interest.
|
|
1713
|
+
* @param {number} size - Scale factor.
|
|
1714
|
+
* @param {number} [amount=1] - Amount of operation to be completed (used for focus animations, default is complete full operation).
|
|
1455
1715
|
*/
|
|
1456
1716
|
focus( point, size, amount = 1 ) {
|
|
1457
1717
|
|
|
@@ -1465,7 +1725,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
1465
1725
|
|
|
1466
1726
|
_cameraMatrixStateTemp.copy( this._cameraMatrixState );
|
|
1467
1727
|
this._cameraMatrixState.premultiply( this._translationMatrix );
|
|
1468
|
-
this._cameraMatrixState.decompose( this.
|
|
1728
|
+
this._cameraMatrixState.decompose( this.object.position, this.object.quaternion, this.object.scale );
|
|
1469
1729
|
|
|
1470
1730
|
//apply zoom
|
|
1471
1731
|
if ( this.enableZoom ) {
|
|
@@ -1480,7 +1740,9 @@ class ArcballControls extends EventDispatcher {
|
|
|
1480
1740
|
}
|
|
1481
1741
|
|
|
1482
1742
|
/**
|
|
1483
|
-
*
|
|
1743
|
+
* Creates a grid if necessary and adds it to the scene.
|
|
1744
|
+
*
|
|
1745
|
+
* @private
|
|
1484
1746
|
*/
|
|
1485
1747
|
drawGrid() {
|
|
1486
1748
|
|
|
@@ -1490,22 +1752,22 @@ class ArcballControls extends EventDispatcher {
|
|
|
1490
1752
|
const multiplier = 3;
|
|
1491
1753
|
let size, divisions, maxLength, tick;
|
|
1492
1754
|
|
|
1493
|
-
if ( this.
|
|
1755
|
+
if ( this.object.isOrthographicCamera ) {
|
|
1494
1756
|
|
|
1495
|
-
const width = this.
|
|
1496
|
-
const height = this.
|
|
1757
|
+
const width = this.object.right - this.object.left;
|
|
1758
|
+
const height = this.object.bottom - this.object.top;
|
|
1497
1759
|
|
|
1498
1760
|
maxLength = Math.max( width, height );
|
|
1499
1761
|
tick = maxLength / 20;
|
|
1500
1762
|
|
|
1501
|
-
size = maxLength / this.
|
|
1502
|
-
divisions = size / tick * this.
|
|
1763
|
+
size = maxLength / this.object.zoom * multiplier;
|
|
1764
|
+
divisions = size / tick * this.object.zoom;
|
|
1503
1765
|
|
|
1504
|
-
} else if ( this.
|
|
1766
|
+
} else if ( this.object.isPerspectiveCamera ) {
|
|
1505
1767
|
|
|
1506
|
-
const distance = this.
|
|
1507
|
-
const halfFovV = MathUtils.DEG2RAD * this.
|
|
1508
|
-
const halfFovH = Math.atan( ( this.
|
|
1768
|
+
const distance = this.object.position.distanceTo( this._gizmos.position );
|
|
1769
|
+
const halfFovV = MathUtils.DEG2RAD * this.object.fov * 0.5;
|
|
1770
|
+
const halfFovH = Math.atan( ( this.object.aspect ) * Math.tan( halfFovV ) );
|
|
1509
1771
|
|
|
1510
1772
|
maxLength = Math.tan( Math.max( halfFovV, halfFovH ) ) * distance * 2;
|
|
1511
1773
|
tick = maxLength / 20;
|
|
@@ -1520,7 +1782,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
1520
1782
|
this._grid = new GridHelper( size, divisions, color, color );
|
|
1521
1783
|
this._grid.position.copy( this._gizmos.position );
|
|
1522
1784
|
this._gridPosition.copy( this._grid.position );
|
|
1523
|
-
this._grid.quaternion.copy( this.
|
|
1785
|
+
this._grid.quaternion.copy( this.object.quaternion );
|
|
1524
1786
|
this._grid.rotateX( Math.PI * 0.5 );
|
|
1525
1787
|
|
|
1526
1788
|
this.scene.add( this._grid );
|
|
@@ -1531,9 +1793,6 @@ class ArcballControls extends EventDispatcher {
|
|
|
1531
1793
|
|
|
1532
1794
|
}
|
|
1533
1795
|
|
|
1534
|
-
/**
|
|
1535
|
-
* Remove all listeners, stop animations and clean scene
|
|
1536
|
-
*/
|
|
1537
1796
|
dispose() {
|
|
1538
1797
|
|
|
1539
1798
|
if ( this._animationId != - 1 ) {
|
|
@@ -1542,15 +1801,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
1542
1801
|
|
|
1543
1802
|
}
|
|
1544
1803
|
|
|
1545
|
-
this.
|
|
1546
|
-
this.domElement.removeEventListener( 'pointercancel', this._onPointerCancel );
|
|
1547
|
-
this.domElement.removeEventListener( 'wheel', this._onWheel );
|
|
1548
|
-
this.domElement.removeEventListener( 'contextmenu', this._onContextMenu );
|
|
1549
|
-
|
|
1550
|
-
window.removeEventListener( 'pointermove', this._onPointerMove );
|
|
1551
|
-
window.removeEventListener( 'pointerup', this._onPointerUp );
|
|
1552
|
-
|
|
1553
|
-
window.removeEventListener( 'resize', this._onWindowResize );
|
|
1804
|
+
this.disconnect();
|
|
1554
1805
|
|
|
1555
1806
|
if ( this.scene !== null ) this.scene.remove( this._gizmos );
|
|
1556
1807
|
this.disposeGrid();
|
|
@@ -1558,7 +1809,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
1558
1809
|
}
|
|
1559
1810
|
|
|
1560
1811
|
/**
|
|
1561
|
-
*
|
|
1812
|
+
* Removes the grid from the scene.
|
|
1562
1813
|
*/
|
|
1563
1814
|
disposeGrid() {
|
|
1564
1815
|
|
|
@@ -1572,9 +1823,11 @@ class ArcballControls extends EventDispatcher {
|
|
|
1572
1823
|
}
|
|
1573
1824
|
|
|
1574
1825
|
/**
|
|
1575
|
-
*
|
|
1576
|
-
*
|
|
1577
|
-
* @
|
|
1826
|
+
* Computes the easing out cubic function for ease out effect in animation.
|
|
1827
|
+
*
|
|
1828
|
+
* @private
|
|
1829
|
+
* @param {number} t - The absolute progress of the animation in the bound of `0` (beginning of the) and `1` (ending of animation).
|
|
1830
|
+
* @returns {number} Result of easing out cubic at time `t`.
|
|
1578
1831
|
*/
|
|
1579
1832
|
easeOutCubic( t ) {
|
|
1580
1833
|
|
|
@@ -1583,8 +1836,9 @@ class ArcballControls extends EventDispatcher {
|
|
|
1583
1836
|
}
|
|
1584
1837
|
|
|
1585
1838
|
/**
|
|
1586
|
-
*
|
|
1587
|
-
*
|
|
1839
|
+
* Makes rotation gizmos more or less visible.
|
|
1840
|
+
*
|
|
1841
|
+
* @param {boolean} isActive - If set to `true`, gizmos are more visible.
|
|
1588
1842
|
*/
|
|
1589
1843
|
activateGizmos( isActive ) {
|
|
1590
1844
|
|
|
@@ -1609,11 +1863,13 @@ class ArcballControls extends EventDispatcher {
|
|
|
1609
1863
|
}
|
|
1610
1864
|
|
|
1611
1865
|
/**
|
|
1612
|
-
*
|
|
1613
|
-
*
|
|
1614
|
-
* @
|
|
1615
|
-
* @param {
|
|
1616
|
-
* @
|
|
1866
|
+
* Calculates the cursor position in NDC.
|
|
1867
|
+
*
|
|
1868
|
+
* @private
|
|
1869
|
+
* @param {number} cursorX - Cursor horizontal coordinate within the canvas.
|
|
1870
|
+
* @param {number} cursorY - Cursor vertical coordinate within the canvas.
|
|
1871
|
+
* @param {HTMLElement} canvas - The canvas where the renderer draws its output.
|
|
1872
|
+
* @returns {Vector2} Cursor normalized position inside the canvas.
|
|
1617
1873
|
*/
|
|
1618
1874
|
getCursorNDC( cursorX, cursorY, canvas ) {
|
|
1619
1875
|
|
|
@@ -1625,24 +1881,27 @@ class ArcballControls extends EventDispatcher {
|
|
|
1625
1881
|
}
|
|
1626
1882
|
|
|
1627
1883
|
/**
|
|
1628
|
-
*
|
|
1629
|
-
*
|
|
1630
|
-
* @
|
|
1631
|
-
* @param {
|
|
1632
|
-
* @
|
|
1884
|
+
* Calculates the cursor position inside the canvas x/y coordinates with the origin being in the center of the canvas.
|
|
1885
|
+
*
|
|
1886
|
+
* @private
|
|
1887
|
+
* @param {number} cursorX - Cursor horizontal coordinate within the canvas.
|
|
1888
|
+
* @param {number} cursorY - Cursor vertical coordinate within the canvas.
|
|
1889
|
+
* @param {HTMLElement} canvas - The canvas where the renderer draws its output.
|
|
1890
|
+
* @returns {Vector2} Cursor position inside the canvas.
|
|
1633
1891
|
*/
|
|
1634
1892
|
getCursorPosition( cursorX, cursorY, canvas ) {
|
|
1635
1893
|
|
|
1636
1894
|
this._v2_1.copy( this.getCursorNDC( cursorX, cursorY, canvas ) );
|
|
1637
|
-
this._v2_1.x *= ( this.
|
|
1638
|
-
this._v2_1.y *= ( this.
|
|
1895
|
+
this._v2_1.x *= ( this.object.right - this.object.left ) * 0.5;
|
|
1896
|
+
this._v2_1.y *= ( this.object.top - this.object.bottom ) * 0.5;
|
|
1639
1897
|
return this._v2_1.clone();
|
|
1640
1898
|
|
|
1641
1899
|
}
|
|
1642
1900
|
|
|
1643
1901
|
/**
|
|
1644
|
-
*
|
|
1645
|
-
*
|
|
1902
|
+
* Sets the camera to be controlled. Must be called in order to set a new camera to be controlled.
|
|
1903
|
+
*
|
|
1904
|
+
* @param {Camera} camera - The camera to be controlled.
|
|
1646
1905
|
*/
|
|
1647
1906
|
setCamera( camera ) {
|
|
1648
1907
|
|
|
@@ -1674,8 +1933,8 @@ class ArcballControls extends EventDispatcher {
|
|
|
1674
1933
|
this._up0.copy( camera.up );
|
|
1675
1934
|
this._upState.copy( camera.up );
|
|
1676
1935
|
|
|
1677
|
-
this.
|
|
1678
|
-
this.
|
|
1936
|
+
this.object = camera;
|
|
1937
|
+
this.object.updateProjectionMatrix();
|
|
1679
1938
|
|
|
1680
1939
|
//making gizmos
|
|
1681
1940
|
this._tbRadius = this.calculateTbRadius( camera );
|
|
@@ -1684,8 +1943,9 @@ class ArcballControls extends EventDispatcher {
|
|
|
1684
1943
|
}
|
|
1685
1944
|
|
|
1686
1945
|
/**
|
|
1687
|
-
*
|
|
1688
|
-
*
|
|
1946
|
+
* Sets gizmos visibility.
|
|
1947
|
+
*
|
|
1948
|
+
* @param {boolean} value - Value of gizmos visibility.
|
|
1689
1949
|
*/
|
|
1690
1950
|
setGizmosVisible( value ) {
|
|
1691
1951
|
|
|
@@ -1695,13 +1955,14 @@ class ArcballControls extends EventDispatcher {
|
|
|
1695
1955
|
}
|
|
1696
1956
|
|
|
1697
1957
|
/**
|
|
1698
|
-
*
|
|
1699
|
-
*
|
|
1958
|
+
* Sets gizmos radius factor and redraws gizmos.
|
|
1959
|
+
*
|
|
1960
|
+
* @param {number} value - Value of radius factor.
|
|
1700
1961
|
*/
|
|
1701
1962
|
setTbRadius( value ) {
|
|
1702
1963
|
|
|
1703
1964
|
this.radiusFactor = value;
|
|
1704
|
-
this._tbRadius = this.calculateTbRadius( this.
|
|
1965
|
+
this._tbRadius = this.calculateTbRadius( this.object );
|
|
1705
1966
|
|
|
1706
1967
|
const curve = new EllipseCurve( 0, 0, this._tbRadius, this._tbRadius );
|
|
1707
1968
|
const points = curve.getPoints( this._curvePts );
|
|
@@ -1719,9 +1980,11 @@ class ArcballControls extends EventDispatcher {
|
|
|
1719
1980
|
}
|
|
1720
1981
|
|
|
1721
1982
|
/**
|
|
1722
|
-
* Creates the rotation gizmos matching trackball center and radius
|
|
1723
|
-
*
|
|
1724
|
-
* @
|
|
1983
|
+
* Creates the rotation gizmos matching trackball center and radius.
|
|
1984
|
+
*
|
|
1985
|
+
* @private
|
|
1986
|
+
* @param {Vector3} tbCenter - The trackball center.
|
|
1987
|
+
* @param {number} tbRadius - The trackball radius.
|
|
1725
1988
|
*/
|
|
1726
1989
|
makeGizmos( tbCenter, tbRadius ) {
|
|
1727
1990
|
|
|
@@ -1750,10 +2013,10 @@ class ArcballControls extends EventDispatcher {
|
|
|
1750
2013
|
this._gizmoMatrixState0.identity().setPosition( tbCenter );
|
|
1751
2014
|
this._gizmoMatrixState.copy( this._gizmoMatrixState0 );
|
|
1752
2015
|
|
|
1753
|
-
if ( this.
|
|
2016
|
+
if ( this.object.zoom !== 1 ) {
|
|
1754
2017
|
|
|
1755
2018
|
//adapt gizmos size to camera zoom
|
|
1756
|
-
const size = 1 / this.
|
|
2019
|
+
const size = 1 / this.object.zoom;
|
|
1757
2020
|
this._scaleMatrix.makeScale( size, size, size );
|
|
1758
2021
|
this._translationMatrix.makeTranslation( - tbCenter.x, - tbCenter.y, - tbCenter.z );
|
|
1759
2022
|
|
|
@@ -1789,11 +2052,13 @@ class ArcballControls extends EventDispatcher {
|
|
|
1789
2052
|
}
|
|
1790
2053
|
|
|
1791
2054
|
/**
|
|
1792
|
-
*
|
|
1793
|
-
*
|
|
1794
|
-
* @
|
|
1795
|
-
* @param {
|
|
1796
|
-
* @param {
|
|
2055
|
+
* Performs animation for focus operation.
|
|
2056
|
+
*
|
|
2057
|
+
* @private
|
|
2058
|
+
* @param {number} time - Instant in which this function is called as performance.now().
|
|
2059
|
+
* @param {Vector3} point - Point of interest for focus operation.
|
|
2060
|
+
* @param {Matrix4} cameraMatrix - Camera matrix.
|
|
2061
|
+
* @param {Matrix4} gizmoMatrix - Gizmos matrix.
|
|
1797
2062
|
*/
|
|
1798
2063
|
onFocusAnim( time, point, cameraMatrix, gizmoMatrix ) {
|
|
1799
2064
|
|
|
@@ -1855,10 +2120,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1855
2120
|
}
|
|
1856
2121
|
|
|
1857
2122
|
/**
|
|
1858
|
-
*
|
|
1859
|
-
*
|
|
1860
|
-
* @
|
|
1861
|
-
* @param {number}
|
|
2123
|
+
* Performs animation for rotation operation.
|
|
2124
|
+
*
|
|
2125
|
+
* @private
|
|
2126
|
+
* @param {number} time - Instant in which this function is called as performance.now().
|
|
2127
|
+
* @param {Vector3} rotationAxis - Rotation axis.
|
|
2128
|
+
* @param {number} w0 - Initial angular velocity.
|
|
1862
2129
|
*/
|
|
1863
2130
|
onRotationAnim( time, rotationAxis, w0 ) {
|
|
1864
2131
|
|
|
@@ -1922,31 +2189,34 @@ class ArcballControls extends EventDispatcher {
|
|
|
1922
2189
|
|
|
1923
2190
|
|
|
1924
2191
|
/**
|
|
1925
|
-
*
|
|
1926
|
-
*
|
|
1927
|
-
* @
|
|
1928
|
-
* @param {
|
|
2192
|
+
* Performs pan operation moving camera between two points.
|
|
2193
|
+
*
|
|
2194
|
+
* @private
|
|
2195
|
+
* @param {Vector3} p0 - Initial point.
|
|
2196
|
+
* @param {Vector3} p1 - Ending point.
|
|
2197
|
+
* @param {boolean} [adjust=false] - If movement should be adjusted considering camera distance (Perspective only).
|
|
2198
|
+
* @returns {Object}
|
|
1929
2199
|
*/
|
|
1930
2200
|
pan( p0, p1, adjust = false ) {
|
|
1931
2201
|
|
|
1932
2202
|
const movement = p0.clone().sub( p1 );
|
|
1933
2203
|
|
|
1934
|
-
if ( this.
|
|
2204
|
+
if ( this.object.isOrthographicCamera ) {
|
|
1935
2205
|
|
|
1936
2206
|
//adjust movement amount
|
|
1937
|
-
movement.multiplyScalar( 1 / this.
|
|
2207
|
+
movement.multiplyScalar( 1 / this.object.zoom );
|
|
1938
2208
|
|
|
1939
|
-
} else if ( this.
|
|
2209
|
+
} else if ( this.object.isPerspectiveCamera && adjust ) {
|
|
1940
2210
|
|
|
1941
2211
|
//adjust movement amount
|
|
1942
2212
|
this._v3_1.setFromMatrixPosition( this._cameraMatrixState0 ); //camera's initial position
|
|
1943
2213
|
this._v3_2.setFromMatrixPosition( this._gizmoMatrixState0 ); //gizmo's initial position
|
|
1944
|
-
const distanceFactor = this._v3_1.distanceTo( this._v3_2 ) / this.
|
|
2214
|
+
const distanceFactor = this._v3_1.distanceTo( this._v3_2 ) / this.object.position.distanceTo( this._gizmos.position );
|
|
1945
2215
|
movement.multiplyScalar( 1 / distanceFactor );
|
|
1946
2216
|
|
|
1947
2217
|
}
|
|
1948
2218
|
|
|
1949
|
-
this._v3_1.set( movement.x, movement.y, 0 ).applyQuaternion( this.
|
|
2219
|
+
this._v3_1.set( movement.x, movement.y, 0 ).applyQuaternion( this.object.quaternion );
|
|
1950
2220
|
|
|
1951
2221
|
this._m4_1.makeTranslation( this._v3_1.x, this._v3_1.y, this._v3_1.z );
|
|
1952
2222
|
|
|
@@ -1956,35 +2226,36 @@ class ArcballControls extends EventDispatcher {
|
|
|
1956
2226
|
}
|
|
1957
2227
|
|
|
1958
2228
|
/**
|
|
1959
|
-
*
|
|
2229
|
+
* Resets the controls.
|
|
1960
2230
|
*/
|
|
1961
2231
|
reset() {
|
|
1962
2232
|
|
|
1963
|
-
this.
|
|
2233
|
+
this.target.copy( this._target0 );
|
|
2234
|
+
this.object.zoom = this._zoom0;
|
|
1964
2235
|
|
|
1965
|
-
if ( this.
|
|
2236
|
+
if ( this.object.isPerspectiveCamera ) {
|
|
1966
2237
|
|
|
1967
|
-
this.
|
|
2238
|
+
this.object.fov = this._fov0;
|
|
1968
2239
|
|
|
1969
2240
|
}
|
|
1970
2241
|
|
|
1971
|
-
this.
|
|
1972
|
-
this.
|
|
2242
|
+
this.object.near = this._nearPos;
|
|
2243
|
+
this.object.far = this._farPos;
|
|
1973
2244
|
this._cameraMatrixState.copy( this._cameraMatrixState0 );
|
|
1974
|
-
this._cameraMatrixState.decompose( this.
|
|
1975
|
-
this.
|
|
2245
|
+
this._cameraMatrixState.decompose( this.object.position, this.object.quaternion, this.object.scale );
|
|
2246
|
+
this.object.up.copy( this._up0 );
|
|
1976
2247
|
|
|
1977
|
-
this.
|
|
1978
|
-
this.
|
|
2248
|
+
this.object.updateMatrix();
|
|
2249
|
+
this.object.updateProjectionMatrix();
|
|
1979
2250
|
|
|
1980
2251
|
this._gizmoMatrixState.copy( this._gizmoMatrixState0 );
|
|
1981
2252
|
this._gizmoMatrixState0.decompose( this._gizmos.position, this._gizmos.quaternion, this._gizmos.scale );
|
|
1982
2253
|
this._gizmos.updateMatrix();
|
|
1983
2254
|
|
|
1984
|
-
this._tbRadius = this.calculateTbRadius( this.
|
|
2255
|
+
this._tbRadius = this.calculateTbRadius( this.object );
|
|
1985
2256
|
this.makeGizmos( this._gizmos.position, this._tbRadius );
|
|
1986
2257
|
|
|
1987
|
-
this.
|
|
2258
|
+
this.object.lookAt( this._gizmos.position );
|
|
1988
2259
|
|
|
1989
2260
|
this.updateTbState( STATE.IDLE, false );
|
|
1990
2261
|
|
|
@@ -1993,10 +2264,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
1993
2264
|
}
|
|
1994
2265
|
|
|
1995
2266
|
/**
|
|
1996
|
-
*
|
|
1997
|
-
*
|
|
1998
|
-
* @
|
|
1999
|
-
* @
|
|
2267
|
+
* Rotates the camera around an axis passing by trackball's center.
|
|
2268
|
+
*
|
|
2269
|
+
* @private
|
|
2270
|
+
* @param {Vector3} axis - Rotation axis.
|
|
2271
|
+
* @param {number} angle - Angle in radians.
|
|
2272
|
+
* @returns {Object} Object with 'camera' field containing transformation matrix resulting from the operation to be applied to the camera.
|
|
2000
2273
|
*/
|
|
2001
2274
|
rotate( axis, angle ) {
|
|
2002
2275
|
|
|
@@ -2015,34 +2288,42 @@ class ArcballControls extends EventDispatcher {
|
|
|
2015
2288
|
|
|
2016
2289
|
}
|
|
2017
2290
|
|
|
2291
|
+
/**
|
|
2292
|
+
* Copy the current state to clipboard (as a readable JSON text).
|
|
2293
|
+
*/
|
|
2018
2294
|
copyState() {
|
|
2019
2295
|
|
|
2020
2296
|
let state;
|
|
2021
|
-
if ( this.
|
|
2022
|
-
|
|
2023
|
-
state = JSON.stringify( {
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2297
|
+
if ( this.object.isOrthographicCamera ) {
|
|
2298
|
+
|
|
2299
|
+
state = JSON.stringify( {
|
|
2300
|
+
arcballState: {
|
|
2301
|
+
cameraFar: this.object.far,
|
|
2302
|
+
cameraMatrix: this.object.matrix,
|
|
2303
|
+
cameraNear: this.object.near,
|
|
2304
|
+
cameraUp: this.object.up,
|
|
2305
|
+
cameraZoom: this.object.zoom,
|
|
2306
|
+
gizmoMatrix: this._gizmos.matrix,
|
|
2307
|
+
target: this.target
|
|
2031
2308
|
|
|
2032
|
-
|
|
2309
|
+
}
|
|
2310
|
+
} );
|
|
2033
2311
|
|
|
2034
|
-
} else if ( this.
|
|
2312
|
+
} else if ( this.object.isPerspectiveCamera ) {
|
|
2035
2313
|
|
|
2036
|
-
state = JSON.stringify( {
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2314
|
+
state = JSON.stringify( {
|
|
2315
|
+
arcballState: {
|
|
2316
|
+
cameraFar: this.object.far,
|
|
2317
|
+
cameraFov: this.object.fov,
|
|
2318
|
+
cameraMatrix: this.object.matrix,
|
|
2319
|
+
cameraNear: this.object.near,
|
|
2320
|
+
cameraUp: this.object.up,
|
|
2321
|
+
cameraZoom: this.object.zoom,
|
|
2322
|
+
gizmoMatrix: this._gizmos.matrix,
|
|
2323
|
+
target: this.target
|
|
2044
2324
|
|
|
2045
|
-
|
|
2325
|
+
}
|
|
2326
|
+
} );
|
|
2046
2327
|
|
|
2047
2328
|
}
|
|
2048
2329
|
|
|
@@ -2050,6 +2331,10 @@ class ArcballControls extends EventDispatcher {
|
|
|
2050
2331
|
|
|
2051
2332
|
}
|
|
2052
2333
|
|
|
2334
|
+
/**
|
|
2335
|
+
* Set the controls state from the clipboard, assumes that the clipboard stores a JSON
|
|
2336
|
+
* text as saved from `copyState()`.
|
|
2337
|
+
*/
|
|
2053
2338
|
pasteState() {
|
|
2054
2339
|
|
|
2055
2340
|
const self = this;
|
|
@@ -2062,57 +2347,63 @@ class ArcballControls extends EventDispatcher {
|
|
|
2062
2347
|
}
|
|
2063
2348
|
|
|
2064
2349
|
/**
|
|
2065
|
-
*
|
|
2350
|
+
* Saves the current state of the control. This can later be recover with `reset()`.
|
|
2066
2351
|
*/
|
|
2067
2352
|
saveState() {
|
|
2068
2353
|
|
|
2069
|
-
this.
|
|
2354
|
+
this.object.updateMatrix();
|
|
2355
|
+
this._gizmos.updateMatrix();
|
|
2356
|
+
|
|
2357
|
+
this._target0.copy( this.target );
|
|
2358
|
+
this._cameraMatrixState0.copy( this.object.matrix );
|
|
2070
2359
|
this._gizmoMatrixState0.copy( this._gizmos.matrix );
|
|
2071
|
-
this._nearPos = this.
|
|
2072
|
-
this._farPos = this.
|
|
2073
|
-
this._zoom0 = this.
|
|
2074
|
-
this._up0.copy( this.
|
|
2360
|
+
this._nearPos = this.object.near;
|
|
2361
|
+
this._farPos = this.object.far;
|
|
2362
|
+
this._zoom0 = this.object.zoom;
|
|
2363
|
+
this._up0.copy( this.object.up );
|
|
2075
2364
|
|
|
2076
|
-
if ( this.
|
|
2365
|
+
if ( this.object.isPerspectiveCamera ) {
|
|
2077
2366
|
|
|
2078
|
-
this._fov0 = this.
|
|
2367
|
+
this._fov0 = this.object.fov;
|
|
2079
2368
|
|
|
2080
2369
|
}
|
|
2081
2370
|
|
|
2082
2371
|
}
|
|
2083
2372
|
|
|
2084
2373
|
/**
|
|
2085
|
-
*
|
|
2086
|
-
*
|
|
2087
|
-
* @
|
|
2088
|
-
* @param {
|
|
2089
|
-
* @
|
|
2374
|
+
* Performs uniform scale operation around a given point.
|
|
2375
|
+
*
|
|
2376
|
+
* @private
|
|
2377
|
+
* @param {number} size - Scale factor.
|
|
2378
|
+
* @param {Vector3} point - Point around which scale.
|
|
2379
|
+
* @param {boolean} scaleGizmos - If gizmos should be scaled (Perspective only).
|
|
2380
|
+
* @returns {Object} Object with 'camera' and 'gizmo' fields containing transformation matrices resulting from the operation to be applied to the camera and gizmos.
|
|
2090
2381
|
*/
|
|
2091
2382
|
scale( size, point, scaleGizmos = true ) {
|
|
2092
2383
|
|
|
2093
2384
|
_scalePointTemp.copy( point );
|
|
2094
2385
|
let sizeInverse = 1 / size;
|
|
2095
2386
|
|
|
2096
|
-
if ( this.
|
|
2387
|
+
if ( this.object.isOrthographicCamera ) {
|
|
2097
2388
|
|
|
2098
2389
|
//camera zoom
|
|
2099
|
-
this.
|
|
2100
|
-
this.
|
|
2390
|
+
this.object.zoom = this._zoomState;
|
|
2391
|
+
this.object.zoom *= size;
|
|
2101
2392
|
|
|
2102
2393
|
//check min and max zoom
|
|
2103
|
-
if ( this.
|
|
2394
|
+
if ( this.object.zoom > this.maxZoom ) {
|
|
2104
2395
|
|
|
2105
|
-
this.
|
|
2396
|
+
this.object.zoom = this.maxZoom;
|
|
2106
2397
|
sizeInverse = this._zoomState / this.maxZoom;
|
|
2107
2398
|
|
|
2108
|
-
} else if ( this.
|
|
2399
|
+
} else if ( this.object.zoom < this.minZoom ) {
|
|
2109
2400
|
|
|
2110
|
-
this.
|
|
2401
|
+
this.object.zoom = this.minZoom;
|
|
2111
2402
|
sizeInverse = this._zoomState / this.minZoom;
|
|
2112
2403
|
|
|
2113
2404
|
}
|
|
2114
2405
|
|
|
2115
|
-
this.
|
|
2406
|
+
this.object.updateProjectionMatrix();
|
|
2116
2407
|
|
|
2117
2408
|
this._v3_1.setFromMatrixPosition( this._gizmoMatrixState ); //gizmos position
|
|
2118
2409
|
|
|
@@ -2136,7 +2427,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
2136
2427
|
this.setTransformationMatrices( this._m4_1, this._m4_2 );
|
|
2137
2428
|
return _transformation;
|
|
2138
2429
|
|
|
2139
|
-
} else if ( this.
|
|
2430
|
+
} else if ( this.object.isPerspectiveCamera ) {
|
|
2140
2431
|
|
|
2141
2432
|
this._v3_1.setFromMatrixPosition( this._cameraMatrixState );
|
|
2142
2433
|
this._v3_2.setFromMatrixPosition( this._gizmoMatrixState );
|
|
@@ -2198,26 +2489,30 @@ class ArcballControls extends EventDispatcher {
|
|
|
2198
2489
|
}
|
|
2199
2490
|
|
|
2200
2491
|
/**
|
|
2201
|
-
*
|
|
2202
|
-
*
|
|
2492
|
+
* Sets camera fov.
|
|
2493
|
+
*
|
|
2494
|
+
* @private
|
|
2495
|
+
* @param {number} value - The FOV to be set.
|
|
2203
2496
|
*/
|
|
2204
2497
|
setFov( value ) {
|
|
2205
2498
|
|
|
2206
|
-
if ( this.
|
|
2499
|
+
if ( this.object.isPerspectiveCamera ) {
|
|
2207
2500
|
|
|
2208
|
-
this.
|
|
2209
|
-
this.
|
|
2501
|
+
this.object.fov = MathUtils.clamp( value, this.minFov, this.maxFov );
|
|
2502
|
+
this.object.updateProjectionMatrix();
|
|
2210
2503
|
|
|
2211
2504
|
}
|
|
2212
2505
|
|
|
2213
2506
|
}
|
|
2214
2507
|
|
|
2215
2508
|
/**
|
|
2216
|
-
*
|
|
2217
|
-
*
|
|
2218
|
-
* @
|
|
2509
|
+
* Sets values in transformation object.
|
|
2510
|
+
*
|
|
2511
|
+
* @private
|
|
2512
|
+
* @param {?Matrix4} [camera=null] - Transformation to be applied to the camera.
|
|
2513
|
+
* @param {?Matrix4} [gizmos=null] - Transformation to be applied to gizmos.
|
|
2219
2514
|
*/
|
|
2220
|
-
|
|
2515
|
+
setTransformationMatrices( camera = null, gizmos = null ) {
|
|
2221
2516
|
|
|
2222
2517
|
if ( camera != null ) {
|
|
2223
2518
|
|
|
@@ -2258,10 +2553,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
2258
2553
|
}
|
|
2259
2554
|
|
|
2260
2555
|
/**
|
|
2261
|
-
*
|
|
2262
|
-
*
|
|
2263
|
-
* @
|
|
2264
|
-
* @
|
|
2556
|
+
* Rotates camera around its direction axis passing by a given point by a given angle.
|
|
2557
|
+
*
|
|
2558
|
+
* @private
|
|
2559
|
+
* @param {Vector3} point - The point where the rotation axis is passing trough.
|
|
2560
|
+
* @param {number} angle - Angle in radians.
|
|
2561
|
+
* @returns {Object} The computed transformation matrix.
|
|
2265
2562
|
*/
|
|
2266
2563
|
zRotate( point, angle ) {
|
|
2267
2564
|
|
|
@@ -2283,7 +2580,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
2283
2580
|
|
|
2284
2581
|
}
|
|
2285
2582
|
|
|
2286
|
-
|
|
2583
|
+
/**
|
|
2584
|
+
* Returns the raycaster that is used for user interaction. This object is shared between all
|
|
2585
|
+
* instances of `ArcballControls`.
|
|
2586
|
+
*
|
|
2587
|
+
* @returns {Raycaster} The internal raycaster.
|
|
2588
|
+
*/
|
|
2287
2589
|
getRaycaster() {
|
|
2288
2590
|
|
|
2289
2591
|
return _raycaster;
|
|
@@ -2292,10 +2594,12 @@ class ArcballControls extends EventDispatcher {
|
|
|
2292
2594
|
|
|
2293
2595
|
|
|
2294
2596
|
/**
|
|
2295
|
-
*
|
|
2296
|
-
*
|
|
2297
|
-
* @
|
|
2298
|
-
* @
|
|
2597
|
+
* Unprojects the cursor on the 3D object surface.
|
|
2598
|
+
*
|
|
2599
|
+
* @private
|
|
2600
|
+
* @param {Vector2} cursor - Cursor coordinates in NDC.
|
|
2601
|
+
* @param {Camera} camera - Virtual camera.
|
|
2602
|
+
* @returns {?Vector3} The point of intersection with the model, if exist, null otherwise.
|
|
2299
2603
|
*/
|
|
2300
2604
|
unprojectOnObj( cursor, camera ) {
|
|
2301
2605
|
|
|
@@ -2321,13 +2625,15 @@ class ArcballControls extends EventDispatcher {
|
|
|
2321
2625
|
}
|
|
2322
2626
|
|
|
2323
2627
|
/**
|
|
2324
|
-
* Unproject the cursor on the trackball surface
|
|
2325
|
-
*
|
|
2326
|
-
* @
|
|
2327
|
-
* @param {
|
|
2328
|
-
* @param {
|
|
2329
|
-
* @param {number}
|
|
2330
|
-
* @
|
|
2628
|
+
* Unproject the cursor on the trackball surface.
|
|
2629
|
+
*
|
|
2630
|
+
* @private
|
|
2631
|
+
* @param {Camera} camera - The virtual camera.
|
|
2632
|
+
* @param {number} cursorX - Cursor horizontal coordinate on screen.
|
|
2633
|
+
* @param {number} cursorY - Cursor vertical coordinate on screen.
|
|
2634
|
+
* @param {HTMLElement} canvas - The canvas where the renderer draws its output.
|
|
2635
|
+
* @param {number} tbRadius - The trackball radius.
|
|
2636
|
+
* @returns {Vector3} The unprojected point on the trackball surface.
|
|
2331
2637
|
*/
|
|
2332
2638
|
unprojectOnTbSurface( camera, cursorX, cursorY, canvas, tbRadius ) {
|
|
2333
2639
|
|
|
@@ -2451,13 +2757,15 @@ class ArcballControls extends EventDispatcher {
|
|
|
2451
2757
|
|
|
2452
2758
|
|
|
2453
2759
|
/**
|
|
2454
|
-
*
|
|
2455
|
-
*
|
|
2456
|
-
* @
|
|
2457
|
-
* @param {
|
|
2458
|
-
* @param {
|
|
2459
|
-
* @param {
|
|
2460
|
-
* @
|
|
2760
|
+
* Unprojects the cursor on the plane passing through the center of the trackball orthogonal to the camera.
|
|
2761
|
+
*
|
|
2762
|
+
* @private
|
|
2763
|
+
* @param {Camera} camera - The virtual camera.
|
|
2764
|
+
* @param {number} cursorX - Cursor horizontal coordinate on screen.
|
|
2765
|
+
* @param {number} cursorY - Cursor vertical coordinate on screen.
|
|
2766
|
+
* @param {HTMLElement} canvas - The canvas where the renderer draws its output.
|
|
2767
|
+
* @param {boolean} [initialDistance=false] - If initial distance between camera and gizmos should be used for calculations instead of current (Perspective only).
|
|
2768
|
+
* @returns {Vector3} The unprojected point on the trackball plane.
|
|
2461
2769
|
*/
|
|
2462
2770
|
unprojectOnTbPlane( camera, cursorX, cursorY, canvas, initialDistance = false ) {
|
|
2463
2771
|
|
|
@@ -2531,32 +2839,36 @@ class ArcballControls extends EventDispatcher {
|
|
|
2531
2839
|
}
|
|
2532
2840
|
|
|
2533
2841
|
/**
|
|
2534
|
-
*
|
|
2842
|
+
* Updates camera and gizmos state.
|
|
2843
|
+
*
|
|
2844
|
+
* @private
|
|
2535
2845
|
*/
|
|
2536
2846
|
updateMatrixState() {
|
|
2537
2847
|
|
|
2538
2848
|
//update camera and gizmos state
|
|
2539
|
-
this._cameraMatrixState.copy( this.
|
|
2849
|
+
this._cameraMatrixState.copy( this.object.matrix );
|
|
2540
2850
|
this._gizmoMatrixState.copy( this._gizmos.matrix );
|
|
2541
2851
|
|
|
2542
|
-
if ( this.
|
|
2852
|
+
if ( this.object.isOrthographicCamera ) {
|
|
2543
2853
|
|
|
2544
|
-
this._cameraProjectionState.copy( this.
|
|
2545
|
-
this.
|
|
2546
|
-
this._zoomState = this.
|
|
2854
|
+
this._cameraProjectionState.copy( this.object.projectionMatrix );
|
|
2855
|
+
this.object.updateProjectionMatrix();
|
|
2856
|
+
this._zoomState = this.object.zoom;
|
|
2547
2857
|
|
|
2548
|
-
} else if ( this.
|
|
2858
|
+
} else if ( this.object.isPerspectiveCamera ) {
|
|
2549
2859
|
|
|
2550
|
-
this._fovState = this.
|
|
2860
|
+
this._fovState = this.object.fov;
|
|
2551
2861
|
|
|
2552
2862
|
}
|
|
2553
2863
|
|
|
2554
2864
|
}
|
|
2555
2865
|
|
|
2556
2866
|
/**
|
|
2557
|
-
*
|
|
2558
|
-
*
|
|
2559
|
-
* @
|
|
2867
|
+
* Updates the trackball FSA.
|
|
2868
|
+
*
|
|
2869
|
+
* @private
|
|
2870
|
+
* @param {STATE} newState - New state of the FSA.
|
|
2871
|
+
* @param {boolean} updateMatrices - If matrices state should be updated.
|
|
2560
2872
|
*/
|
|
2561
2873
|
updateTbState( newState, updateMatrices ) {
|
|
2562
2874
|
|
|
@@ -2571,53 +2883,51 @@ class ArcballControls extends EventDispatcher {
|
|
|
2571
2883
|
|
|
2572
2884
|
update() {
|
|
2573
2885
|
|
|
2574
|
-
const EPS = 0.000001;
|
|
2575
|
-
|
|
2576
2886
|
if ( this.target.equals( this._currentTarget ) === false ) {
|
|
2577
2887
|
|
|
2578
2888
|
this._gizmos.position.copy( this.target ); //for correct radius calculation
|
|
2579
|
-
this._tbRadius = this.calculateTbRadius( this.
|
|
2889
|
+
this._tbRadius = this.calculateTbRadius( this.object );
|
|
2580
2890
|
this.makeGizmos( this.target, this._tbRadius );
|
|
2581
2891
|
this._currentTarget.copy( this.target );
|
|
2582
2892
|
|
|
2583
2893
|
}
|
|
2584
2894
|
|
|
2585
2895
|
//check min/max parameters
|
|
2586
|
-
if ( this.
|
|
2896
|
+
if ( this.object.isOrthographicCamera ) {
|
|
2587
2897
|
|
|
2588
2898
|
//check zoom
|
|
2589
|
-
if ( this.
|
|
2899
|
+
if ( this.object.zoom > this.maxZoom || this.object.zoom < this.minZoom ) {
|
|
2590
2900
|
|
|
2591
|
-
const newZoom = MathUtils.clamp( this.
|
|
2592
|
-
this.applyTransformMatrix( this.scale( newZoom / this.
|
|
2901
|
+
const newZoom = MathUtils.clamp( this.object.zoom, this.minZoom, this.maxZoom );
|
|
2902
|
+
this.applyTransformMatrix( this.scale( newZoom / this.object.zoom, this._gizmos.position, true ) );
|
|
2593
2903
|
|
|
2594
2904
|
}
|
|
2595
2905
|
|
|
2596
|
-
} else if ( this.
|
|
2906
|
+
} else if ( this.object.isPerspectiveCamera ) {
|
|
2597
2907
|
|
|
2598
2908
|
//check distance
|
|
2599
|
-
const distance = this.
|
|
2909
|
+
const distance = this.object.position.distanceTo( this._gizmos.position );
|
|
2600
2910
|
|
|
2601
|
-
if ( distance > this.maxDistance +
|
|
2911
|
+
if ( distance > this.maxDistance + _EPS || distance < this.minDistance - _EPS ) {
|
|
2602
2912
|
|
|
2603
2913
|
const newDistance = MathUtils.clamp( distance, this.minDistance, this.maxDistance );
|
|
2604
2914
|
this.applyTransformMatrix( this.scale( newDistance / distance, this._gizmos.position ) );
|
|
2605
2915
|
this.updateMatrixState();
|
|
2606
2916
|
|
|
2607
|
-
|
|
2917
|
+
}
|
|
2608
2918
|
|
|
2609
2919
|
//check fov
|
|
2610
|
-
if ( this.
|
|
2920
|
+
if ( this.object.fov < this.minFov || this.object.fov > this.maxFov ) {
|
|
2611
2921
|
|
|
2612
|
-
this.
|
|
2613
|
-
this.
|
|
2922
|
+
this.object.fov = MathUtils.clamp( this.object.fov, this.minFov, this.maxFov );
|
|
2923
|
+
this.object.updateProjectionMatrix();
|
|
2614
2924
|
|
|
2615
2925
|
}
|
|
2616
2926
|
|
|
2617
2927
|
const oldRadius = this._tbRadius;
|
|
2618
|
-
this._tbRadius = this.calculateTbRadius( this.
|
|
2928
|
+
this._tbRadius = this.calculateTbRadius( this.object );
|
|
2619
2929
|
|
|
2620
|
-
if ( oldRadius < this._tbRadius -
|
|
2930
|
+
if ( oldRadius < this._tbRadius - _EPS || oldRadius > this._tbRadius + _EPS ) {
|
|
2621
2931
|
|
|
2622
2932
|
const scale = ( this._gizmos.scale.x + this._gizmos.scale.y + this._gizmos.scale.z ) / 3;
|
|
2623
2933
|
const newRadius = this._tbRadius / scale;
|
|
@@ -2635,7 +2945,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
2635
2945
|
|
|
2636
2946
|
}
|
|
2637
2947
|
|
|
2638
|
-
this.
|
|
2948
|
+
this.object.lookAt( this._gizmos.position );
|
|
2639
2949
|
|
|
2640
2950
|
}
|
|
2641
2951
|
|
|
@@ -2645,35 +2955,37 @@ class ArcballControls extends EventDispatcher {
|
|
|
2645
2955
|
|
|
2646
2956
|
if ( state.arcballState != undefined ) {
|
|
2647
2957
|
|
|
2958
|
+
this.target.fromArray( state.arcballState.target );
|
|
2959
|
+
|
|
2648
2960
|
this._cameraMatrixState.fromArray( state.arcballState.cameraMatrix.elements );
|
|
2649
|
-
this._cameraMatrixState.decompose( this.
|
|
2961
|
+
this._cameraMatrixState.decompose( this.object.position, this.object.quaternion, this.object.scale );
|
|
2650
2962
|
|
|
2651
|
-
this.
|
|
2652
|
-
this.
|
|
2653
|
-
this.
|
|
2963
|
+
this.object.up.copy( state.arcballState.cameraUp );
|
|
2964
|
+
this.object.near = state.arcballState.cameraNear;
|
|
2965
|
+
this.object.far = state.arcballState.cameraFar;
|
|
2654
2966
|
|
|
2655
|
-
this.
|
|
2967
|
+
this.object.zoom = state.arcballState.cameraZoom;
|
|
2656
2968
|
|
|
2657
|
-
if ( this.
|
|
2969
|
+
if ( this.object.isPerspectiveCamera ) {
|
|
2658
2970
|
|
|
2659
|
-
this.
|
|
2971
|
+
this.object.fov = state.arcballState.cameraFov;
|
|
2660
2972
|
|
|
2661
2973
|
}
|
|
2662
2974
|
|
|
2663
2975
|
this._gizmoMatrixState.fromArray( state.arcballState.gizmoMatrix.elements );
|
|
2664
2976
|
this._gizmoMatrixState.decompose( this._gizmos.position, this._gizmos.quaternion, this._gizmos.scale );
|
|
2665
2977
|
|
|
2666
|
-
this.
|
|
2667
|
-
this.
|
|
2978
|
+
this.object.updateMatrix();
|
|
2979
|
+
this.object.updateProjectionMatrix();
|
|
2668
2980
|
|
|
2669
2981
|
this._gizmos.updateMatrix();
|
|
2670
2982
|
|
|
2671
|
-
this._tbRadius = this.calculateTbRadius( this.
|
|
2983
|
+
this._tbRadius = this.calculateTbRadius( this.object );
|
|
2672
2984
|
const gizmoTmp = new Matrix4().copy( this._gizmoMatrixState0 );
|
|
2673
2985
|
this.makeGizmos( this._gizmos.position, this._tbRadius );
|
|
2674
2986
|
this._gizmoMatrixState0.copy( gizmoTmp );
|
|
2675
2987
|
|
|
2676
|
-
this.
|
|
2988
|
+
this.object.lookAt( this._gizmos.position );
|
|
2677
2989
|
this.updateTbState( STATE.IDLE, false );
|
|
2678
2990
|
|
|
2679
2991
|
this.dispatchEvent( _changeEvent );
|
|
@@ -2689,7 +3001,7 @@ class ArcballControls extends EventDispatcher {
|
|
|
2689
3001
|
function onWindowResize() {
|
|
2690
3002
|
|
|
2691
3003
|
const scale = ( this._gizmos.scale.x + this._gizmos.scale.y + this._gizmos.scale.z ) / 3;
|
|
2692
|
-
this._tbRadius = this.calculateTbRadius( this.
|
|
3004
|
+
this._tbRadius = this.calculateTbRadius( this.object );
|
|
2693
3005
|
|
|
2694
3006
|
const newRadius = this._tbRadius / scale;
|
|
2695
3007
|
const curve = new EllipseCurve( 0, 0, newRadius, newRadius );
|
|
@@ -3098,13 +3410,13 @@ function onWheel( event ) {
|
|
|
3098
3410
|
|
|
3099
3411
|
let scalePoint;
|
|
3100
3412
|
|
|
3101
|
-
if ( this.
|
|
3413
|
+
if ( this.object.isOrthographicCamera ) {
|
|
3102
3414
|
|
|
3103
|
-
scalePoint = this.unprojectOnTbPlane( this.
|
|
3415
|
+
scalePoint = this.unprojectOnTbPlane( this.object, event.clientX, event.clientY, this.domElement ).applyQuaternion( this.object.quaternion ).multiplyScalar( 1 / this.object.zoom ).add( this._gizmos.position );
|
|
3104
3416
|
|
|
3105
|
-
} else if ( this.
|
|
3417
|
+
} else if ( this.object.isPerspectiveCamera ) {
|
|
3106
3418
|
|
|
3107
|
-
scalePoint = this.unprojectOnTbPlane( this.
|
|
3419
|
+
scalePoint = this.unprojectOnTbPlane( this.object, event.clientX, event.clientY, this.domElement ).applyQuaternion( this.object.quaternion ).add( this._gizmos.position );
|
|
3108
3420
|
|
|
3109
3421
|
}
|
|
3110
3422
|
|
|
@@ -3132,7 +3444,7 @@ function onWheel( event ) {
|
|
|
3132
3444
|
|
|
3133
3445
|
case 'FOV':
|
|
3134
3446
|
|
|
3135
|
-
if ( this.
|
|
3447
|
+
if ( this.object.isPerspectiveCamera ) {
|
|
3136
3448
|
|
|
3137
3449
|
this.updateTbState( STATE.FOV, true );
|
|
3138
3450
|
|
|
@@ -3175,7 +3487,7 @@ function onWheel( event ) {
|
|
|
3175
3487
|
//check min and max distance
|
|
3176
3488
|
xNew = MathUtils.clamp( xNew, this.minDistance, this.maxDistance );
|
|
3177
3489
|
|
|
3178
|
-
const y = x * Math.tan( MathUtils.DEG2RAD * this.
|
|
3490
|
+
const y = x * Math.tan( MathUtils.DEG2RAD * this.object.fov * 0.5 );
|
|
3179
3491
|
|
|
3180
3492
|
//calculate new fov
|
|
3181
3493
|
let newFov = MathUtils.RAD2DEG * ( Math.atan( y / xNew ) * 2 );
|