@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.
Files changed (1382) hide show
  1. package/README.md +60 -23
  2. package/config/client-meta.json +5 -5
  3. package/dist/apps/upload.js +6 -3
  4. package/dist/assets/model-artifacts.js +1 -1
  5. package/dist/catalogue.d.ts +13 -0
  6. package/dist/catalogue.js +95 -34
  7. package/dist/commandContext.d.ts +1 -0
  8. package/dist/commandContext.js +45 -15
  9. package/dist/commands/browse.d.ts +16 -0
  10. package/dist/commands/browse.js +370 -0
  11. package/dist/commands/build.js +4 -9
  12. package/dist/commands/capture.js +24 -24
  13. package/dist/commands/captureRemote.d.ts +11 -0
  14. package/dist/commands/captureRemote.js +90 -0
  15. package/dist/commands/comments.d.ts +14 -0
  16. package/dist/commands/comments.js +189 -0
  17. package/dist/commands/create.js +231 -132
  18. package/dist/commands/createRemixContent.d.ts +3 -0
  19. package/dist/commands/createRemixContent.js +310 -0
  20. package/dist/commands/creations.d.ts +49 -0
  21. package/dist/commands/creations.js +657 -0
  22. package/dist/commands/credits.d.ts +10 -0
  23. package/dist/commands/credits.js +91 -0
  24. package/dist/commands/detail.d.ts +2 -2
  25. package/dist/commands/detail.js +148 -290
  26. package/dist/commands/dev.js +24 -24
  27. package/dist/commands/devShared.js +2 -2
  28. package/dist/commands/documentation.d.ts +4 -1
  29. package/dist/commands/documentation.js +79 -104
  30. package/dist/commands/feedback.d.ts +12 -9
  31. package/dist/commands/feedback.js +125 -257
  32. package/dist/commands/format.js +6 -13
  33. package/dist/commands/generation.d.ts +11 -1
  34. package/dist/commands/generation.js +204 -60
  35. package/dist/commands/gettingStarted.d.ts +1 -0
  36. package/dist/commands/gettingStarted.js +26 -0
  37. package/dist/commands/init.js +29 -27
  38. package/dist/commands/login.js +9 -8
  39. package/dist/commands/logout.js +2 -1
  40. package/dist/commands/notifications.d.ts +14 -0
  41. package/dist/commands/notifications.js +179 -0
  42. package/dist/commands/search.d.ts +13 -0
  43. package/dist/commands/search.js +198 -0
  44. package/dist/commands/upload.js +31 -17
  45. package/dist/commands/validate.js +15 -1
  46. package/dist/commands/versionsBrowse.d.ts +7 -0
  47. package/dist/commands/versionsBrowse.js +209 -0
  48. package/dist/commands/whoami.js +9 -8
  49. package/dist/errors.d.ts +9 -0
  50. package/dist/errors.js +52 -0
  51. package/dist/externalAssetPackValidation.d.ts +2 -0
  52. package/dist/externalAssetPackValidation.js +115 -0
  53. package/dist/http.js +1 -1
  54. package/dist/index.js +583 -630
  55. package/dist/messages.js +11 -11
  56. package/dist/output.d.ts +5 -0
  57. package/dist/output.js +45 -0
  58. package/dist/playwright.js +1 -1
  59. package/dist/refs.d.ts +18 -0
  60. package/dist/refs.js +105 -0
  61. package/node_modules/@playdrop/ai-client/dist/index.d.ts +43 -16
  62. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +1 -1
  63. package/node_modules/@playdrop/ai-client/dist/index.js +1 -1
  64. package/node_modules/@playdrop/ai-client/package.json +1 -0
  65. package/node_modules/@playdrop/api-client/dist/client.d.ts +46 -28
  66. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  67. package/node_modules/@playdrop/api-client/dist/client.js +282 -1669
  68. package/node_modules/@playdrop/api-client/dist/core/errors.d.ts +9 -0
  69. package/node_modules/@playdrop/api-client/dist/core/errors.d.ts.map +1 -0
  70. package/node_modules/@playdrop/api-client/dist/core/errors.js +46 -0
  71. package/node_modules/@playdrop/api-client/dist/core/request.d.ts +27 -0
  72. package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -0
  73. package/node_modules/@playdrop/api-client/dist/core/request.js +122 -0
  74. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +75 -0
  75. package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -0
  76. package/node_modules/@playdrop/api-client/dist/domains/admin.js +282 -0
  77. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +22 -0
  78. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -0
  79. package/node_modules/@playdrop/api-client/dist/domains/ai.js +15 -0
  80. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +61 -0
  81. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -0
  82. package/node_modules/@playdrop/api-client/dist/domains/apps.js +323 -0
  83. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts +61 -0
  84. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.d.ts.map +1 -0
  85. package/node_modules/@playdrop/api-client/dist/domains/asset-packs.js +315 -0
  86. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +64 -0
  87. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -0
  88. package/node_modules/@playdrop/api-client/dist/domains/assets.js +315 -0
  89. package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts +28 -0
  90. package/node_modules/@playdrop/api-client/dist/domains/auth.d.ts.map +1 -0
  91. package/node_modules/@playdrop/api-client/dist/domains/auth.js +78 -0
  92. package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts +29 -0
  93. package/node_modules/@playdrop/api-client/dist/domains/comments.d.ts.map +1 -0
  94. package/node_modules/@playdrop/api-client/dist/domains/comments.js +65 -0
  95. package/node_modules/@playdrop/api-client/dist/domains/me.d.ts +24 -0
  96. package/node_modules/@playdrop/api-client/dist/domains/me.d.ts.map +1 -0
  97. package/node_modules/@playdrop/api-client/dist/domains/me.js +35 -0
  98. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts +37 -0
  99. package/node_modules/@playdrop/api-client/dist/domains/payments.d.ts.map +1 -0
  100. package/node_modules/@playdrop/api-client/dist/domains/payments.js +148 -0
  101. package/node_modules/@playdrop/api-client/dist/domains/search.d.ts +27 -0
  102. package/node_modules/@playdrop/api-client/dist/domains/search.d.ts.map +1 -0
  103. package/node_modules/@playdrop/api-client/dist/domains/search.js +65 -0
  104. package/node_modules/@playdrop/api-client/dist/index.d.ts +36 -56
  105. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  106. package/node_modules/@playdrop/api-client/dist/index.js +112 -44
  107. package/node_modules/@playdrop/api-client/package.json +3 -2
  108. package/node_modules/@playdrop/boxel-core/package.json +1 -1
  109. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +1 -1
  110. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +1 -1
  111. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +1 -1
  112. package/node_modules/@playdrop/boxel-three/package.json +2 -1
  113. package/node_modules/@playdrop/config/client-meta.json +5 -5
  114. package/node_modules/@playdrop/config/dist/src/constants.d.ts +5 -0
  115. package/node_modules/@playdrop/config/dist/src/constants.d.ts.map +1 -1
  116. package/node_modules/@playdrop/config/dist/src/constants.js +5 -1
  117. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  118. package/node_modules/@playdrop/config/package.json +1 -1
  119. package/node_modules/@playdrop/types/dist/api.d.ts +200 -18
  120. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  121. package/node_modules/@playdrop/types/dist/api.js +30 -1
  122. package/node_modules/@playdrop/types/dist/app.d.ts +0 -14
  123. package/node_modules/@playdrop/types/dist/app.d.ts.map +1 -1
  124. package/node_modules/@playdrop/types/dist/app.js +0 -10
  125. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +12 -1
  126. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
  127. package/node_modules/@playdrop/types/dist/asset.d.ts +92 -0
  128. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
  129. package/node_modules/@playdrop/types/dist/graph.d.ts +21 -0
  130. package/node_modules/@playdrop/types/dist/graph.d.ts.map +1 -1
  131. package/node_modules/@playdrop/types/dist/graph.js +66 -0
  132. package/node_modules/@playdrop/types/dist/realtime.d.ts +26 -26
  133. package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
  134. package/node_modules/@playdrop/types/dist/version.d.ts +6 -0
  135. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  136. package/node_modules/three/LICENSE +1 -1
  137. package/node_modules/three/README.md +7 -7
  138. package/node_modules/three/build/three.cjs +49655 -25499
  139. package/node_modules/three/build/three.core.js +58952 -0
  140. package/node_modules/three/build/three.core.min.js +6 -0
  141. package/node_modules/three/build/three.module.js +11162 -45962
  142. package/node_modules/three/build/three.module.min.js +2 -2
  143. package/node_modules/three/build/three.tsl.js +640 -0
  144. package/node_modules/three/build/three.tsl.min.js +6 -0
  145. package/node_modules/three/build/three.webgpu.js +79685 -0
  146. package/node_modules/three/build/three.webgpu.min.js +6 -0
  147. package/node_modules/three/build/three.webgpu.nodes.js +79456 -0
  148. package/node_modules/three/build/three.webgpu.nodes.min.js +6 -0
  149. package/node_modules/three/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
  150. package/node_modules/three/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
  151. package/node_modules/three/examples/jsm/Addons.js +8 -18
  152. package/node_modules/three/examples/jsm/animation/AnimationClipCreator.js +59 -7
  153. package/node_modules/three/examples/jsm/animation/CCDIKSolver.js +154 -45
  154. package/node_modules/three/examples/jsm/capabilities/WebGL.js +28 -23
  155. package/node_modules/three/examples/jsm/capabilities/WebGPU.js +19 -17
  156. package/node_modules/three/examples/jsm/controls/ArcballControls.js +636 -324
  157. package/node_modules/three/examples/jsm/controls/DragControls.js +332 -101
  158. package/node_modules/three/examples/jsm/controls/FirstPersonControls.js +291 -169
  159. package/node_modules/three/examples/jsm/controls/FlyControls.js +245 -191
  160. package/node_modules/three/examples/jsm/controls/MapControls.js +43 -9
  161. package/node_modules/three/examples/jsm/controls/OrbitControls.js +1156 -802
  162. package/node_modules/three/examples/jsm/controls/PointerLockControls.js +137 -35
  163. package/node_modules/three/examples/jsm/controls/TrackballControls.js +629 -456
  164. package/node_modules/three/examples/jsm/controls/TransformControls.js +442 -97
  165. package/node_modules/three/examples/jsm/csm/CSM.js +230 -17
  166. package/node_modules/three/examples/jsm/csm/CSMFrustum.js +61 -4
  167. package/node_modules/three/examples/jsm/csm/CSMHelper.js +50 -0
  168. package/node_modules/three/examples/jsm/csm/CSMShader.js +17 -5
  169. package/node_modules/three/examples/jsm/csm/CSMShadowNode.js +599 -0
  170. package/node_modules/three/examples/jsm/curves/CurveExtras.js +303 -31
  171. package/node_modules/three/examples/jsm/curves/NURBSCurve.js +91 -16
  172. package/node_modules/three/examples/jsm/curves/NURBSSurface.js +52 -6
  173. package/node_modules/three/examples/jsm/curves/NURBSUtils.js +102 -112
  174. package/node_modules/three/examples/jsm/curves/NURBSVolume.js +24 -4
  175. package/node_modules/three/examples/jsm/effects/AnaglyphEffect.js +39 -14
  176. package/node_modules/three/examples/jsm/effects/AsciiEffect.js +69 -22
  177. package/node_modules/three/examples/jsm/effects/OutlineEffect.js +61 -111
  178. package/node_modules/three/examples/jsm/effects/ParallaxBarrierEffect.js +48 -12
  179. package/node_modules/three/examples/jsm/effects/StereoEffect.js +37 -1
  180. package/node_modules/three/examples/jsm/environments/DebugEnvironment.js +50 -0
  181. package/node_modules/three/examples/jsm/environments/RoomEnvironment.js +82 -48
  182. package/node_modules/three/examples/jsm/exporters/DRACOExporter.js +59 -15
  183. package/node_modules/three/examples/jsm/exporters/EXRExporter.js +58 -19
  184. package/node_modules/three/examples/jsm/exporters/GLTFExporter.js +460 -174
  185. package/node_modules/three/examples/jsm/exporters/KTX2Exporter.js +80 -25
  186. package/node_modules/three/examples/jsm/exporters/OBJExporter.js +25 -1
  187. package/node_modules/three/examples/jsm/exporters/PLYExporter.js +51 -17
  188. package/node_modules/three/examples/jsm/exporters/STLExporter.js +27 -5
  189. package/node_modules/three/examples/jsm/exporters/USDZExporter.js +783 -268
  190. package/node_modules/three/examples/jsm/geometries/BoxLineGeometry.js +23 -0
  191. package/node_modules/three/examples/jsm/geometries/ConvexGeometry.js +19 -0
  192. package/node_modules/three/examples/jsm/geometries/DecalGeometry.js +94 -30
  193. package/node_modules/three/examples/jsm/geometries/ParametricFunctions.js +100 -0
  194. package/node_modules/three/examples/jsm/geometries/ParametricGeometry.js +38 -5
  195. package/node_modules/three/examples/jsm/geometries/RoundedBoxGeometry.js +68 -7
  196. package/node_modules/three/examples/jsm/geometries/TeapotGeometry.js +23 -38
  197. package/node_modules/three/examples/jsm/geometries/TextGeometry.js +48 -21
  198. package/node_modules/three/examples/jsm/gpgpu/BitonicSort.js +715 -0
  199. package/node_modules/three/examples/jsm/helpers/LightProbeHelper.js +79 -44
  200. package/node_modules/three/examples/jsm/helpers/LightProbeHelperGPU.js +102 -0
  201. package/node_modules/three/examples/jsm/helpers/OctreeHelper.js +36 -0
  202. package/node_modules/three/examples/jsm/helpers/PositionalAudioHelper.js +60 -0
  203. package/node_modules/three/examples/jsm/helpers/RapierHelper.js +59 -0
  204. package/node_modules/three/examples/jsm/helpers/RectAreaLightHelper.js +36 -3
  205. package/node_modules/three/examples/jsm/helpers/TextureHelper.js +28 -0
  206. package/node_modules/three/examples/jsm/helpers/TextureHelperGPU.js +214 -0
  207. package/node_modules/three/examples/jsm/helpers/VertexNormalsHelper.js +61 -2
  208. package/node_modules/three/examples/jsm/helpers/VertexTangentsHelper.js +47 -2
  209. package/node_modules/three/examples/jsm/helpers/ViewHelper.js +192 -65
  210. package/node_modules/three/examples/jsm/inspector/Inspector.js +427 -0
  211. package/node_modules/three/examples/jsm/inspector/RendererInspector.js +415 -0
  212. package/node_modules/three/examples/jsm/inspector/tabs/Console.js +204 -0
  213. package/node_modules/three/examples/jsm/inspector/tabs/Parameters.js +332 -0
  214. package/node_modules/three/examples/jsm/inspector/tabs/Performance.js +268 -0
  215. package/node_modules/three/examples/jsm/inspector/tabs/Viewer.js +166 -0
  216. package/node_modules/three/examples/jsm/inspector/ui/Graph.js +95 -0
  217. package/node_modules/three/examples/jsm/inspector/ui/Item.js +170 -0
  218. package/node_modules/three/examples/jsm/inspector/ui/List.js +75 -0
  219. package/node_modules/three/examples/jsm/inspector/ui/Profiler.js +170 -0
  220. package/node_modules/three/examples/jsm/inspector/ui/Style.js +654 -0
  221. package/node_modules/three/examples/jsm/inspector/ui/Tab.js +46 -0
  222. package/node_modules/three/examples/jsm/inspector/ui/Values.js +423 -0
  223. package/node_modules/three/examples/jsm/inspector/ui/utils.js +56 -0
  224. package/node_modules/three/examples/jsm/interactive/HTMLMesh.js +50 -21
  225. package/node_modules/three/examples/jsm/interactive/InteractiveGroup.js +170 -62
  226. package/node_modules/three/examples/jsm/interactive/SelectionBox.js +106 -9
  227. package/node_modules/three/examples/jsm/interactive/SelectionHelper.js +76 -30
  228. package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.js +8 -10
  229. package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
  230. package/node_modules/three/examples/jsm/libs/demuxer_mp4.js +109 -0
  231. package/node_modules/three/examples/jsm/libs/draco/README.md +2 -2
  232. package/node_modules/three/examples/jsm/libs/fflate.module.js +694 -496
  233. package/node_modules/three/examples/jsm/libs/ktx-parse.module.js +1 -1
  234. package/node_modules/three/examples/jsm/libs/meshopt_decoder.module.js +75 -58
  235. package/node_modules/three/examples/jsm/libs/motion-controllers.module.js +1 -1
  236. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.js +1 -8723
  237. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.module.js +1 -8734
  238. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
  239. package/node_modules/three/examples/jsm/libs/tween.module.js +32 -14
  240. package/node_modules/three/examples/jsm/lighting/TiledLighting.js +42 -0
  241. package/node_modules/three/examples/jsm/lights/LightProbeGenerator.js +65 -14
  242. package/node_modules/three/examples/jsm/lights/RectAreaLightTexturesLib.js +127 -0
  243. package/node_modules/three/examples/jsm/lights/RectAreaLightUniformsLib.js +20 -59
  244. package/node_modules/three/examples/jsm/lines/Line2.js +41 -4
  245. package/node_modules/three/examples/jsm/lines/LineGeometry.js +80 -2
  246. package/node_modules/three/examples/jsm/lines/LineMaterial.js +100 -22
  247. package/node_modules/three/examples/jsm/lines/LineSegments2.js +69 -4
  248. package/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js +65 -8
  249. package/node_modules/three/examples/jsm/lines/Wireframe.js +58 -6
  250. package/node_modules/three/examples/jsm/lines/WireframeGeometry2.js +27 -2
  251. package/node_modules/three/examples/jsm/lines/webgpu/Line2.js +46 -0
  252. package/node_modules/three/examples/jsm/lines/webgpu/LineSegments2.js +411 -0
  253. package/node_modules/three/examples/jsm/lines/webgpu/Wireframe.js +86 -0
  254. package/node_modules/three/examples/jsm/loaders/3DMLoader.js +86 -23
  255. package/node_modules/three/examples/jsm/loaders/3MFLoader.js +148 -5
  256. package/node_modules/three/examples/jsm/loaders/AMFLoader.js +32 -12
  257. package/node_modules/three/examples/jsm/loaders/BVHLoader.js +59 -12
  258. package/node_modules/three/examples/jsm/loaders/ColladaLoader.js +51 -12
  259. package/node_modules/three/examples/jsm/loaders/DDSLoader.js +68 -1
  260. package/node_modules/three/examples/jsm/loaders/DRACOLoader.js +149 -23
  261. package/node_modules/three/examples/jsm/loaders/EXRLoader.js +584 -109
  262. package/node_modules/three/examples/jsm/loaders/FBXLoader.js +165 -97
  263. package/node_modules/three/examples/jsm/loaders/FontLoader.js +83 -6
  264. package/node_modules/three/examples/jsm/loaders/GCodeLoader.js +37 -6
  265. package/node_modules/three/examples/jsm/loaders/GLTFLoader.js +337 -108
  266. package/node_modules/three/examples/jsm/loaders/HDRCubeTextureLoader.js +52 -3
  267. package/node_modules/three/examples/jsm/loaders/HDRLoader.js +486 -0
  268. package/node_modules/three/examples/jsm/loaders/IESLoader.js +42 -0
  269. package/node_modules/three/examples/jsm/loaders/KMZLoader.js +33 -0
  270. package/node_modules/three/examples/jsm/loaders/KTX2Loader.js +441 -138
  271. package/node_modules/three/examples/jsm/loaders/KTXLoader.js +31 -10
  272. package/node_modules/three/examples/jsm/loaders/LDrawLoader.js +194 -145
  273. package/node_modules/three/examples/jsm/loaders/LUT3dlLoader.js +47 -25
  274. package/node_modules/three/examples/jsm/loaders/LUTCubeLoader.js +46 -23
  275. package/node_modules/three/examples/jsm/loaders/LUTImageLoader.js +79 -52
  276. package/node_modules/three/examples/jsm/loaders/LWOLoader.js +47 -20
  277. package/node_modules/three/examples/jsm/loaders/LottieLoader.js +54 -1
  278. package/node_modules/three/examples/jsm/loaders/MD2Loader.js +37 -1
  279. package/node_modules/three/examples/jsm/loaders/MDDLoader.js +57 -12
  280. package/node_modules/three/examples/jsm/loaders/MTLLoader.js +61 -35
  281. package/node_modules/three/examples/jsm/loaders/MaterialXLoader.js +291 -39
  282. package/node_modules/three/examples/jsm/loaders/NRRDLoader.js +38 -6
  283. package/node_modules/three/examples/jsm/loaders/OBJLoader.js +54 -4
  284. package/node_modules/three/examples/jsm/loaders/PCDLoader.js +183 -32
  285. package/node_modules/three/examples/jsm/loaders/PDBLoader.js +44 -4
  286. package/node_modules/three/examples/jsm/loaders/PLYLoader.js +78 -44
  287. package/node_modules/three/examples/jsm/loaders/PVRLoader.js +25 -6
  288. package/node_modules/three/examples/jsm/loaders/RGBELoader.js +6 -438
  289. package/node_modules/three/examples/jsm/loaders/STLLoader.js +51 -40
  290. package/node_modules/three/examples/jsm/loaders/SVGLoader.js +118 -24
  291. package/node_modules/three/examples/jsm/loaders/TDSLoader.js +92 -72
  292. package/node_modules/three/examples/jsm/loaders/TGALoader.js +23 -0
  293. package/node_modules/three/examples/jsm/loaders/TIFFLoader.js +23 -0
  294. package/node_modules/three/examples/jsm/loaders/TTFLoader.js +50 -3
  295. package/node_modules/three/examples/jsm/loaders/USDLoader.js +219 -0
  296. package/node_modules/three/examples/jsm/loaders/USDZLoader.js +4 -810
  297. package/node_modules/three/examples/jsm/loaders/UltraHDRLoader.js +630 -0
  298. package/node_modules/three/examples/jsm/loaders/VOXLoader.js +67 -2
  299. package/node_modules/three/examples/jsm/loaders/VRMLLoader.js +57 -21
  300. package/node_modules/three/examples/jsm/loaders/VTKLoader.js +119 -6
  301. package/node_modules/three/examples/jsm/loaders/XYZLoader.js +39 -2
  302. package/node_modules/three/examples/jsm/loaders/lwo/IFFParser.js +81 -78
  303. package/node_modules/three/examples/jsm/loaders/usd/USDAParser.js +741 -0
  304. package/node_modules/three/examples/jsm/loaders/usd/USDCParser.js +17 -0
  305. package/node_modules/three/examples/jsm/materials/LDrawConditionalLineMaterial.js +183 -0
  306. package/node_modules/three/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +154 -0
  307. package/node_modules/three/examples/jsm/materials/MeshGouraudMaterial.js +9 -1
  308. package/node_modules/three/examples/jsm/materials/MeshPostProcessingMaterial.js +25 -2
  309. package/node_modules/three/examples/jsm/materials/WoodNodeMaterial.js +533 -0
  310. package/node_modules/three/examples/jsm/math/Capsule.js +91 -14
  311. package/node_modules/three/examples/jsm/math/ColorConverter.js +22 -0
  312. package/node_modules/three/examples/jsm/math/ColorSpaces.js +147 -0
  313. package/node_modules/three/examples/jsm/math/ConvexHull.js +517 -93
  314. package/node_modules/three/examples/jsm/math/ImprovedNoise.js +32 -15
  315. package/node_modules/three/examples/jsm/math/Lut.js +113 -0
  316. package/node_modules/three/examples/jsm/math/MeshSurfaceSampler.js +78 -13
  317. package/node_modules/three/examples/jsm/math/OBB.js +141 -29
  318. package/node_modules/three/examples/jsm/math/Octree.js +177 -25
  319. package/node_modules/three/examples/jsm/math/SimplexNoise.js +68 -42
  320. package/node_modules/three/examples/jsm/misc/ConvexObjectBreaker.js +45 -25
  321. package/node_modules/three/examples/jsm/misc/GPUComputationRenderer.js +105 -45
  322. package/node_modules/three/examples/jsm/misc/Gyroscope.js +12 -0
  323. package/node_modules/three/examples/jsm/misc/MD2Character.js +117 -2
  324. package/node_modules/three/examples/jsm/misc/MD2CharacterComplex.js +175 -11
  325. package/node_modules/three/examples/jsm/misc/MorphAnimMesh.js +44 -0
  326. package/node_modules/three/examples/jsm/misc/MorphBlendMesh.js +103 -0
  327. package/node_modules/three/examples/jsm/misc/ProgressiveLightMap.js +101 -54
  328. package/node_modules/three/examples/jsm/misc/ProgressiveLightMapGPU.js +322 -0
  329. package/node_modules/three/examples/jsm/misc/RollerCoaster.js +57 -0
  330. package/node_modules/three/examples/jsm/misc/TubePainter.js +437 -40
  331. package/node_modules/three/examples/jsm/misc/Volume.js +123 -75
  332. package/node_modules/three/examples/jsm/misc/VolumeSlice.js +95 -48
  333. package/node_modules/three/examples/jsm/modifiers/CurveModifier.js +77 -47
  334. package/node_modules/three/examples/jsm/modifiers/CurveModifierGPU.js +256 -0
  335. package/node_modules/three/examples/jsm/modifiers/EdgeSplitModifier.js +20 -0
  336. package/node_modules/three/examples/jsm/modifiers/SimplifyModifier.js +26 -11
  337. package/node_modules/three/examples/jsm/modifiers/TessellateModifier.js +35 -2
  338. package/node_modules/three/examples/jsm/objects/GroundedSkybox.js +25 -6
  339. package/node_modules/three/examples/jsm/objects/Lensflare.js +96 -4
  340. package/node_modules/three/examples/jsm/objects/LensflareMesh.js +376 -0
  341. package/node_modules/three/examples/jsm/objects/MarchingCubes.js +90 -5
  342. package/node_modules/three/examples/jsm/objects/Reflector.js +76 -2
  343. package/node_modules/three/examples/jsm/objects/ReflectorForSSRPass.js +41 -0
  344. package/node_modules/three/examples/jsm/objects/Refractor.js +62 -0
  345. package/node_modules/three/examples/jsm/objects/ShadowMesh.js +54 -4
  346. package/node_modules/three/examples/jsm/objects/Sky.js +30 -12
  347. package/node_modules/three/examples/jsm/objects/SkyMesh.js +243 -0
  348. package/node_modules/three/examples/jsm/objects/Water.js +45 -5
  349. package/node_modules/three/examples/jsm/objects/Water2.js +44 -4
  350. package/node_modules/three/examples/jsm/objects/Water2Mesh.js +199 -0
  351. package/node_modules/three/examples/jsm/objects/WaterMesh.js +196 -0
  352. package/node_modules/three/examples/jsm/physics/AmmoPhysics.js +48 -0
  353. package/node_modules/three/examples/jsm/physics/JoltPhysics.js +330 -0
  354. package/node_modules/three/examples/jsm/physics/RapierPhysics.js +231 -19
  355. package/node_modules/three/examples/jsm/postprocessing/AfterimagePass.js +110 -29
  356. package/node_modules/three/examples/jsm/postprocessing/BloomPass.js +128 -26
  357. package/node_modules/three/examples/jsm/postprocessing/BokehPass.js +99 -22
  358. package/node_modules/three/examples/jsm/postprocessing/ClearPass.js +54 -3
  359. package/node_modules/three/examples/jsm/postprocessing/CubeTexturePass.js +82 -21
  360. package/node_modules/three/examples/jsm/postprocessing/DotScreenPass.js +59 -10
  361. package/node_modules/three/examples/jsm/postprocessing/EffectComposer.js +135 -3
  362. package/node_modules/three/examples/jsm/postprocessing/FXAAPass.js +40 -0
  363. package/node_modules/three/examples/jsm/postprocessing/FilmPass.js +54 -5
  364. package/node_modules/three/examples/jsm/postprocessing/GTAOPass.js +202 -57
  365. package/node_modules/three/examples/jsm/postprocessing/GlitchPass.js +86 -37
  366. package/node_modules/three/examples/jsm/postprocessing/HalftonePass.js +65 -10
  367. package/node_modules/three/examples/jsm/postprocessing/LUTPass.js +43 -79
  368. package/node_modules/three/examples/jsm/postprocessing/MaskPass.js +91 -0
  369. package/node_modules/three/examples/jsm/postprocessing/OutlinePass.js +277 -155
  370. package/node_modules/three/examples/jsm/postprocessing/OutputPass.js +58 -14
  371. package/node_modules/three/examples/jsm/postprocessing/Pass.js +100 -4
  372. package/node_modules/three/examples/jsm/postprocessing/RenderPass.js +85 -1
  373. package/node_modules/three/examples/jsm/postprocessing/RenderPixelatedPass.js +124 -45
  374. package/node_modules/three/examples/jsm/postprocessing/RenderTransitionPass.js +267 -0
  375. package/node_modules/three/examples/jsm/postprocessing/SAOPass.js +128 -56
  376. package/node_modules/three/examples/jsm/postprocessing/SMAAPass.js +106 -75
  377. package/node_modules/three/examples/jsm/postprocessing/SSAARenderPass.js +120 -35
  378. package/node_modules/three/examples/jsm/postprocessing/SSAOPass.js +174 -67
  379. package/node_modules/three/examples/jsm/postprocessing/SSRPass.js +268 -53
  380. package/node_modules/three/examples/jsm/postprocessing/SavePass.js +69 -16
  381. package/node_modules/three/examples/jsm/postprocessing/ShaderPass.js +65 -7
  382. package/node_modules/three/examples/jsm/postprocessing/TAARenderPass.js +79 -24
  383. package/node_modules/three/examples/jsm/postprocessing/TexturePass.js +72 -8
  384. package/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.js +125 -46
  385. package/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +122 -9
  386. package/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js +133 -8
  387. package/node_modules/three/examples/jsm/renderers/Projector.js +20 -2
  388. package/node_modules/three/examples/jsm/renderers/SVGRenderer.js +134 -5
  389. package/node_modules/three/examples/jsm/shaders/ACESFilmicToneMappingShader.js +12 -5
  390. package/node_modules/three/examples/jsm/shaders/AfterimageShader.js +8 -3
  391. package/node_modules/three/examples/jsm/shaders/BasicShader.js +8 -1
  392. package/node_modules/three/examples/jsm/shaders/BleachBypassShader.js +11 -5
  393. package/node_modules/three/examples/jsm/shaders/BlendShader.js +8 -1
  394. package/node_modules/three/examples/jsm/shaders/BokehShader.js +9 -3
  395. package/node_modules/three/examples/jsm/shaders/BokehShader2.js +11 -4
  396. package/node_modules/three/examples/jsm/shaders/BrightnessContrastShader.js +10 -4
  397. package/node_modules/three/examples/jsm/shaders/ColorCorrectionShader.js +8 -1
  398. package/node_modules/three/examples/jsm/shaders/ColorifyShader.js +9 -3
  399. package/node_modules/three/examples/jsm/shaders/ConvolutionShader.js +9 -38
  400. package/node_modules/three/examples/jsm/shaders/CopyShader.js +8 -1
  401. package/node_modules/three/examples/jsm/shaders/DOFMipMapShader.js +10 -3
  402. package/node_modules/three/examples/jsm/shaders/DepthLimitedBlurShader.js +10 -1
  403. package/node_modules/three/examples/jsm/shaders/DigitalGlitch.js +10 -7
  404. package/node_modules/three/examples/jsm/shaders/DotScreenShader.js +8 -3
  405. package/node_modules/three/examples/jsm/shaders/ExposureShader.js +8 -1
  406. package/node_modules/three/examples/jsm/shaders/FXAAShader.js +243 -233
  407. package/node_modules/three/examples/jsm/shaders/FilmShader.js +13 -0
  408. package/node_modules/three/examples/jsm/shaders/FocusShader.js +8 -3
  409. package/node_modules/three/examples/jsm/shaders/FreiChenShader.js +10 -3
  410. package/node_modules/three/examples/jsm/shaders/GTAOShader.js +37 -40
  411. package/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.js +11 -2
  412. package/node_modules/three/examples/jsm/shaders/GodRaysShader.js +20 -8
  413. package/node_modules/three/examples/jsm/shaders/HalftoneShader.js +13 -4
  414. package/node_modules/three/examples/jsm/shaders/HorizontalBlurShader.js +12 -3
  415. package/node_modules/three/examples/jsm/shaders/HorizontalTiltShiftShader.js +9 -2
  416. package/node_modules/three/examples/jsm/shaders/HueSaturationShader.js +10 -3
  417. package/node_modules/three/examples/jsm/shaders/KaleidoShader.js +11 -4
  418. package/node_modules/three/examples/jsm/shaders/LuminosityHighPassShader.js +9 -7
  419. package/node_modules/three/examples/jsm/shaders/LuminosityShader.js +8 -2
  420. package/node_modules/three/examples/jsm/shaders/MirrorShader.js +10 -4
  421. package/node_modules/three/examples/jsm/shaders/NormalMapShader.js +7 -2
  422. package/node_modules/three/examples/jsm/shaders/OutputShader.js +24 -2
  423. package/node_modules/three/examples/jsm/shaders/PoissonDenoiseShader.js +24 -15
  424. package/node_modules/three/examples/jsm/shaders/RGBShiftShader.js +8 -1
  425. package/node_modules/three/examples/jsm/shaders/SAOShader.js +10 -1
  426. package/node_modules/three/examples/jsm/shaders/SMAAShader.js +24 -1
  427. package/node_modules/three/examples/jsm/shaders/SSAOShader.js +26 -5
  428. package/node_modules/three/examples/jsm/shaders/SSRShader.js +26 -1
  429. package/node_modules/three/examples/jsm/shaders/SepiaShader.js +8 -3
  430. package/node_modules/three/examples/jsm/shaders/SobelOperatorShader.js +9 -3
  431. package/node_modules/three/examples/jsm/shaders/SubsurfaceScatteringShader.js +13 -8
  432. package/node_modules/three/examples/jsm/shaders/TechnicolorShader.js +10 -4
  433. package/node_modules/three/examples/jsm/shaders/ToonShader.js +29 -6
  434. package/node_modules/three/examples/jsm/shaders/TriangleBlurShader.js +9 -4
  435. package/node_modules/three/examples/jsm/shaders/UnpackDepthRGBAShader.js +19 -4
  436. package/node_modules/three/examples/jsm/shaders/VelocityShader.js +8 -1
  437. package/node_modules/three/examples/jsm/shaders/VerticalBlurShader.js +9 -2
  438. package/node_modules/three/examples/jsm/shaders/VerticalTiltShiftShader.js +8 -1
  439. package/node_modules/three/examples/jsm/shaders/VignetteShader.js +8 -3
  440. package/node_modules/three/examples/jsm/shaders/VolumeShader.js +11 -2
  441. package/node_modules/three/examples/jsm/shaders/WaterRefractionShader.js +11 -0
  442. package/node_modules/three/examples/jsm/textures/FlakesTexture.js +14 -0
  443. package/node_modules/three/examples/jsm/transpiler/AST.js +392 -31
  444. package/node_modules/three/examples/jsm/transpiler/GLSLDecoder.js +366 -136
  445. package/node_modules/three/examples/jsm/transpiler/Linker.js +327 -0
  446. package/node_modules/three/examples/jsm/transpiler/ShaderToyDecoder.js +3 -3
  447. package/node_modules/three/examples/jsm/transpiler/TSLEncoder.js +336 -111
  448. package/node_modules/three/examples/jsm/transpiler/Transpiler.js +50 -1
  449. package/node_modules/three/examples/jsm/transpiler/TranspilerUtils.js +29 -0
  450. package/node_modules/three/examples/jsm/transpiler/WGSLEncoder.js +812 -0
  451. package/node_modules/three/examples/jsm/tsl/display/AfterImageNode.js +244 -0
  452. package/node_modules/three/examples/jsm/tsl/display/AnaglyphPassNode.js +107 -0
  453. package/node_modules/three/examples/jsm/tsl/display/AnamorphicNode.js +282 -0
  454. package/node_modules/three/examples/jsm/tsl/display/BleachBypass.js +33 -0
  455. package/node_modules/three/examples/jsm/tsl/display/BloomNode.js +524 -0
  456. package/node_modules/three/examples/jsm/tsl/display/ChromaticAberrationNode.js +207 -0
  457. package/node_modules/three/examples/jsm/tsl/display/DenoiseNode.js +334 -0
  458. package/node_modules/three/examples/jsm/tsl/display/DepthOfFieldNode.js +554 -0
  459. package/node_modules/three/examples/jsm/tsl/display/DotScreenNode.js +104 -0
  460. package/node_modules/three/examples/jsm/tsl/display/FXAANode.js +365 -0
  461. package/node_modules/three/examples/jsm/tsl/display/FilmNode.js +101 -0
  462. package/node_modules/three/examples/jsm/tsl/display/GTAONode.js +570 -0
  463. package/node_modules/three/examples/jsm/tsl/display/GaussianBlurNode.js +380 -0
  464. package/node_modules/three/examples/jsm/tsl/display/LensflareNode.js +279 -0
  465. package/node_modules/three/examples/jsm/tsl/display/Lut3DNode.js +109 -0
  466. package/node_modules/three/examples/jsm/tsl/display/MotionBlur.js +33 -0
  467. package/node_modules/three/examples/jsm/tsl/display/OutlineNode.js +762 -0
  468. package/node_modules/three/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +89 -0
  469. package/node_modules/three/examples/jsm/tsl/display/PixelationPassNode.js +334 -0
  470. package/node_modules/three/examples/jsm/tsl/display/RGBShiftNode.js +96 -0
  471. package/node_modules/three/examples/jsm/tsl/display/SMAANode.js +768 -0
  472. package/node_modules/three/examples/jsm/tsl/display/SSAAPassNode.js +358 -0
  473. package/node_modules/three/examples/jsm/tsl/display/SSGINode.js +654 -0
  474. package/node_modules/three/examples/jsm/tsl/display/SSRNode.js +656 -0
  475. package/node_modules/three/examples/jsm/tsl/display/SSSNode.js +488 -0
  476. package/node_modules/three/examples/jsm/tsl/display/Sepia.js +24 -0
  477. package/node_modules/three/examples/jsm/tsl/display/SobelOperatorNode.js +168 -0
  478. package/node_modules/three/examples/jsm/tsl/display/StereoCompositePassNode.js +185 -0
  479. package/node_modules/three/examples/jsm/tsl/display/StereoPassNode.js +120 -0
  480. package/node_modules/three/examples/jsm/tsl/display/TRAANode.js +578 -0
  481. package/node_modules/three/examples/jsm/tsl/display/TransitionNode.js +141 -0
  482. package/node_modules/three/examples/jsm/tsl/display/boxBlur.js +65 -0
  483. package/node_modules/three/examples/jsm/tsl/display/hashBlur.js +54 -0
  484. package/node_modules/three/examples/jsm/tsl/lighting/TiledLightsNode.js +442 -0
  485. package/node_modules/three/examples/jsm/tsl/math/Bayer.js +34 -0
  486. package/node_modules/three/examples/jsm/tsl/shadows/TileShadowNode.js +456 -0
  487. package/node_modules/three/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +212 -0
  488. package/node_modules/three/examples/jsm/tsl/utils/Raymarching.js +70 -0
  489. package/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +109 -45
  490. package/node_modules/three/examples/jsm/utils/CameraUtils.js +15 -6
  491. package/node_modules/three/examples/jsm/utils/GeometryCompressionUtils.js +54 -146
  492. package/node_modules/three/examples/jsm/utils/GeometryUtils.js +32 -27
  493. package/node_modules/three/examples/jsm/utils/LDrawUtils.js +13 -4
  494. package/node_modules/three/examples/jsm/utils/SceneOptimizer.js +458 -0
  495. package/node_modules/three/examples/jsm/utils/SceneUtils.js +112 -3
  496. package/node_modules/three/examples/jsm/utils/ShadowMapViewer.js +51 -31
  497. package/node_modules/three/examples/jsm/utils/ShadowMapViewerGPU.js +233 -0
  498. package/node_modules/three/examples/jsm/utils/SkeletonUtils.js +145 -68
  499. package/node_modules/three/examples/jsm/utils/SortUtils.js +23 -8
  500. package/node_modules/three/examples/jsm/utils/UVsDebug.js +12 -4
  501. package/node_modules/three/examples/jsm/utils/{TextureUtils.js → WebGLTextureUtils.js} +19 -2
  502. package/node_modules/three/examples/jsm/utils/WebGPUTextureUtils.js +81 -0
  503. package/node_modules/three/examples/jsm/utils/WorkerPool.js +67 -2
  504. package/node_modules/three/examples/jsm/webxr/ARButton.js +19 -0
  505. package/node_modules/three/examples/jsm/webxr/OculusHandModel.js +87 -2
  506. package/node_modules/three/examples/jsm/webxr/OculusHandPointerModel.js +148 -22
  507. package/node_modules/three/examples/jsm/webxr/Text2D.js +20 -6
  508. package/node_modules/three/examples/jsm/webxr/VRButton.js +44 -5
  509. package/node_modules/three/examples/jsm/webxr/XRButton.js +23 -1
  510. package/node_modules/three/examples/jsm/webxr/XRControllerModelFactory.js +103 -4
  511. package/node_modules/three/examples/jsm/webxr/XREstimatedLight.js +35 -4
  512. package/node_modules/three/examples/jsm/webxr/XRHandMeshModel.js +37 -0
  513. package/node_modules/three/examples/jsm/webxr/XRHandModelFactory.js +101 -9
  514. package/node_modules/three/examples/jsm/webxr/XRHandPrimitiveModel.js +44 -0
  515. package/node_modules/three/examples/jsm/webxr/XRPlanes.js +18 -0
  516. package/node_modules/three/package.json +25 -20
  517. package/node_modules/three/src/Three.Core.js +185 -0
  518. package/node_modules/three/src/Three.Legacy.js +0 -1
  519. package/node_modules/three/src/Three.TSL.js +633 -0
  520. package/node_modules/three/src/Three.WebGPU.Nodes.js +26 -0
  521. package/node_modules/three/src/Three.WebGPU.js +28 -0
  522. package/node_modules/three/src/Three.js +1 -176
  523. package/node_modules/three/src/animation/AnimationAction.js +262 -30
  524. package/node_modules/three/src/animation/AnimationClip.js +164 -9
  525. package/node_modules/three/src/animation/AnimationMixer.js +99 -15
  526. package/node_modules/three/src/animation/AnimationObjectGroup.js +45 -21
  527. package/node_modules/three/src/animation/AnimationUtils.js +169 -19
  528. package/node_modules/three/src/animation/KeyframeTrack.js +151 -16
  529. package/node_modules/three/src/animation/PropertyBinding.js +91 -16
  530. package/node_modules/three/src/animation/PropertyMixer.js +72 -5
  531. package/node_modules/three/src/animation/tracks/BooleanKeyframeTrack.js +42 -6
  532. package/node_modules/three/src/animation/tracks/ColorKeyframeTrack.js +26 -5
  533. package/node_modules/three/src/animation/tracks/NumberKeyframeTrack.js +26 -2
  534. package/node_modules/three/src/animation/tracks/QuaternionKeyframeTrack.js +31 -3
  535. package/node_modules/three/src/animation/tracks/StringKeyframeTrack.js +42 -2
  536. package/node_modules/three/src/animation/tracks/VectorKeyframeTrack.js +26 -2
  537. package/node_modules/three/src/audio/Audio.js +388 -10
  538. package/node_modules/three/src/audio/AudioAnalyser.js +58 -1
  539. package/node_modules/three/src/audio/AudioContext.js +15 -0
  540. package/node_modules/three/src/audio/AudioListener.js +89 -10
  541. package/node_modules/three/src/audio/PositionalAudio.js +107 -0
  542. package/node_modules/three/src/cameras/ArrayCamera.js +37 -0
  543. package/node_modules/three/src/cameras/Camera.js +61 -0
  544. package/node_modules/three/src/cameras/CubeCamera.js +66 -0
  545. package/node_modules/three/src/cameras/OrthographicCamera.js +110 -1
  546. package/node_modules/three/src/cameras/PerspectiveCamera.js +174 -35
  547. package/node_modules/three/src/cameras/StereoCamera.js +48 -2
  548. package/node_modules/three/src/constants.js +1477 -18
  549. package/node_modules/three/src/core/BufferAttribute.js +417 -23
  550. package/node_modules/three/src/core/BufferGeometry.js +416 -49
  551. package/node_modules/three/src/core/Clock.js +62 -8
  552. package/node_modules/three/src/core/EventDispatcher.js +52 -8
  553. package/node_modules/three/src/core/GLBufferAttribute.js +113 -2
  554. package/node_modules/three/src/core/InstancedBufferAttribute.js +29 -0
  555. package/node_modules/three/src/core/InstancedBufferGeometry.js +20 -0
  556. package/node_modules/three/src/core/InstancedInterleavedBuffer.js +26 -0
  557. package/node_modules/three/src/core/InterleavedBuffer.js +141 -16
  558. package/node_modules/three/src/core/InterleavedBufferAttribute.js +200 -2
  559. package/node_modules/three/src/core/Layers.js +71 -10
  560. package/node_modules/three/src/core/Object3D.js +665 -54
  561. package/node_modules/three/src/core/Raycaster.js +160 -8
  562. package/node_modules/three/src/core/RenderTarget.js +297 -36
  563. package/node_modules/three/src/core/RenderTarget3D.js +48 -0
  564. package/node_modules/three/src/core/Timer.js +184 -0
  565. package/node_modules/three/src/core/Uniform.js +29 -0
  566. package/node_modules/three/src/core/UniformsGroup.js +84 -2
  567. package/node_modules/three/src/extras/Controls.js +120 -0
  568. package/node_modules/three/src/extras/DataUtils.js +50 -9
  569. package/node_modules/three/src/extras/Earcut.js +18 -779
  570. package/node_modules/three/src/extras/ImageUtils.js +22 -14
  571. package/node_modules/three/src/extras/PMREMGenerator.js +329 -64
  572. package/node_modules/three/src/extras/ShapeUtils.js +24 -2
  573. package/node_modules/three/src/extras/TextureUtils.js +293 -0
  574. package/node_modules/three/src/extras/core/Curve.js +156 -55
  575. package/node_modules/three/src/extras/core/CurvePath.js +63 -22
  576. package/node_modules/three/src/extras/core/Interpolations.js +34 -2
  577. package/node_modules/three/src/extras/core/Path.js +134 -1
  578. package/node_modules/three/src/extras/core/Shape.js +66 -3
  579. package/node_modules/three/src/extras/core/ShapePath.js +80 -4
  580. package/node_modules/three/src/extras/curves/ArcCurve.js +22 -0
  581. package/node_modules/three/src/extras/curves/CatmullRomCurve3.js +89 -18
  582. package/node_modules/three/src/extras/curves/CubicBezierCurve.js +67 -0
  583. package/node_modules/three/src/extras/curves/CubicBezierCurve3.js +50 -0
  584. package/node_modules/three/src/extras/curves/EllipseCurve.js +104 -2
  585. package/node_modules/three/src/extras/curves/LineCurve.js +36 -0
  586. package/node_modules/three/src/extras/curves/LineCurve3.js +36 -0
  587. package/node_modules/three/src/extras/curves/QuadraticBezierCurve.js +59 -0
  588. package/node_modules/three/src/extras/curves/QuadraticBezierCurve3.js +43 -0
  589. package/node_modules/three/src/extras/curves/SplineCurve.js +48 -0
  590. package/node_modules/three/src/extras/lib/earcut.js +685 -0
  591. package/node_modules/three/src/geometries/BoxGeometry.js +39 -0
  592. package/node_modules/three/src/geometries/CapsuleGeometry.js +196 -11
  593. package/node_modules/three/src/geometries/CircleGeometry.js +41 -0
  594. package/node_modules/three/src/geometries/ConeGeometry.js +39 -0
  595. package/node_modules/three/src/geometries/CylinderGeometry.js +51 -4
  596. package/node_modules/three/src/geometries/DodecahedronGeometry.js +33 -0
  597. package/node_modules/three/src/geometries/EdgesGeometry.js +30 -2
  598. package/node_modules/three/src/geometries/ExtrudeGeometry.js +146 -50
  599. package/node_modules/three/src/geometries/IcosahedronGeometry.js +33 -0
  600. package/node_modules/three/src/geometries/LatheGeometry.js +44 -3
  601. package/node_modules/three/src/geometries/OctahedronGeometry.js +33 -0
  602. package/node_modules/three/src/geometries/PlaneGeometry.js +35 -0
  603. package/node_modules/three/src/geometries/PolyhedronGeometry.js +29 -0
  604. package/node_modules/three/src/geometries/RingGeometry.js +37 -0
  605. package/node_modules/three/src/geometries/ShapeGeometry.js +38 -0
  606. package/node_modules/three/src/geometries/SphereGeometry.js +38 -0
  607. package/node_modules/three/src/geometries/TetrahedronGeometry.js +33 -0
  608. package/node_modules/three/src/geometries/TorusGeometry.js +36 -0
  609. package/node_modules/three/src/geometries/TorusKnotGeometry.js +39 -0
  610. package/node_modules/three/src/geometries/TubeGeometry.js +50 -0
  611. package/node_modules/three/src/geometries/WireframeGeometry.js +32 -0
  612. package/node_modules/three/src/helpers/ArrowHelper.js +62 -5
  613. package/node_modules/three/src/helpers/AxesHelper.js +28 -0
  614. package/node_modules/three/src/helpers/Box3Helper.js +28 -0
  615. package/node_modules/three/src/helpers/BoxHelper.js +43 -7
  616. package/node_modules/three/src/helpers/CameraHelper.js +100 -27
  617. package/node_modules/three/src/helpers/DirectionalLightHelper.js +52 -0
  618. package/node_modules/three/src/helpers/GridHelper.js +26 -0
  619. package/node_modules/three/src/helpers/HemisphereLightHelper.js +39 -0
  620. package/node_modules/three/src/helpers/PlaneHelper.js +33 -0
  621. package/node_modules/three/src/helpers/PointLightHelper.js +43 -0
  622. package/node_modules/three/src/helpers/PolarGridHelper.js +30 -0
  623. package/node_modules/three/src/helpers/SkeletonHelper.js +73 -7
  624. package/node_modules/three/src/helpers/SpotLightHelper.js +58 -1
  625. package/node_modules/three/src/lights/AmbientLight.js +25 -0
  626. package/node_modules/three/src/lights/DirectionalLight.js +57 -0
  627. package/node_modules/three/src/lights/DirectionalLightShadow.js +15 -0
  628. package/node_modules/three/src/lights/HemisphereLight.js +32 -0
  629. package/node_modules/three/src/lights/Light.js +37 -0
  630. package/node_modules/three/src/lights/LightProbe.js +43 -0
  631. package/node_modules/three/src/lights/LightShadow.js +198 -7
  632. package/node_modules/three/src/lights/PointLight.js +59 -0
  633. package/node_modules/three/src/lights/PointLightShadow.js +22 -1
  634. package/node_modules/three/src/lights/RectAreaLight.js +59 -0
  635. package/node_modules/three/src/lights/SpotLight.js +102 -0
  636. package/node_modules/three/src/lights/SpotLightShadow.js +33 -3
  637. package/node_modules/three/src/lights/webgpu/IESSpotLight.js +46 -0
  638. package/node_modules/three/src/lights/webgpu/ProjectorLight.js +46 -0
  639. package/node_modules/three/src/loaders/AnimationLoader.js +34 -2
  640. package/node_modules/three/src/loaders/AudioLoader.js +34 -2
  641. package/node_modules/three/src/loaders/BufferGeometryLoader.js +38 -13
  642. package/node_modules/three/src/loaders/Cache.js +47 -2
  643. package/node_modules/three/src/loaders/CompressedTextureLoader.js +36 -3
  644. package/node_modules/three/src/loaders/CubeTextureLoader.js +45 -0
  645. package/node_modules/three/src/loaders/DataTextureLoader.js +45 -8
  646. package/node_modules/three/src/loaders/FileLoader.js +90 -6
  647. package/node_modules/three/src/loaders/ImageBitmapLoader.js +108 -11
  648. package/node_modules/three/src/loaders/ImageLoader.js +85 -8
  649. package/node_modules/three/src/loaders/Loader.js +144 -0
  650. package/node_modules/three/src/loaders/LoaderUtils.js +18 -34
  651. package/node_modules/three/src/loaders/LoadingManager.js +187 -0
  652. package/node_modules/three/src/loaders/MaterialLoader.js +70 -4
  653. package/node_modules/three/src/loaders/ObjectLoader.js +146 -30
  654. package/node_modules/three/src/loaders/TextureLoader.js +33 -0
  655. package/node_modules/three/src/loaders/nodes/NodeLoader.js +194 -0
  656. package/node_modules/three/src/loaders/nodes/NodeMaterialLoader.js +108 -0
  657. package/node_modules/three/src/loaders/nodes/NodeObjectLoader.js +151 -0
  658. package/node_modules/three/src/materials/LineBasicMaterial.js +74 -1
  659. package/node_modules/three/src/materials/LineDashedMaterial.js +52 -1
  660. package/node_modules/three/src/materials/Material.js +504 -11
  661. package/node_modules/three/src/materials/MeshBasicMaterial.js +172 -3
  662. package/node_modules/three/src/materials/MeshDepthMaterial.js +94 -0
  663. package/node_modules/three/src/materials/MeshDistanceMaterial.js +76 -0
  664. package/node_modules/three/src/materials/MeshLambertMaterial.js +278 -1
  665. package/node_modules/three/src/materials/MeshMatcapMaterial.js +164 -0
  666. package/node_modules/three/src/materials/MeshNormalMaterial.js +114 -0
  667. package/node_modules/three/src/materials/MeshPhongMaterial.js +293 -1
  668. package/node_modules/three/src/materials/MeshPhysicalMaterial.js +316 -4
  669. package/node_modules/three/src/materials/MeshStandardMaterial.js +304 -3
  670. package/node_modules/three/src/materials/MeshToonMaterial.js +219 -0
  671. package/node_modules/three/src/materials/PointsMaterial.js +89 -0
  672. package/node_modules/three/src/materials/RawShaderMaterial.js +25 -0
  673. package/node_modules/three/src/materials/ShaderMaterial.js +215 -10
  674. package/node_modules/three/src/materials/ShadowMaterial.js +54 -0
  675. package/node_modules/three/src/materials/SpriteMaterial.js +82 -0
  676. package/node_modules/three/{examples/jsm/nodes/materials → src/materials/nodes}/Line2NodeMaterial.js +206 -100
  677. package/node_modules/three/src/materials/nodes/LineBasicNodeMaterial.js +46 -0
  678. package/node_modules/three/src/materials/nodes/LineDashedNodeMaterial.js +132 -0
  679. package/node_modules/three/src/materials/nodes/MeshBasicNodeMaterial.js +134 -0
  680. package/node_modules/three/src/materials/nodes/MeshLambertNodeMaterial.js +82 -0
  681. package/node_modules/three/src/materials/nodes/MeshMatcapNodeMaterial.js +77 -0
  682. package/node_modules/three/src/materials/nodes/MeshNormalNodeMaterial.js +67 -0
  683. package/node_modules/three/src/materials/nodes/MeshPhongNodeMaterial.js +141 -0
  684. package/node_modules/three/src/materials/nodes/MeshPhysicalNodeMaterial.js +518 -0
  685. package/node_modules/three/src/materials/nodes/MeshSSSNodeMaterial.js +175 -0
  686. package/node_modules/three/src/materials/nodes/MeshStandardNodeMaterial.js +186 -0
  687. package/node_modules/three/src/materials/nodes/MeshToonNodeMaterial.js +66 -0
  688. package/node_modules/three/src/materials/nodes/NodeMaterial.js +1310 -0
  689. package/node_modules/three/{examples/jsm/nodes/materials/Materials.js → src/materials/nodes/NodeMaterials.js} +7 -2
  690. package/node_modules/three/src/materials/nodes/PointsNodeMaterial.js +211 -0
  691. package/node_modules/three/src/materials/nodes/ShadowNodeMaterial.js +76 -0
  692. package/node_modules/three/src/materials/nodes/SpriteNodeMaterial.js +186 -0
  693. package/node_modules/three/src/materials/nodes/VolumeNodeMaterial.js +81 -0
  694. package/node_modules/three/src/materials/nodes/manager/NodeMaterialObserver.js +613 -0
  695. package/node_modules/three/src/math/Box2.js +181 -4
  696. package/node_modules/three/src/math/Box3.js +277 -6
  697. package/node_modules/three/src/math/Color.js +355 -11
  698. package/node_modules/three/src/math/ColorManagement.js +161 -85
  699. package/node_modules/three/src/math/Cylindrical.js +65 -6
  700. package/node_modules/three/src/math/Euler.js +139 -5
  701. package/node_modules/three/src/math/Frustum.js +108 -9
  702. package/node_modules/three/src/math/FrustumArray.js +258 -0
  703. package/node_modules/three/src/math/Interpolant.js +87 -8
  704. package/node_modules/three/src/math/Line3.js +223 -2
  705. package/node_modules/three/src/math/MathUtils.js +408 -20
  706. package/node_modules/three/src/math/Matrix2.js +124 -0
  707. package/node_modules/three/src/math/Matrix3.js +229 -4
  708. package/node_modules/three/src/math/Matrix4.js +416 -30
  709. package/node_modules/three/src/math/Plane.js +164 -2
  710. package/node_modules/three/src/math/Quaternion.js +345 -86
  711. package/node_modules/three/src/math/Ray.js +162 -0
  712. package/node_modules/three/src/math/Sphere.js +175 -0
  713. package/node_modules/three/src/math/Spherical.js +74 -13
  714. package/node_modules/three/src/math/SphericalHarmonics3.js +112 -14
  715. package/node_modules/three/src/math/Triangle.js +230 -2
  716. package/node_modules/three/src/math/Vector2.js +396 -10
  717. package/node_modules/three/src/math/Vector3.js +557 -20
  718. package/node_modules/three/src/math/Vector4.js +428 -9
  719. package/node_modules/three/src/math/interpolants/CubicInterpolant.js +10 -1
  720. package/node_modules/three/src/math/interpolants/DiscreteInterpolant.js +10 -2
  721. package/node_modules/three/src/math/interpolants/LinearInterpolant.js +13 -0
  722. package/node_modules/three/src/math/interpolants/QuaternionLinearInterpolant.js +10 -1
  723. package/node_modules/three/src/nodes/Nodes.js +148 -0
  724. package/node_modules/three/src/nodes/TSL.js +173 -0
  725. package/node_modules/three/src/nodes/accessors/AccessorsUtils.js +53 -0
  726. package/node_modules/three/src/nodes/accessors/Arrays.js +68 -0
  727. package/node_modules/three/src/nodes/accessors/BatchNode.js +163 -0
  728. package/node_modules/three/src/nodes/accessors/Bitangent.js +82 -0
  729. package/node_modules/three/src/nodes/accessors/BufferAttributeNode.js +340 -0
  730. package/node_modules/three/src/nodes/accessors/BufferNode.js +101 -0
  731. package/node_modules/three/src/nodes/accessors/BuiltinNode.js +63 -0
  732. package/node_modules/three/src/nodes/accessors/Camera.js +282 -0
  733. package/node_modules/three/src/nodes/accessors/ClippingNode.js +255 -0
  734. package/node_modules/three/src/nodes/accessors/CubeTextureNode.js +190 -0
  735. package/node_modules/three/src/nodes/accessors/InstanceNode.js +244 -0
  736. package/node_modules/three/src/nodes/accessors/InstancedMeshNode.js +50 -0
  737. package/node_modules/three/src/nodes/accessors/Lights.js +139 -0
  738. package/node_modules/three/src/nodes/accessors/MaterialNode.js +775 -0
  739. package/node_modules/three/src/nodes/accessors/MaterialProperties.js +59 -0
  740. package/node_modules/three/src/nodes/accessors/MaterialReferenceNode.js +85 -0
  741. package/node_modules/three/src/nodes/accessors/ModelNode.js +184 -0
  742. package/node_modules/three/src/nodes/accessors/ModelViewProjectionNode.js +13 -0
  743. package/node_modules/three/{examples/jsm → src}/nodes/accessors/MorphNode.js +122 -57
  744. package/node_modules/three/src/nodes/accessors/Normal.js +243 -0
  745. package/node_modules/three/src/nodes/accessors/Object3DNode.js +268 -0
  746. package/node_modules/three/src/nodes/accessors/PointUVNode.js +55 -0
  747. package/node_modules/three/src/nodes/accessors/Position.js +90 -0
  748. package/node_modules/three/src/nodes/accessors/ReferenceBaseNode.js +357 -0
  749. package/node_modules/three/src/nodes/accessors/ReferenceNode.js +424 -0
  750. package/node_modules/three/src/nodes/accessors/ReflectVector.js +36 -0
  751. package/node_modules/three/src/nodes/accessors/RendererReferenceNode.js +79 -0
  752. package/node_modules/three/src/nodes/accessors/SceneNode.js +145 -0
  753. package/node_modules/three/src/nodes/accessors/SkinningNode.js +327 -0
  754. package/node_modules/three/src/nodes/accessors/StorageBufferNode.js +416 -0
  755. package/node_modules/three/src/nodes/accessors/StorageTextureNode.js +264 -0
  756. package/node_modules/three/src/nodes/accessors/Tangent.js +70 -0
  757. package/node_modules/three/src/nodes/accessors/TangentUtils.js +46 -0
  758. package/node_modules/three/src/nodes/accessors/Texture3DNode.js +199 -0
  759. package/node_modules/three/{examples/jsm/nodes/accessors/TextureBicubicNode.js → src/nodes/accessors/TextureBicubic.js} +28 -30
  760. package/node_modules/three/src/nodes/accessors/TextureNode.js +927 -0
  761. package/node_modules/three/src/nodes/accessors/TextureSizeNode.js +77 -0
  762. package/node_modules/three/src/nodes/accessors/UV.js +11 -0
  763. package/node_modules/three/src/nodes/accessors/UniformArrayNode.js +348 -0
  764. package/node_modules/three/src/nodes/accessors/UserDataNode.js +77 -0
  765. package/node_modules/three/src/nodes/accessors/VelocityNode.js +224 -0
  766. package/node_modules/three/src/nodes/accessors/VertexColorNode.js +110 -0
  767. package/node_modules/three/src/nodes/code/CodeNode.js +181 -0
  768. package/node_modules/three/src/nodes/code/ExpressionNode.js +68 -0
  769. package/node_modules/three/src/nodes/code/FunctionCallNode.js +187 -0
  770. package/node_modules/three/src/nodes/code/FunctionNode.js +183 -0
  771. package/node_modules/three/{examples/jsm → src}/nodes/code/ScriptableNode.js +253 -15
  772. package/node_modules/three/{examples/jsm → src}/nodes/code/ScriptableValueNode.js +95 -9
  773. package/node_modules/three/src/nodes/core/ArrayNode.js +155 -0
  774. package/node_modules/three/src/nodes/core/AssignNode.js +202 -0
  775. package/node_modules/three/src/nodes/core/AttributeNode.js +168 -0
  776. package/node_modules/three/src/nodes/core/BypassNode.js +93 -0
  777. package/node_modules/three/src/nodes/core/ConstNode.js +67 -0
  778. package/node_modules/three/src/nodes/core/ContextNode.js +184 -0
  779. package/node_modules/three/src/nodes/core/IndexNode.js +164 -0
  780. package/node_modules/three/src/nodes/core/InputNode.js +136 -0
  781. package/node_modules/three/src/nodes/core/InspectorNode.js +128 -0
  782. package/node_modules/three/src/nodes/core/IsolateNode.js +133 -0
  783. package/node_modules/three/src/nodes/core/LightingModel.js +77 -0
  784. package/node_modules/three/src/nodes/core/MRTNode.js +150 -0
  785. package/node_modules/three/src/nodes/core/Node.js +1083 -0
  786. package/node_modules/three/src/nodes/core/NodeAttribute.js +53 -0
  787. package/node_modules/three/src/nodes/core/NodeBuilder.js +3081 -0
  788. package/node_modules/three/src/nodes/core/NodeCache.js +75 -0
  789. package/node_modules/three/src/nodes/core/NodeCode.js +46 -0
  790. package/node_modules/three/src/nodes/core/NodeFrame.js +306 -0
  791. package/node_modules/three/src/nodes/core/NodeFunction.js +69 -0
  792. package/node_modules/three/src/nodes/core/NodeFunctionInput.js +61 -0
  793. package/node_modules/three/src/nodes/core/NodeParser.js +23 -0
  794. package/node_modules/three/src/nodes/core/NodeUniform.js +91 -0
  795. package/node_modules/three/src/nodes/core/NodeUtils.js +406 -0
  796. package/node_modules/three/src/nodes/core/NodeVar.js +60 -0
  797. package/node_modules/three/src/nodes/core/NodeVarying.js +63 -0
  798. package/node_modules/three/src/nodes/core/OutputStructNode.js +103 -0
  799. package/node_modules/three/src/nodes/core/ParameterNode.js +94 -0
  800. package/node_modules/three/src/nodes/core/PropertyNode.js +351 -0
  801. package/node_modules/three/src/nodes/core/StackNode.js +377 -0
  802. package/node_modules/three/src/nodes/core/StructNode.js +120 -0
  803. package/node_modules/three/src/nodes/core/StructType.js +13 -0
  804. package/node_modules/three/src/nodes/core/StructTypeNode.js +154 -0
  805. package/node_modules/three/src/nodes/core/SubBuildNode.js +89 -0
  806. package/node_modules/three/src/nodes/core/TempNode.js +88 -0
  807. package/node_modules/three/src/nodes/core/UniformGroupNode.js +137 -0
  808. package/node_modules/three/src/nodes/core/UniformNode.js +243 -0
  809. package/node_modules/three/src/nodes/core/VarNode.js +342 -0
  810. package/node_modules/three/src/nodes/core/VaryingNode.js +227 -0
  811. package/node_modules/three/src/nodes/core/constants.js +68 -0
  812. package/node_modules/three/src/nodes/display/BlendModes.js +235 -0
  813. package/node_modules/three/src/nodes/display/BumpMapNode.js +117 -0
  814. package/node_modules/three/src/nodes/display/ColorAdjustment.js +141 -0
  815. package/node_modules/three/src/nodes/display/ColorSpaceFunctions.js +54 -0
  816. package/node_modules/three/src/nodes/display/ColorSpaceNode.js +164 -0
  817. package/node_modules/three/src/nodes/display/FrontFacingNode.js +102 -0
  818. package/node_modules/three/src/nodes/display/NormalMapNode.js +118 -0
  819. package/node_modules/three/src/nodes/display/PassNode.js +946 -0
  820. package/node_modules/three/src/nodes/display/PosterizeNode.js +65 -0
  821. package/node_modules/three/src/nodes/display/RenderOutputNode.js +150 -0
  822. package/node_modules/three/src/nodes/display/ScreenNode.js +290 -0
  823. package/node_modules/three/src/nodes/display/ToneMappingFunctions.js +242 -0
  824. package/node_modules/three/src/nodes/display/ToneMappingNode.js +147 -0
  825. package/node_modules/three/src/nodes/display/ToonOutlinePassNode.js +191 -0
  826. package/node_modules/three/src/nodes/display/ViewportDepthNode.js +294 -0
  827. package/node_modules/three/src/nodes/display/ViewportDepthTextureNode.js +67 -0
  828. package/node_modules/three/src/nodes/display/ViewportSharedTextureNode.js +73 -0
  829. package/node_modules/three/src/nodes/display/ViewportTextureNode.js +228 -0
  830. package/node_modules/three/src/nodes/fog/Fog.js +114 -0
  831. package/node_modules/three/src/nodes/functions/BSDF/BRDF_GGX.js +55 -0
  832. package/node_modules/three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
  833. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Lambert.js +2 -2
  834. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Sheen.js +9 -9
  835. package/node_modules/three/src/nodes/functions/BSDF/DFGApprox.js +71 -0
  836. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/D_GGX.js +2 -2
  837. package/node_modules/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.js +28 -0
  838. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
  839. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/F_Schlick.js +2 -2
  840. package/node_modules/three/src/nodes/functions/BSDF/LTC.js +175 -0
  841. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/Schlick_to_F0.js +2 -2
  842. package/node_modules/three/{examples/jsm → src}/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +2 -4
  843. package/node_modules/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +29 -0
  844. package/node_modules/three/src/nodes/functions/BasicLightingModel.js +100 -0
  845. package/node_modules/three/src/nodes/functions/PhongLightingModel.js +99 -0
  846. package/node_modules/three/src/nodes/functions/PhysicalLightingModel.js +797 -0
  847. package/node_modules/three/src/nodes/functions/ShadowMaskModel.js +58 -0
  848. package/node_modules/three/src/nodes/functions/ToonLightingModel.js +70 -0
  849. package/node_modules/three/src/nodes/functions/VolumetricLightingModel.js +183 -0
  850. package/node_modules/three/src/nodes/functions/material/getAlphaHashThreshold.js +68 -0
  851. package/node_modules/three/src/nodes/functions/material/getGeometryRoughness.js +19 -0
  852. package/node_modules/three/src/nodes/functions/material/getParallaxCorrectNormal.js +37 -0
  853. package/node_modules/three/{examples/jsm → src}/nodes/functions/material/getRoughness.js +2 -2
  854. package/node_modules/three/src/nodes/functions/material/getShIrradianceAt.js +28 -0
  855. package/node_modules/three/src/nodes/geometry/RangeNode.js +208 -0
  856. package/node_modules/three/src/nodes/gpgpu/AtomicFunctionNode.js +274 -0
  857. package/node_modules/three/src/nodes/gpgpu/BarrierNode.js +89 -0
  858. package/node_modules/three/src/nodes/gpgpu/ComputeBuiltinNode.js +228 -0
  859. package/node_modules/three/src/nodes/gpgpu/ComputeNode.js +284 -0
  860. package/node_modules/three/src/nodes/gpgpu/SubgroupFunctionNode.js +455 -0
  861. package/node_modules/three/src/nodes/gpgpu/WorkgroupInfoNode.js +234 -0
  862. package/node_modules/three/src/nodes/lighting/AONode.js +45 -0
  863. package/node_modules/three/{examples/jsm → src}/nodes/lighting/AmbientLightNode.js +16 -8
  864. package/node_modules/three/src/nodes/lighting/AnalyticLightNode.js +256 -0
  865. package/node_modules/three/src/nodes/lighting/BasicEnvironmentNode.js +49 -0
  866. package/node_modules/three/src/nodes/lighting/BasicLightMapNode.js +49 -0
  867. package/node_modules/three/src/nodes/lighting/DirectionalLightNode.js +39 -0
  868. package/node_modules/three/src/nodes/lighting/EnvironmentNode.js +153 -0
  869. package/node_modules/three/src/nodes/lighting/HemisphereLightNode.js +87 -0
  870. package/node_modules/three/{examples/jsm → src}/nodes/lighting/IESSpotLightNode.js +20 -10
  871. package/node_modules/three/src/nodes/lighting/IrradianceNode.js +44 -0
  872. package/node_modules/three/src/nodes/lighting/LightProbeNode.js +73 -0
  873. package/node_modules/three/src/nodes/lighting/LightUtils.js +25 -0
  874. package/node_modules/three/src/nodes/lighting/LightingContextNode.js +115 -0
  875. package/node_modules/three/src/nodes/lighting/LightingNode.js +36 -0
  876. package/node_modules/three/src/nodes/lighting/LightsNode.js +453 -0
  877. package/node_modules/three/src/nodes/lighting/PointLightNode.js +102 -0
  878. package/node_modules/three/src/nodes/lighting/PointShadowNode.js +312 -0
  879. package/node_modules/three/src/nodes/lighting/ProjectorLightNode.js +91 -0
  880. package/node_modules/three/src/nodes/lighting/RectAreaLightNode.js +133 -0
  881. package/node_modules/three/src/nodes/lighting/ShadowBaseNode.js +81 -0
  882. package/node_modules/three/src/nodes/lighting/ShadowFilterNode.js +276 -0
  883. package/node_modules/three/src/nodes/lighting/ShadowNode.js +811 -0
  884. package/node_modules/three/src/nodes/lighting/SpotLightNode.js +168 -0
  885. package/node_modules/three/src/nodes/materialx/MaterialXNodes.js +197 -0
  886. package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_hsv.js +43 -46
  887. package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_noise.js +625 -564
  888. package/node_modules/three/{examples/jsm → src}/nodes/materialx/lib/mx_transform_color.js +3 -9
  889. package/node_modules/three/src/nodes/math/BitcastNode.js +156 -0
  890. package/node_modules/three/src/nodes/math/ConditionalNode.js +245 -0
  891. package/node_modules/three/src/nodes/math/Hash.js +21 -0
  892. package/node_modules/three/src/nodes/math/MathNode.js +1167 -0
  893. package/node_modules/three/src/nodes/math/MathUtils.js +54 -0
  894. package/node_modules/three/src/nodes/math/OperatorNode.js +751 -0
  895. package/node_modules/three/{examples/jsm → src}/nodes/math/TriNoise3D.js +34 -34
  896. package/node_modules/three/{examples/jsm → src}/nodes/parsers/GLSLNodeFunction.js +23 -7
  897. package/node_modules/three/{examples/jsm → src}/nodes/parsers/GLSLNodeParser.js +11 -0
  898. package/node_modules/three/src/nodes/pmrem/PMREMNode.js +397 -0
  899. package/node_modules/three/src/nodes/pmrem/PMREMUtils.js +403 -0
  900. package/node_modules/three/src/nodes/procedural/Checker.js +22 -0
  901. package/node_modules/three/src/nodes/shapes/Shapes.js +33 -0
  902. package/node_modules/three/src/nodes/tsl/TSLBase.js +36 -0
  903. package/node_modules/three/src/nodes/tsl/TSLCore.js +1229 -0
  904. package/node_modules/three/src/nodes/utils/ArrayElementNode.js +77 -0
  905. package/node_modules/three/src/nodes/utils/ConvertNode.js +100 -0
  906. package/node_modules/three/src/nodes/utils/CubeMapNode.js +237 -0
  907. package/node_modules/three/src/nodes/utils/DebugNode.js +83 -0
  908. package/node_modules/three/src/nodes/utils/Discard.js +24 -0
  909. package/node_modules/three/src/nodes/utils/EquirectUV.js +27 -0
  910. package/node_modules/three/src/nodes/utils/EventNode.js +119 -0
  911. package/node_modules/three/src/nodes/utils/FlipNode.js +106 -0
  912. package/node_modules/three/src/nodes/utils/FunctionOverloadingNode.js +170 -0
  913. package/node_modules/three/src/nodes/utils/JoinNode.js +117 -0
  914. package/node_modules/three/src/nodes/utils/LoopNode.js +349 -0
  915. package/node_modules/three/src/nodes/utils/MatcapUV.js +22 -0
  916. package/node_modules/three/src/nodes/utils/MaxMipLevelNode.js +103 -0
  917. package/node_modules/three/src/nodes/utils/MemberNode.js +120 -0
  918. package/node_modules/three/src/nodes/utils/Oscillators.js +41 -0
  919. package/node_modules/three/src/nodes/utils/Packing.js +21 -0
  920. package/node_modules/three/src/nodes/utils/PostProcessingUtils.js +122 -0
  921. package/node_modules/three/src/nodes/utils/RTTNode.js +289 -0
  922. package/node_modules/three/src/nodes/utils/ReflectorNode.js +630 -0
  923. package/node_modules/three/src/nodes/utils/RemapNode.js +125 -0
  924. package/node_modules/three/{examples/jsm → src}/nodes/utils/RotateNode.js +48 -13
  925. package/node_modules/three/src/nodes/utils/SampleNode.js +91 -0
  926. package/node_modules/three/{examples/jsm → src}/nodes/utils/SetNode.js +50 -4
  927. package/node_modules/three/{examples/jsm → src}/nodes/utils/SplitNode.js +73 -6
  928. package/node_modules/three/src/nodes/utils/SpriteSheetUVNode.js +90 -0
  929. package/node_modules/three/src/nodes/utils/SpriteUtils.js +63 -0
  930. package/node_modules/three/src/nodes/utils/StorageArrayElementNode.js +143 -0
  931. package/node_modules/three/src/nodes/utils/Timer.js +26 -0
  932. package/node_modules/three/src/nodes/utils/TriplanarTextures.js +65 -0
  933. package/node_modules/three/src/nodes/utils/UVUtils.js +39 -0
  934. package/node_modules/three/src/nodes/utils/ViewportUtils.js +26 -0
  935. package/node_modules/three/src/objects/BatchedMesh.js +940 -305
  936. package/node_modules/three/src/objects/Bone.js +24 -0
  937. package/node_modules/three/src/objects/ClippingGroup.js +68 -0
  938. package/node_modules/three/src/objects/Group.js +24 -0
  939. package/node_modules/three/src/objects/InstancedMesh.js +182 -1
  940. package/node_modules/three/src/objects/LOD.js +120 -5
  941. package/node_modules/three/src/objects/Line.js +151 -44
  942. package/node_modules/three/src/objects/LineLoop.js +20 -0
  943. package/node_modules/three/src/objects/LineSegments.js +20 -1
  944. package/node_modules/three/src/objects/Mesh.js +91 -24
  945. package/node_modules/three/src/objects/Points.js +62 -0
  946. package/node_modules/three/src/objects/Skeleton.js +111 -5
  947. package/node_modules/three/src/objects/SkinnedMesh.js +102 -6
  948. package/node_modules/three/src/objects/Sprite.js +65 -1
  949. package/node_modules/three/src/renderers/WebGL3DRenderTarget.js +26 -0
  950. package/node_modules/three/src/renderers/WebGLArrayRenderTarget.js +26 -0
  951. package/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +42 -15
  952. package/node_modules/three/src/renderers/WebGLRenderTarget.js +19 -0
  953. package/node_modules/three/src/renderers/WebGLRenderer.js +1222 -318
  954. package/node_modules/three/src/renderers/common/Animation.js +159 -0
  955. package/node_modules/three/{examples/jsm → src}/renderers/common/Attributes.js +45 -2
  956. package/node_modules/three/src/renderers/common/Backend.js +748 -0
  957. package/node_modules/three/src/renderers/common/Background.js +212 -0
  958. package/node_modules/three/src/renderers/common/BindGroup.js +61 -0
  959. package/node_modules/three/src/renderers/common/Binding.js +60 -0
  960. package/node_modules/three/src/renderers/common/Bindings.js +379 -0
  961. package/node_modules/three/src/renderers/common/Buffer.js +87 -0
  962. package/node_modules/three/src/renderers/common/BufferUtils.js +58 -0
  963. package/node_modules/three/src/renderers/common/BundleGroup.js +83 -0
  964. package/node_modules/three/src/renderers/common/CanvasTarget.js +341 -0
  965. package/node_modules/three/src/renderers/common/ChainMap.js +98 -0
  966. package/node_modules/three/src/renderers/common/ClippingContext.js +262 -0
  967. package/node_modules/three/src/renderers/common/Color4.js +77 -0
  968. package/node_modules/three/src/renderers/common/ComputePipeline.js +41 -0
  969. package/node_modules/three/{examples/jsm → src}/renderers/common/Constants.js +2 -1
  970. package/node_modules/three/{examples/jsm → src}/renderers/common/CubeRenderTarget.js +43 -5
  971. package/node_modules/three/src/renderers/common/DataMap.js +90 -0
  972. package/node_modules/three/src/renderers/common/Geometries.js +370 -0
  973. package/node_modules/three/src/renderers/common/IndirectStorageBufferAttribute.js +38 -0
  974. package/node_modules/three/src/renderers/common/Info.js +172 -0
  975. package/node_modules/three/src/renderers/common/InspectorBase.js +146 -0
  976. package/node_modules/three/src/renderers/common/Lighting.js +73 -0
  977. package/node_modules/three/src/renderers/common/Pipeline.js +35 -0
  978. package/node_modules/three/{examples/jsm → src}/renderers/common/Pipelines.js +150 -7
  979. package/node_modules/three/src/renderers/common/PostProcessing.js +226 -0
  980. package/node_modules/three/src/renderers/common/ProgrammableStage.js +78 -0
  981. package/node_modules/three/src/renderers/common/QuadMesh.js +112 -0
  982. package/node_modules/three/src/renderers/common/RenderBundle.js +24 -0
  983. package/node_modules/three/src/renderers/common/RenderBundles.js +67 -0
  984. package/node_modules/three/src/renderers/common/RenderContext.js +265 -0
  985. package/node_modules/three/src/renderers/common/RenderContexts.js +116 -0
  986. package/node_modules/three/src/renderers/common/RenderList.js +404 -0
  987. package/node_modules/three/src/renderers/common/RenderLists.js +77 -0
  988. package/node_modules/three/src/renderers/common/RenderObject.js +903 -0
  989. package/node_modules/three/src/renderers/common/RenderObjects.js +202 -0
  990. package/node_modules/three/src/renderers/common/RenderPipeline.js +40 -0
  991. package/node_modules/three/src/renderers/common/Renderer.js +3290 -0
  992. package/node_modules/three/src/renderers/common/RendererUtils.js +200 -0
  993. package/node_modules/three/src/renderers/common/SampledTexture.js +152 -0
  994. package/node_modules/three/src/renderers/common/Sampler.js +165 -0
  995. package/node_modules/three/src/renderers/common/Storage3DTexture.js +100 -0
  996. package/node_modules/three/src/renderers/common/StorageArrayTexture.js +84 -0
  997. package/node_modules/three/src/renderers/common/StorageBuffer.js +41 -0
  998. package/node_modules/three/src/renderers/common/StorageBufferAttribute.js +46 -0
  999. package/node_modules/three/src/renderers/common/StorageInstancedBufferAttribute.js +46 -0
  1000. package/node_modules/three/src/renderers/common/StorageTexture.js +86 -0
  1001. package/node_modules/three/src/renderers/common/Textures.js +544 -0
  1002. package/node_modules/three/src/renderers/common/TimestampQueryPool.js +161 -0
  1003. package/node_modules/three/src/renderers/common/Uniform.js +367 -0
  1004. package/node_modules/three/src/renderers/common/UniformBuffer.js +34 -0
  1005. package/node_modules/three/src/renderers/common/UniformsGroup.js +487 -0
  1006. package/node_modules/three/src/renderers/common/XRManager.js +1676 -0
  1007. package/node_modules/three/src/renderers/common/XRRenderTarget.js +91 -0
  1008. package/node_modules/three/src/renderers/common/extras/PMREMGenerator.js +1034 -0
  1009. package/node_modules/three/src/renderers/common/nodes/NodeBuilderState.js +152 -0
  1010. package/node_modules/three/src/renderers/common/nodes/NodeLibrary.js +196 -0
  1011. package/node_modules/three/src/renderers/common/nodes/NodeSampledTexture.js +140 -0
  1012. package/node_modules/three/src/renderers/common/nodes/NodeSampler.js +62 -0
  1013. package/node_modules/three/src/renderers/common/nodes/NodeStorageBuffer.js +61 -0
  1014. package/node_modules/three/src/renderers/common/nodes/NodeUniform.js +418 -0
  1015. package/node_modules/three/src/renderers/common/nodes/NodeUniformBuffer.js +53 -0
  1016. package/node_modules/three/src/renderers/common/nodes/NodeUniformsGroup.js +51 -0
  1017. package/node_modules/three/src/renderers/common/nodes/Nodes.js +840 -0
  1018. package/node_modules/three/src/renderers/shaders/DFGLUTData.js +64 -0
  1019. package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +31 -1
  1020. package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_vertex.glsl.js +1 -1
  1021. package/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +1 -1
  1022. package/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +9 -1
  1023. package/node_modules/three/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js +4 -33
  1024. package/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -22
  1025. package/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +8 -0
  1026. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +2 -1
  1027. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +1 -1
  1028. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +3 -3
  1029. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +3 -3
  1030. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +8 -22
  1031. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +6 -0
  1032. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +55 -20
  1033. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +2 -2
  1034. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +1 -1
  1035. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +3 -11
  1036. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +3 -17
  1037. package/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +3 -3
  1038. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js +1 -1
  1039. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphinstance_vertex.glsl.js +14 -0
  1040. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +3 -14
  1041. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +12 -24
  1042. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +3 -23
  1043. package/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +45 -13
  1044. package/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +1 -1
  1045. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +59 -36
  1046. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +3 -0
  1047. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +3 -3
  1048. package/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +33 -2
  1049. package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +1 -1
  1050. package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +47 -13
  1051. package/node_modules/three/src/renderers/shaders/ShaderChunk.js +2 -2
  1052. package/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
  1053. package/node_modules/three/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +3 -2
  1054. package/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +21 -2
  1055. package/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +2 -0
  1056. package/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +1 -0
  1057. package/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +1 -0
  1058. package/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +1 -0
  1059. package/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +1 -0
  1060. package/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +1 -0
  1061. package/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +1 -0
  1062. package/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +5 -0
  1063. package/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +1 -0
  1064. package/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +1 -0
  1065. package/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -0
  1066. package/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +2 -4
  1067. package/node_modules/three/src/renderers/shaders/ShaderLib.js +4 -2
  1068. package/node_modules/three/src/renderers/shaders/UniformsLib.js +6 -4
  1069. package/node_modules/three/src/renderers/shaders/UniformsUtils.js +31 -3
  1070. package/node_modules/three/src/renderers/webgl/WebGLAttributes.js +46 -38
  1071. package/node_modules/three/src/renderers/webgl/WebGLBackground.js +69 -5
  1072. package/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +14 -51
  1073. package/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +19 -22
  1074. package/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +39 -14
  1075. package/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +10 -6
  1076. package/node_modules/three/src/renderers/webgl/WebGLExtensions.js +8 -44
  1077. package/node_modules/three/src/renderers/webgl/WebGLGeometries.js +0 -28
  1078. package/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +19 -21
  1079. package/node_modules/three/src/renderers/webgl/WebGLInfo.js +3 -1
  1080. package/node_modules/three/src/renderers/webgl/WebGLLights.js +21 -44
  1081. package/node_modules/three/src/renderers/webgl/WebGLMaterials.js +33 -9
  1082. package/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +78 -210
  1083. package/node_modules/three/src/renderers/webgl/WebGLProgram.js +103 -121
  1084. package/node_modules/three/src/renderers/webgl/WebGLPrograms.js +32 -26
  1085. package/node_modules/three/src/renderers/webgl/WebGLProperties.js +7 -0
  1086. package/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +15 -9
  1087. package/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +41 -29
  1088. package/node_modules/three/src/renderers/webgl/WebGLState.js +104 -100
  1089. package/node_modules/three/src/renderers/webgl/WebGLTextures.js +567 -408
  1090. package/node_modules/three/src/renderers/webgl/WebGLUniforms.js +12 -2
  1091. package/node_modules/three/src/renderers/webgl/WebGLUniformsGroups.js +13 -11
  1092. package/node_modules/three/src/renderers/webgl/WebGLUtils.js +11 -81
  1093. package/node_modules/three/src/renderers/webgl-fallback/WebGLBackend.js +2612 -0
  1094. package/node_modules/three/src/renderers/webgl-fallback/WebGLBufferRenderer.js +140 -0
  1095. package/node_modules/three/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +1577 -0
  1096. package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLAttributeUtils.js +76 -3
  1097. package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLCapabilities.js +64 -0
  1098. package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLConstants.js +5 -3
  1099. package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLExtensions.js +83 -0
  1100. package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLState.js +427 -21
  1101. package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +1309 -0
  1102. package/node_modules/three/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +396 -0
  1103. package/node_modules/three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/utils/WebGLUtils.js +72 -43
  1104. package/node_modules/three/src/renderers/webgpu/WebGPUBackend.js +2482 -0
  1105. package/node_modules/three/src/renderers/webgpu/WebGPURenderer.Nodes.js +69 -0
  1106. package/node_modules/three/src/renderers/webgpu/WebGPURenderer.js +106 -0
  1107. package/node_modules/three/src/renderers/webgpu/nodes/BasicNodeLibrary.js +66 -0
  1108. package/node_modules/three/src/renderers/webgpu/nodes/StandardNodeLibrary.js +100 -0
  1109. package/node_modules/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +2247 -0
  1110. package/node_modules/three/src/renderers/webgpu/nodes/WGSLNodeFunction.js +187 -0
  1111. package/node_modules/three/{examples/jsm → src}/renderers/webgpu/nodes/WGSLNodeParser.js +11 -0
  1112. package/node_modules/three/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +449 -0
  1113. package/node_modules/three/src/renderers/webgpu/utils/WebGPUBindingUtils.js +485 -0
  1114. package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUConstants.js +24 -4
  1115. package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUPipelineUtils.js +289 -72
  1116. package/node_modules/three/{examples/jsm → src}/renderers/webgpu/utils/WebGPUTexturePassUtils.js +160 -8
  1117. package/node_modules/three/src/renderers/webgpu/utils/WebGPUTextureUtils.js +1576 -0
  1118. package/node_modules/three/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +310 -0
  1119. package/node_modules/three/src/renderers/webgpu/utils/WebGPUUtils.js +247 -0
  1120. package/node_modules/three/src/renderers/webxr/WebXRController.js +87 -2
  1121. package/node_modules/three/src/renderers/webxr/WebXRDepthSensing.js +63 -13
  1122. package/node_modules/three/src/renderers/webxr/WebXRManager.js +323 -44
  1123. package/node_modules/three/src/scenes/Fog.js +60 -0
  1124. package/node_modules/three/src/scenes/FogExp2.js +51 -0
  1125. package/node_modules/three/src/scenes/Scene.js +103 -1
  1126. package/node_modules/three/src/textures/CanvasTexture.js +28 -0
  1127. package/node_modules/three/src/textures/CompressedArrayTexture.js +71 -0
  1128. package/node_modules/three/src/textures/CompressedCubeTexture.js +29 -0
  1129. package/node_modules/three/src/textures/CompressedTexture.js +64 -6
  1130. package/node_modules/three/src/textures/CubeTexture.js +52 -4
  1131. package/node_modules/three/src/textures/Data3DTexture.js +79 -2
  1132. package/node_modules/three/src/textures/DataArrayTexture.js +107 -0
  1133. package/node_modules/three/src/textures/DataTexture.js +65 -0
  1134. package/node_modules/three/src/textures/DepthTexture.js +59 -13
  1135. package/node_modules/three/src/textures/ExternalTexture.js +56 -0
  1136. package/node_modules/three/src/textures/FramebufferTexture.js +62 -0
  1137. package/node_modules/three/src/textures/Source.js +106 -4
  1138. package/node_modules/three/src/textures/Texture.js +490 -27
  1139. package/node_modules/three/src/textures/VideoFrameTexture.js +72 -0
  1140. package/node_modules/three/src/textures/VideoTexture.js +78 -6
  1141. package/node_modules/three/src/utils.js +128 -3
  1142. package/package.json +3 -4
  1143. package/bin/playdrop-cli +0 -2
  1144. package/dist/commands/asset-packs.d.ts +0 -27
  1145. package/dist/commands/asset-packs.js +0 -508
  1146. package/dist/commands/assets.d.ts +0 -35
  1147. package/dist/commands/assets.js +0 -668
  1148. package/dist/commands/list.d.ts +0 -7
  1149. package/dist/commands/list.js +0 -347
  1150. package/dist/commands/migrateCatalogueV2.d.ts +0 -1
  1151. package/dist/commands/migrateCatalogueV2.js +0 -142
  1152. package/dist/commands/versions.d.ts +0 -17
  1153. package/dist/commands/versions.js +0 -384
  1154. package/node_modules/three/examples/jsm/animation/MMDAnimationHelper.js +0 -1207
  1155. package/node_modules/three/examples/jsm/animation/MMDPhysics.js +0 -1406
  1156. package/node_modules/three/examples/jsm/cameras/CinematicCamera.js +0 -208
  1157. package/node_modules/three/examples/jsm/effects/PeppersGhostEffect.js +0 -153
  1158. package/node_modules/three/examples/jsm/exporters/MMDExporter.js +0 -217
  1159. package/node_modules/three/examples/jsm/geometries/InstancedPointsGeometry.js +0 -174
  1160. package/node_modules/three/examples/jsm/geometries/ParametricGeometries.js +0 -254
  1161. package/node_modules/three/examples/jsm/geometries/SDFGeometryGenerator.js +0 -144
  1162. package/node_modules/three/examples/jsm/libs/mmdparser.module.js +0 -11530
  1163. package/node_modules/three/examples/jsm/lights/IESSpotLight.js +0 -25
  1164. package/node_modules/three/examples/jsm/loaders/LogLuvLoader.js +0 -606
  1165. package/node_modules/three/examples/jsm/loaders/MMDLoader.js +0 -2276
  1166. package/node_modules/three/examples/jsm/loaders/RGBMLoader.js +0 -1065
  1167. package/node_modules/three/examples/jsm/loaders/TiltLoader.js +0 -520
  1168. package/node_modules/three/examples/jsm/misc/Timer.js +0 -128
  1169. package/node_modules/three/examples/jsm/nodes/Nodes.js +0 -193
  1170. package/node_modules/three/examples/jsm/nodes/accessors/BitangentNode.js +0 -89
  1171. package/node_modules/three/examples/jsm/nodes/accessors/BufferAttributeNode.js +0 -127
  1172. package/node_modules/three/examples/jsm/nodes/accessors/BufferNode.js +0 -30
  1173. package/node_modules/three/examples/jsm/nodes/accessors/CameraNode.js +0 -119
  1174. package/node_modules/three/examples/jsm/nodes/accessors/CubeTextureNode.js +0 -61
  1175. package/node_modules/three/examples/jsm/nodes/accessors/InstanceNode.js +0 -71
  1176. package/node_modules/three/examples/jsm/nodes/accessors/InstancedPointsMaterialNode.js +0 -21
  1177. package/node_modules/three/examples/jsm/nodes/accessors/MaterialNode.js +0 -314
  1178. package/node_modules/three/examples/jsm/nodes/accessors/MaterialReferenceNode.js +0 -51
  1179. package/node_modules/three/examples/jsm/nodes/accessors/ModelNode.js +0 -33
  1180. package/node_modules/three/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +0 -39
  1181. package/node_modules/three/examples/jsm/nodes/accessors/NormalNode.js +0 -96
  1182. package/node_modules/three/examples/jsm/nodes/accessors/Object3DNode.js +0 -150
  1183. package/node_modules/three/examples/jsm/nodes/accessors/PointUVNode.js +0 -26
  1184. package/node_modules/three/examples/jsm/nodes/accessors/PositionNode.js +0 -104
  1185. package/node_modules/three/examples/jsm/nodes/accessors/ReferenceNode.js +0 -102
  1186. package/node_modules/three/examples/jsm/nodes/accessors/ReflectVectorNode.js +0 -35
  1187. package/node_modules/three/examples/jsm/nodes/accessors/SceneNode.js +0 -52
  1188. package/node_modules/three/examples/jsm/nodes/accessors/SkinningNode.js +0 -103
  1189. package/node_modules/three/examples/jsm/nodes/accessors/StorageBufferNode.js +0 -54
  1190. package/node_modules/three/examples/jsm/nodes/accessors/TangentNode.js +0 -103
  1191. package/node_modules/three/examples/jsm/nodes/accessors/TextureNode.js +0 -367
  1192. package/node_modules/three/examples/jsm/nodes/accessors/TextureSizeNode.js +0 -35
  1193. package/node_modules/three/examples/jsm/nodes/accessors/TextureStoreNode.js +0 -82
  1194. package/node_modules/three/examples/jsm/nodes/accessors/UVNode.js +0 -47
  1195. package/node_modules/three/examples/jsm/nodes/accessors/UserDataNode.js +0 -29
  1196. package/node_modules/three/examples/jsm/nodes/accessors/VertexColorNode.js +0 -70
  1197. package/node_modules/three/examples/jsm/nodes/code/CodeNode.js +0 -78
  1198. package/node_modules/three/examples/jsm/nodes/code/ExpressionNode.js +0 -37
  1199. package/node_modules/three/examples/jsm/nodes/code/FunctionCallNode.js +0 -96
  1200. package/node_modules/three/examples/jsm/nodes/code/FunctionNode.js +0 -138
  1201. package/node_modules/three/examples/jsm/nodes/core/ArrayUniformNode.js +0 -26
  1202. package/node_modules/three/examples/jsm/nodes/core/AssignNode.js +0 -72
  1203. package/node_modules/three/examples/jsm/nodes/core/AttributeNode.js +0 -108
  1204. package/node_modules/three/examples/jsm/nodes/core/BypassNode.js +0 -45
  1205. package/node_modules/three/examples/jsm/nodes/core/CacheNode.js +0 -49
  1206. package/node_modules/three/examples/jsm/nodes/core/ConstNode.js +0 -32
  1207. package/node_modules/three/examples/jsm/nodes/core/ContextNode.js +0 -61
  1208. package/node_modules/three/examples/jsm/nodes/core/IndexNode.js +0 -66
  1209. package/node_modules/three/examples/jsm/nodes/core/InputNode.js +0 -83
  1210. package/node_modules/three/examples/jsm/nodes/core/LightingModel.js +0 -17
  1211. package/node_modules/three/examples/jsm/nodes/core/Node.js +0 -483
  1212. package/node_modules/three/examples/jsm/nodes/core/NodeAttribute.js +0 -15
  1213. package/node_modules/three/examples/jsm/nodes/core/NodeBuilder.js +0 -1256
  1214. package/node_modules/three/examples/jsm/nodes/core/NodeCache.js +0 -26
  1215. package/node_modules/three/examples/jsm/nodes/core/NodeCode.js +0 -15
  1216. package/node_modules/three/examples/jsm/nodes/core/NodeFrame.js +0 -143
  1217. package/node_modules/three/examples/jsm/nodes/core/NodeFunction.js +0 -22
  1218. package/node_modules/three/examples/jsm/nodes/core/NodeFunctionInput.js +0 -17
  1219. package/node_modules/three/examples/jsm/nodes/core/NodeKeywords.js +0 -80
  1220. package/node_modules/three/examples/jsm/nodes/core/NodeParser.js +0 -11
  1221. package/node_modules/three/examples/jsm/nodes/core/NodeUniform.js +0 -40
  1222. package/node_modules/three/examples/jsm/nodes/core/NodeUtils.js +0 -210
  1223. package/node_modules/three/examples/jsm/nodes/core/NodeVar.js +0 -14
  1224. package/node_modules/three/examples/jsm/nodes/core/NodeVarying.js +0 -17
  1225. package/node_modules/three/examples/jsm/nodes/core/OutputStructNode.js +0 -62
  1226. package/node_modules/three/examples/jsm/nodes/core/ParameterNode.js +0 -33
  1227. package/node_modules/three/examples/jsm/nodes/core/PropertyNode.js +0 -72
  1228. package/node_modules/three/examples/jsm/nodes/core/StackNode.js +0 -89
  1229. package/node_modules/three/examples/jsm/nodes/core/StructTypeNode.js +0 -24
  1230. package/node_modules/three/examples/jsm/nodes/core/TempNode.js +0 -58
  1231. package/node_modules/three/examples/jsm/nodes/core/UniformGroup.js +0 -13
  1232. package/node_modules/three/examples/jsm/nodes/core/UniformGroupNode.js +0 -36
  1233. package/node_modules/three/examples/jsm/nodes/core/UniformNode.js +0 -80
  1234. package/node_modules/three/examples/jsm/nodes/core/VarNode.js +0 -60
  1235. package/node_modules/three/examples/jsm/nodes/core/VaryingNode.js +0 -65
  1236. package/node_modules/three/examples/jsm/nodes/core/constants.js +0 -28
  1237. package/node_modules/three/examples/jsm/nodes/display/AfterImageNode.js +0 -148
  1238. package/node_modules/three/examples/jsm/nodes/display/AnamorphicNode.js +0 -148
  1239. package/node_modules/three/examples/jsm/nodes/display/BlendModeNode.js +0 -99
  1240. package/node_modules/three/examples/jsm/nodes/display/BumpMapNode.js +0 -99
  1241. package/node_modules/three/examples/jsm/nodes/display/ColorAdjustmentNode.js +0 -99
  1242. package/node_modules/three/examples/jsm/nodes/display/ColorSpaceNode.js +0 -108
  1243. package/node_modules/three/examples/jsm/nodes/display/FrontFacingNode.js +0 -27
  1244. package/node_modules/three/examples/jsm/nodes/display/GaussianBlurNode.js +0 -190
  1245. package/node_modules/three/examples/jsm/nodes/display/NormalMapNode.js +0 -108
  1246. package/node_modules/three/examples/jsm/nodes/display/PassNode.js +0 -183
  1247. package/node_modules/three/examples/jsm/nodes/display/PosterizeNode.js +0 -32
  1248. package/node_modules/three/examples/jsm/nodes/display/ToneMappingNode.js +0 -184
  1249. package/node_modules/three/examples/jsm/nodes/display/ViewportDepthNode.js +0 -97
  1250. package/node_modules/three/examples/jsm/nodes/display/ViewportDepthTextureNode.js +0 -31
  1251. package/node_modules/three/examples/jsm/nodes/display/ViewportNode.js +0 -134
  1252. package/node_modules/three/examples/jsm/nodes/display/ViewportSharedTextureNode.js +0 -31
  1253. package/node_modules/three/examples/jsm/nodes/display/ViewportTextureNode.js +0 -75
  1254. package/node_modules/three/examples/jsm/nodes/fog/FogExp2Node.js +0 -35
  1255. package/node_modules/three/examples/jsm/nodes/fog/FogNode.js +0 -38
  1256. package/node_modules/three/examples/jsm/nodes/fog/FogRangeNode.js +0 -34
  1257. package/node_modules/three/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +0 -40
  1258. package/node_modules/three/examples/jsm/nodes/functions/BSDF/DFGApprox.js +0 -30
  1259. package/node_modules/three/examples/jsm/nodes/functions/PhongLightingModel.js +0 -67
  1260. package/node_modules/three/examples/jsm/nodes/functions/PhysicalLightingModel.js +0 -393
  1261. package/node_modules/three/examples/jsm/nodes/functions/material/getGeometryRoughness.js +0 -13
  1262. package/node_modules/three/examples/jsm/nodes/geometry/RangeNode.js +0 -104
  1263. package/node_modules/three/examples/jsm/nodes/gpgpu/ComputeNode.js +0 -85
  1264. package/node_modules/three/examples/jsm/nodes/lighting/AONode.js +0 -27
  1265. package/node_modules/three/examples/jsm/nodes/lighting/AnalyticLightNode.js +0 -241
  1266. package/node_modules/three/examples/jsm/nodes/lighting/DirectionalLightNode.js +0 -40
  1267. package/node_modules/three/examples/jsm/nodes/lighting/EnvironmentNode.js +0 -181
  1268. package/node_modules/three/examples/jsm/nodes/lighting/HemisphereLightNode.js +0 -55
  1269. package/node_modules/three/examples/jsm/nodes/lighting/LightNode.js +0 -57
  1270. package/node_modules/three/examples/jsm/nodes/lighting/LightUtils.js +0 -17
  1271. package/node_modules/three/examples/jsm/nodes/lighting/LightingContextNode.js +0 -66
  1272. package/node_modules/three/examples/jsm/nodes/lighting/LightingNode.js +0 -21
  1273. package/node_modules/three/examples/jsm/nodes/lighting/LightsNode.js +0 -188
  1274. package/node_modules/three/examples/jsm/nodes/lighting/PointLightNode.js +0 -68
  1275. package/node_modules/three/examples/jsm/nodes/lighting/SpotLightNode.js +0 -89
  1276. package/node_modules/three/examples/jsm/nodes/loaders/NodeLoader.js +0 -108
  1277. package/node_modules/three/examples/jsm/nodes/loaders/NodeMaterialLoader.js +0 -59
  1278. package/node_modules/three/examples/jsm/nodes/loaders/NodeObjectLoader.js +0 -70
  1279. package/node_modules/three/examples/jsm/nodes/materials/InstancedPointsNodeMaterial.js +0 -162
  1280. package/node_modules/three/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +0 -28
  1281. package/node_modules/three/examples/jsm/nodes/materials/LineDashedNodeMaterial.js +0 -54
  1282. package/node_modules/three/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +0 -28
  1283. package/node_modules/three/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +0 -34
  1284. package/node_modules/three/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +0 -40
  1285. package/node_modules/three/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +0 -65
  1286. package/node_modules/three/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +0 -155
  1287. package/node_modules/three/examples/jsm/nodes/materials/MeshSSSNodeMaterial.js +0 -84
  1288. package/node_modules/three/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +0 -80
  1289. package/node_modules/three/examples/jsm/nodes/materials/NodeMaterial.js +0 -570
  1290. package/node_modules/three/examples/jsm/nodes/materials/PointsNodeMaterial.js +0 -39
  1291. package/node_modules/three/examples/jsm/nodes/materials/SpriteNodeMaterial.js +0 -90
  1292. package/node_modules/three/examples/jsm/nodes/materialx/MaterialXNodes.js +0 -68
  1293. package/node_modules/three/examples/jsm/nodes/math/CondNode.js +0 -86
  1294. package/node_modules/three/examples/jsm/nodes/math/HashNode.js +0 -34
  1295. package/node_modules/three/examples/jsm/nodes/math/MathNode.js +0 -371
  1296. package/node_modules/three/examples/jsm/nodes/math/MathUtils.js +0 -15
  1297. package/node_modules/three/examples/jsm/nodes/math/OperatorNode.js +0 -274
  1298. package/node_modules/three/examples/jsm/nodes/procedural/CheckerNode.js +0 -42
  1299. package/node_modules/three/examples/jsm/nodes/shadernode/ShaderNode.js +0 -634
  1300. package/node_modules/three/examples/jsm/nodes/utils/ArrayElementNode.js +0 -41
  1301. package/node_modules/three/examples/jsm/nodes/utils/ConvertNode.js +0 -65
  1302. package/node_modules/three/examples/jsm/nodes/utils/DiscardNode.js +0 -27
  1303. package/node_modules/three/examples/jsm/nodes/utils/EquirectUVNode.js +0 -33
  1304. package/node_modules/three/examples/jsm/nodes/utils/FunctionOverloadingNode.js +0 -95
  1305. package/node_modules/three/examples/jsm/nodes/utils/JoinNode.js +0 -61
  1306. package/node_modules/three/examples/jsm/nodes/utils/LoopNode.js +0 -198
  1307. package/node_modules/three/examples/jsm/nodes/utils/MatcapUVNode.js +0 -30
  1308. package/node_modules/three/examples/jsm/nodes/utils/MaxMipLevelNode.js +0 -46
  1309. package/node_modules/three/examples/jsm/nodes/utils/OscNode.js +0 -81
  1310. package/node_modules/three/examples/jsm/nodes/utils/PackingNode.js +0 -55
  1311. package/node_modules/three/examples/jsm/nodes/utils/ReflectorNode.js +0 -227
  1312. package/node_modules/three/examples/jsm/nodes/utils/RemapNode.js +0 -42
  1313. package/node_modules/three/examples/jsm/nodes/utils/RotateUVNode.js +0 -35
  1314. package/node_modules/three/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +0 -37
  1315. package/node_modules/three/examples/jsm/nodes/utils/SpriteSheetUVNode.js +0 -41
  1316. package/node_modules/three/examples/jsm/nodes/utils/TimerNode.js +0 -94
  1317. package/node_modules/three/examples/jsm/nodes/utils/TriplanarTexturesNode.js +0 -62
  1318. package/node_modules/three/examples/jsm/objects/InstancedPoints.js +0 -21
  1319. package/node_modules/three/examples/jsm/objects/QuadMesh.js +0 -66
  1320. package/node_modules/three/examples/jsm/renderers/common/Animation.js +0 -47
  1321. package/node_modules/three/examples/jsm/renderers/common/Backend.js +0 -195
  1322. package/node_modules/three/examples/jsm/renderers/common/Background.js +0 -134
  1323. package/node_modules/three/examples/jsm/renderers/common/Binding.js +0 -25
  1324. package/node_modules/three/examples/jsm/renderers/common/Bindings.js +0 -173
  1325. package/node_modules/three/examples/jsm/renderers/common/Buffer.js +0 -38
  1326. package/node_modules/three/examples/jsm/renderers/common/BufferUtils.js +0 -33
  1327. package/node_modules/three/examples/jsm/renderers/common/ChainMap.js +0 -89
  1328. package/node_modules/three/examples/jsm/renderers/common/Color4.js +0 -37
  1329. package/node_modules/three/examples/jsm/renderers/common/ComputePipeline.js +0 -17
  1330. package/node_modules/three/examples/jsm/renderers/common/DataMap.js +0 -54
  1331. package/node_modules/three/examples/jsm/renderers/common/Geometries.js +0 -215
  1332. package/node_modules/three/examples/jsm/renderers/common/Info.js +0 -107
  1333. package/node_modules/three/examples/jsm/renderers/common/Pipeline.js +0 -13
  1334. package/node_modules/three/examples/jsm/renderers/common/PostProcessing.js +0 -25
  1335. package/node_modules/three/examples/jsm/renderers/common/ProgrammableStage.js +0 -20
  1336. package/node_modules/three/examples/jsm/renderers/common/RenderContext.js +0 -41
  1337. package/node_modules/three/examples/jsm/renderers/common/RenderContexts.js +0 -74
  1338. package/node_modules/three/examples/jsm/renderers/common/RenderList.js +0 -186
  1339. package/node_modules/three/examples/jsm/renderers/common/RenderLists.js +0 -38
  1340. package/node_modules/three/examples/jsm/renderers/common/RenderObject.js +0 -178
  1341. package/node_modules/three/examples/jsm/renderers/common/RenderObjects.js +0 -91
  1342. package/node_modules/three/examples/jsm/renderers/common/RenderPipeline.js +0 -16
  1343. package/node_modules/three/examples/jsm/renderers/common/Renderer.js +0 -1247
  1344. package/node_modules/three/examples/jsm/renderers/common/SampledTexture.js +0 -83
  1345. package/node_modules/three/examples/jsm/renderers/common/Sampler.js +0 -18
  1346. package/node_modules/three/examples/jsm/renderers/common/StorageBuffer.js +0 -17
  1347. package/node_modules/three/examples/jsm/renderers/common/StorageBufferAttribute.js +0 -17
  1348. package/node_modules/three/examples/jsm/renderers/common/StorageTexture.js +0 -20
  1349. package/node_modules/three/examples/jsm/renderers/common/Textures.js +0 -354
  1350. package/node_modules/three/examples/jsm/renderers/common/Uniform.js +0 -140
  1351. package/node_modules/three/examples/jsm/renderers/common/UniformBuffer.js +0 -15
  1352. package/node_modules/three/examples/jsm/renderers/common/UniformsGroup.js +0 -299
  1353. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeBuilderState.js +0 -44
  1354. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +0 -49
  1355. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampler.js +0 -15
  1356. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniform.js +0 -135
  1357. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniformsGroup.js +0 -44
  1358. package/node_modules/three/examples/jsm/renderers/common/nodes/Nodes.js +0 -495
  1359. package/node_modules/three/examples/jsm/renderers/webgl/WebGLBackend.js +0 -1362
  1360. package/node_modules/three/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +0 -679
  1361. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLCapabilities.js +0 -36
  1362. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLExtensions.js +0 -36
  1363. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +0 -647
  1364. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/GLSL1NodeBuilder.js +0 -320
  1365. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/SlotNode.js +0 -26
  1366. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js +0 -794
  1367. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js +0 -51
  1368. package/node_modules/three/examples/jsm/renderers/webgpu/WebGPUBackend.js +0 -1321
  1369. package/node_modules/three/examples/jsm/renderers/webgpu/WebGPURenderer.js +0 -53
  1370. package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +0 -1103
  1371. package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +0 -104
  1372. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +0 -287
  1373. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +0 -244
  1374. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +0 -1040
  1375. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +0 -93
  1376. package/node_modules/three/examples/jsm/shaders/MMDToonShader.js +0 -134
  1377. package/node_modules/three/examples/jsm/utils/GPUStatsPanel.js +0 -128
  1378. package/node_modules/three/examples/jsm/utils/PackedPhongMaterial.js +0 -178
  1379. package/node_modules/three/src/renderers/WebGL1Renderer.js +0 -7
  1380. package/node_modules/three/src/renderers/WebGLMultipleRenderTargets.js +0 -82
  1381. package/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -10
  1382. /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
- //events
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
- * @param {Camera} camera Virtual camera used in the scene
76
- * @param {HTMLElement} domElement Renderer's dom element
77
- * @param {Scene} scene The scene to be rendered
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 EventDispatcher {
112
+ class ArcballControls extends Controls {
80
113
 
81
- constructor( camera, domElement, scene = null ) {
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
- this.camera = null;
85
- this.domElement = domElement;
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
- //focus animation
179
- this.focusAnimationTime = 500; //duration of focus animation in ms
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
- this.scaleFactor = 1.1; //zoom/distance multiplier
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
- this.wMax = 20; //maximum angular velocity allowed
197
- this.enableAnimations = true; //if animations should be performed
198
- this.enableGrid = false; //if grid should be showed during pan operation
199
- this.cursorZoom = false; //if wheel zoom should be cursor centered
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
- this.enabled = true;
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.camera, _center.x, _center.y, this.domElement ) );
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.camera, _center.x, _center.y, this.domElement, this._tbRadius ) );
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.camera.isPerspectiveCamera || ! this.enableZoom ) {
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.camera, _center.x, _center.y, this.domElement ) );
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.camera, _center.x, _center.y, this.domElement ) );
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.camera, _center.x, _center.y, this.domElement, this._tbRadius ) );
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.camera, _center.x, _center.y, this.domElement, this._tbRadius ) );
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.camera.isPerspectiveCamera ) {
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.camera.position ).normalize().multiplyScalar( newDistance / x );
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.camera );
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.camera, _center.x, _center.y, this.domElement, true ) );
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.camera, _center.x, _center.y, this.domElement, true ) );
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.camera.getWorldDirection( this._rotationAxis ); //rotation axis
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.camera, _center.x, _center.y, this.domElement ).applyQuaternion( this.camera.quaternion ).multiplyScalar( 1 / this.camera.zoom ).add( this._v3_2 );
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.camera.isOrthographicCamera ) {
1103
+ if ( this.object.isOrthographicCamera ) {
873
1104
 
874
- scalePoint = this.unprojectOnTbPlane( this.camera, _center.x, _center.y, this.domElement )
875
- .applyQuaternion( this.camera.quaternion )
876
- .multiplyScalar( 1 / this.camera.zoom )
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.camera.isPerspectiveCamera ) {
1110
+ } else if ( this.object.isPerspectiveCamera ) {
880
1111
 
881
- scalePoint = this.unprojectOnTbPlane( this.camera, _center.x, _center.y, this.domElement )
882
- .applyQuaternion( this.camera.quaternion )
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.camera.position ).normalize().multiplyScalar( newDistance / x );
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
- * @param {Number} clientX
1020
- * @param {Number} clientY
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
- * @param {Object} action1
1051
- * @param {Object} action2
1052
- * @returns {Boolean} True if action1 and action 2 are the same mouse action, false otherwise
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
- * @param {String} operation The operation to be performed ('PAN', 'ROTATE', 'ZOOM', 'FOV)
1079
- * @param {*} mouse A mouse button (0, 1, 2) or 'WHEEL' for wheel notches
1080
- * @param {*} key The keyboard modifier ('CTRL', 'SHIFT') or null if key is not needed
1081
- * @returns {Boolean} True if the mouse action has been successfully added, false otherwise
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
- * @param {*} mouse A mouse button (0, 1, 2) or 'WHEEL' for wheel notches
1160
- * @param {*} key The keyboard modifier ('CTRL', 'SHIFT') or null if key is not needed
1161
- * @returns {Boolean} True if the operation has been succesfully removed, false otherwise
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
- * @param {*} mouse A mouse button (0, 1, 2) or 'WHEEL' for wheel notches
1183
- * @param {*} key The keyboard modifier ('CTRL', 'SHIFT') or null if key is not needed
1184
- * @returns The operation if it has been found, null otherwise
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
- * @param {Number} mouse Mouse button
1223
- * @param {String} key Keyboard modifier
1224
- * @returns The FSA state obtained from the operation associated to mouse/keyboard combination
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
- * @param {PointerEvent} p1
1263
- * @param {PointerEvent} p2
1264
- * @returns {Number} The angle between two pointers in degrees
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
- * Update a PointerEvent inside current pointerevents array
1274
- * @param {PointerEvent} event
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
- * Apply a transformation matrix, to the camera and gizmos
1293
- * @param {Object} transformation Object containing matrices to apply to camera and gizmos
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.camera.position, this.camera.quaternion, this.camera.scale );
1301
- this.camera.updateMatrix();
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.camera.up.copy( this._upState ).applyQuaternion( this.camera.quaternion );
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.camera );
1571
+ this._tbRadius = this.calculateTbRadius( this.object );
1323
1572
 
1324
1573
  if ( this.adjustNearFar ) {
1325
1574
 
1326
- const cameraDistance = this.camera.position.distanceTo( this._gizmos.position );
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.camera.near = cameraDistance - minNearPos;
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.camera.far = cameraDistance - minFarPos;
1593
+ this.object.far = cameraDistance - minFarPos;
1345
1594
 
1346
- this.camera.updateProjectionMatrix();
1595
+ this.object.updateProjectionMatrix();
1347
1596
 
1348
1597
  } else {
1349
1598
 
1350
1599
  let update = false;
1351
1600
 
1352
- if ( this.camera.near != this._initialNear ) {
1601
+ if ( this.object.near != this._initialNear ) {
1353
1602
 
1354
- this.camera.near = this._initialNear;
1603
+ this.object.near = this._initialNear;
1355
1604
  update = true;
1356
1605
 
1357
1606
  }
1358
1607
 
1359
- if ( this.camera.far != this._initialFar ) {
1608
+ if ( this.object.far != this._initialFar ) {
1360
1609
 
1361
- this.camera.far = this._initialFar;
1610
+ this.object.far = this._initialFar;
1362
1611
  update = true;
1363
1612
 
1364
1613
  }
1365
1614
 
1366
1615
  if ( update ) {
1367
1616
 
1368
- this.camera.updateProjectionMatrix();
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
- * Calculate the angular speed
1380
- * @param {Number} p0 Position at t0
1381
- * @param {Number} p1 Position at t1
1382
- * @param {Number} t0 Initial time in milliseconds
1383
- * @param {Number} t1 Ending time in milliseconds
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
- * Calculate the distance between two pointers
1401
- * @param {PointerEvent} p0 The first pointer
1402
- * @param {PointerEvent} p1 The second pointer
1403
- * @returns {number} The distance between the two pointers
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
- * Calculate the rotation axis as the vector perpendicular between two vectors
1413
- * @param {Vector3} vec1 The first vector
1414
- * @param {Vector3} vec2 The second vector
1415
- * @returns {Vector3} The normalized rotation axis
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
- * Calculate the trackball radius so that gizmo's diamater will be 2/3 of the minimum side of the camera frustum
1429
- * @param {Camera} camera
1430
- * @returns {Number} The trackball radius
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
- * @param {Vector3} point The point of interest
1453
- * @param {Number} size Scale factor
1454
- * @param {Number} amount Amount of operation to be completed (used for focus animations, default is complete full operation)
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.camera.position, this.camera.quaternion, this.camera.scale );
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
- * Draw a grid and add it to the scene
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.camera.isOrthographicCamera ) {
1755
+ if ( this.object.isOrthographicCamera ) {
1494
1756
 
1495
- const width = this.camera.right - this.camera.left;
1496
- const height = this.camera.bottom - this.camera.top;
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.camera.zoom * multiplier;
1502
- divisions = size / tick * this.camera.zoom;
1763
+ size = maxLength / this.object.zoom * multiplier;
1764
+ divisions = size / tick * this.object.zoom;
1503
1765
 
1504
- } else if ( this.camera.isPerspectiveCamera ) {
1766
+ } else if ( this.object.isPerspectiveCamera ) {
1505
1767
 
1506
- const distance = this.camera.position.distanceTo( this._gizmos.position );
1507
- const halfFovV = MathUtils.DEG2RAD * this.camera.fov * 0.5;
1508
- const halfFovH = Math.atan( ( this.camera.aspect ) * Math.tan( halfFovV ) );
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.camera.quaternion );
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.domElement.removeEventListener( 'pointerdown', this._onPointerDown );
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
- * remove the grid from the scene
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
- * Compute the easing out cubic function for ease out effect in animation
1576
- * @param {Number} t The absolute progress of the animation in the bound of 0 (beginning of the) and 1 (ending of animation)
1577
- * @returns {Number} Result of easing out cubic at time t
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
- * Make rotation gizmos more or less visible
1587
- * @param {Boolean} isActive If true, make gizmos more visible
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
- * Calculate the cursor position in NDC
1613
- * @param {number} x Cursor horizontal coordinate within the canvas
1614
- * @param {number} y Cursor vertical coordinate within the canvas
1615
- * @param {HTMLElement} canvas The canvas where the renderer draws its output
1616
- * @returns {Vector2} Cursor normalized position inside the canvas
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
- * Calculate the cursor position inside the canvas x/y coordinates with the origin being in the center of the canvas
1629
- * @param {Number} x Cursor horizontal coordinate within the canvas
1630
- * @param {Number} y Cursor vertical coordinate within the canvas
1631
- * @param {HTMLElement} canvas The canvas where the renderer draws its output
1632
- * @returns {Vector2} Cursor position inside the canvas
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.camera.right - this.camera.left ) * 0.5;
1638
- this._v2_1.y *= ( this.camera.top - this.camera.bottom ) * 0.5;
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
- * Set the camera to be controlled
1645
- * @param {Camera} camera The virtual camera to be controlled
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.camera = camera;
1678
- this.camera.updateProjectionMatrix();
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
- * Set gizmos visibility
1688
- * @param {Boolean} value Value of gizmos visibility
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
- * Set gizmos radius factor and redraws gizmos
1699
- * @param {Float} value Value of radius factor
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.camera );
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
- * @param {Vector3} tbCenter The trackball center
1724
- * @param {number} tbRadius The trackball radius
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.camera.zoom !== 1 ) {
2016
+ if ( this.object.zoom !== 1 ) {
1754
2017
 
1755
2018
  //adapt gizmos size to camera zoom
1756
- const size = 1 / this.camera.zoom;
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
- * Perform animation for focus operation
1793
- * @param {Number} time Instant in which this function is called as performance.now()
1794
- * @param {Vector3} point Point of interest for focus operation
1795
- * @param {Matrix4} cameraMatrix Camera matrix
1796
- * @param {Matrix4} gizmoMatrix Gizmos matrix
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
- * Perform animation for rotation operation
1859
- * @param {Number} time Instant in which this function is called as performance.now()
1860
- * @param {Vector3} rotationAxis Rotation axis
1861
- * @param {number} w0 Initial angular velocity
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
- * Perform pan operation moving camera between two points
1926
- * @param {Vector3} p0 Initial point
1927
- * @param {Vector3} p1 Ending point
1928
- * @param {Boolean} adjust If movement should be adjusted considering camera distance (Perspective only)
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.camera.isOrthographicCamera ) {
2204
+ if ( this.object.isOrthographicCamera ) {
1935
2205
 
1936
2206
  //adjust movement amount
1937
- movement.multiplyScalar( 1 / this.camera.zoom );
2207
+ movement.multiplyScalar( 1 / this.object.zoom );
1938
2208
 
1939
- } else if ( this.camera.isPerspectiveCamera && adjust ) {
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.camera.position.distanceTo( this._gizmos.position );
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.camera.quaternion );
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
- * Reset trackball
2229
+ * Resets the controls.
1960
2230
  */
1961
2231
  reset() {
1962
2232
 
1963
- this.camera.zoom = this._zoom0;
2233
+ this.target.copy( this._target0 );
2234
+ this.object.zoom = this._zoom0;
1964
2235
 
1965
- if ( this.camera.isPerspectiveCamera ) {
2236
+ if ( this.object.isPerspectiveCamera ) {
1966
2237
 
1967
- this.camera.fov = this._fov0;
2238
+ this.object.fov = this._fov0;
1968
2239
 
1969
2240
  }
1970
2241
 
1971
- this.camera.near = this._nearPos;
1972
- this.camera.far = this._farPos;
2242
+ this.object.near = this._nearPos;
2243
+ this.object.far = this._farPos;
1973
2244
  this._cameraMatrixState.copy( this._cameraMatrixState0 );
1974
- this._cameraMatrixState.decompose( this.camera.position, this.camera.quaternion, this.camera.scale );
1975
- this.camera.up.copy( this._up0 );
2245
+ this._cameraMatrixState.decompose( this.object.position, this.object.quaternion, this.object.scale );
2246
+ this.object.up.copy( this._up0 );
1976
2247
 
1977
- this.camera.updateMatrix();
1978
- this.camera.updateProjectionMatrix();
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.camera );
2255
+ this._tbRadius = this.calculateTbRadius( this.object );
1985
2256
  this.makeGizmos( this._gizmos.position, this._tbRadius );
1986
2257
 
1987
- this.camera.lookAt( this._gizmos.position );
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
- * Rotate the camera around an axis passing by trackball's center
1997
- * @param {Vector3} axis Rotation axis
1998
- * @param {number} angle Angle in radians
1999
- * @returns {Object} Object with 'camera' field containing transformation matrix resulting from the operation to be applied to the camera
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.camera.isOrthographicCamera ) {
2022
-
2023
- state = JSON.stringify( { arcballState: {
2024
-
2025
- cameraFar: this.camera.far,
2026
- cameraMatrix: this.camera.matrix,
2027
- cameraNear: this.camera.near,
2028
- cameraUp: this.camera.up,
2029
- cameraZoom: this.camera.zoom,
2030
- gizmoMatrix: this._gizmos.matrix
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.camera.isPerspectiveCamera ) {
2312
+ } else if ( this.object.isPerspectiveCamera ) {
2035
2313
 
2036
- state = JSON.stringify( { arcballState: {
2037
- cameraFar: this.camera.far,
2038
- cameraFov: this.camera.fov,
2039
- cameraMatrix: this.camera.matrix,
2040
- cameraNear: this.camera.near,
2041
- cameraUp: this.camera.up,
2042
- cameraZoom: this.camera.zoom,
2043
- gizmoMatrix: this._gizmos.matrix
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
- * Save the current state of the control. This can later be recover with .reset
2350
+ * Saves the current state of the control. This can later be recover with `reset()`.
2066
2351
  */
2067
2352
  saveState() {
2068
2353
 
2069
- this._cameraMatrixState0.copy( this.camera.matrix );
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.camera.near;
2072
- this._farPos = this.camera.far;
2073
- this._zoom0 = this.camera.zoom;
2074
- this._up0.copy( this.camera.up );
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.camera.isPerspectiveCamera ) {
2365
+ if ( this.object.isPerspectiveCamera ) {
2077
2366
 
2078
- this._fov0 = this.camera.fov;
2367
+ this._fov0 = this.object.fov;
2079
2368
 
2080
2369
  }
2081
2370
 
2082
2371
  }
2083
2372
 
2084
2373
  /**
2085
- * Perform uniform scale operation around a given point
2086
- * @param {Number} size Scale factor
2087
- * @param {Vector3} point Point around which scale
2088
- * @param {Boolean} scaleGizmos If gizmos should be scaled (Perspective only)
2089
- * @returns {Object} Object with 'camera' and 'gizmo' fields containing transformation matrices resulting from the operation to be applied to the camera and gizmos
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.camera.isOrthographicCamera ) {
2387
+ if ( this.object.isOrthographicCamera ) {
2097
2388
 
2098
2389
  //camera zoom
2099
- this.camera.zoom = this._zoomState;
2100
- this.camera.zoom *= size;
2390
+ this.object.zoom = this._zoomState;
2391
+ this.object.zoom *= size;
2101
2392
 
2102
2393
  //check min and max zoom
2103
- if ( this.camera.zoom > this.maxZoom ) {
2394
+ if ( this.object.zoom > this.maxZoom ) {
2104
2395
 
2105
- this.camera.zoom = this.maxZoom;
2396
+ this.object.zoom = this.maxZoom;
2106
2397
  sizeInverse = this._zoomState / this.maxZoom;
2107
2398
 
2108
- } else if ( this.camera.zoom < this.minZoom ) {
2399
+ } else if ( this.object.zoom < this.minZoom ) {
2109
2400
 
2110
- this.camera.zoom = this.minZoom;
2401
+ this.object.zoom = this.minZoom;
2111
2402
  sizeInverse = this._zoomState / this.minZoom;
2112
2403
 
2113
2404
  }
2114
2405
 
2115
- this.camera.updateProjectionMatrix();
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.camera.isPerspectiveCamera ) {
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
- * Set camera fov
2202
- * @param {Number} value fov to be setted
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.camera.isPerspectiveCamera ) {
2499
+ if ( this.object.isPerspectiveCamera ) {
2207
2500
 
2208
- this.camera.fov = MathUtils.clamp( value, this.minFov, this.maxFov );
2209
- this.camera.updateProjectionMatrix();
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
- * Set values in transformation object
2217
- * @param {Matrix4} camera Transformation to be applied to the camera
2218
- * @param {Matrix4} gizmos Transformation to be applied to gizmos
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
- setTransformationMatrices( camera = null, gizmos = null ) {
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
- * Rotate camera around its direction axis passing by a given point by a given angle
2262
- * @param {Vector3} point The point where the rotation axis is passing trough
2263
- * @param {Number} angle Angle in radians
2264
- * @returns The computed transormation matix
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
- * Unproject the cursor on the 3D object surface
2296
- * @param {Vector2} cursor Cursor coordinates in NDC
2297
- * @param {Camera} camera Virtual camera
2298
- * @returns {Vector3} The point of intersection with the model, if exist, null otherwise
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
- * @param {Camera} camera The virtual camera
2326
- * @param {Number} cursorX Cursor horizontal coordinate on screen
2327
- * @param {Number} cursorY Cursor vertical coordinate on screen
2328
- * @param {HTMLElement} canvas The canvas where the renderer draws its output
2329
- * @param {number} tbRadius The trackball radius
2330
- * @returns {Vector3} The unprojected point on the trackball surface
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
- * Unproject the cursor on the plane passing through the center of the trackball orthogonal to the camera
2455
- * @param {Camera} camera The virtual camera
2456
- * @param {Number} cursorX Cursor horizontal coordinate on screen
2457
- * @param {Number} cursorY Cursor vertical coordinate on screen
2458
- * @param {HTMLElement} canvas The canvas where the renderer draws its output
2459
- * @param {Boolean} initialDistance If initial distance between camera and gizmos should be used for calculations instead of current (Perspective only)
2460
- * @returns {Vector3} The unprojected point on the trackball plane
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
- * Update camera and gizmos state
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.camera.matrix );
2849
+ this._cameraMatrixState.copy( this.object.matrix );
2540
2850
  this._gizmoMatrixState.copy( this._gizmos.matrix );
2541
2851
 
2542
- if ( this.camera.isOrthographicCamera ) {
2852
+ if ( this.object.isOrthographicCamera ) {
2543
2853
 
2544
- this._cameraProjectionState.copy( this.camera.projectionMatrix );
2545
- this.camera.updateProjectionMatrix();
2546
- this._zoomState = this.camera.zoom;
2854
+ this._cameraProjectionState.copy( this.object.projectionMatrix );
2855
+ this.object.updateProjectionMatrix();
2856
+ this._zoomState = this.object.zoom;
2547
2857
 
2548
- } else if ( this.camera.isPerspectiveCamera ) {
2858
+ } else if ( this.object.isPerspectiveCamera ) {
2549
2859
 
2550
- this._fovState = this.camera.fov;
2860
+ this._fovState = this.object.fov;
2551
2861
 
2552
2862
  }
2553
2863
 
2554
2864
  }
2555
2865
 
2556
2866
  /**
2557
- * Update the trackball FSA
2558
- * @param {STATE} newState New state of the FSA
2559
- * @param {Boolean} updateMatrices If matriices state should be updated
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.camera );
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.camera.isOrthographicCamera ) {
2896
+ if ( this.object.isOrthographicCamera ) {
2587
2897
 
2588
2898
  //check zoom
2589
- if ( this.camera.zoom > this.maxZoom || this.camera.zoom < this.minZoom ) {
2899
+ if ( this.object.zoom > this.maxZoom || this.object.zoom < this.minZoom ) {
2590
2900
 
2591
- const newZoom = MathUtils.clamp( this.camera.zoom, this.minZoom, this.maxZoom );
2592
- this.applyTransformMatrix( this.scale( newZoom / this.camera.zoom, this._gizmos.position, true ) );
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.camera.isPerspectiveCamera ) {
2906
+ } else if ( this.object.isPerspectiveCamera ) {
2597
2907
 
2598
2908
  //check distance
2599
- const distance = this.camera.position.distanceTo( this._gizmos.position );
2909
+ const distance = this.object.position.distanceTo( this._gizmos.position );
2600
2910
 
2601
- if ( distance > this.maxDistance + EPS || distance < this.minDistance - EPS ) {
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.camera.fov < this.minFov || this.camera.fov > this.maxFov ) {
2920
+ if ( this.object.fov < this.minFov || this.object.fov > this.maxFov ) {
2611
2921
 
2612
- this.camera.fov = MathUtils.clamp( this.camera.fov, this.minFov, this.maxFov );
2613
- this.camera.updateProjectionMatrix();
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.camera );
2928
+ this._tbRadius = this.calculateTbRadius( this.object );
2619
2929
 
2620
- if ( oldRadius < this._tbRadius - EPS || oldRadius > this._tbRadius + EPS ) {
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.camera.lookAt( this._gizmos.position );
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.camera.position, this.camera.quaternion, this.camera.scale );
2961
+ this._cameraMatrixState.decompose( this.object.position, this.object.quaternion, this.object.scale );
2650
2962
 
2651
- this.camera.up.copy( state.arcballState.cameraUp );
2652
- this.camera.near = state.arcballState.cameraNear;
2653
- this.camera.far = state.arcballState.cameraFar;
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.camera.zoom = state.arcballState.cameraZoom;
2967
+ this.object.zoom = state.arcballState.cameraZoom;
2656
2968
 
2657
- if ( this.camera.isPerspectiveCamera ) {
2969
+ if ( this.object.isPerspectiveCamera ) {
2658
2970
 
2659
- this.camera.fov = state.arcballState.cameraFov;
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.camera.updateMatrix();
2667
- this.camera.updateProjectionMatrix();
2978
+ this.object.updateMatrix();
2979
+ this.object.updateProjectionMatrix();
2668
2980
 
2669
2981
  this._gizmos.updateMatrix();
2670
2982
 
2671
- this._tbRadius = this.calculateTbRadius( this.camera );
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.camera.lookAt( this._gizmos.position );
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.camera );
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.camera.isOrthographicCamera ) {
3413
+ if ( this.object.isOrthographicCamera ) {
3102
3414
 
3103
- scalePoint = this.unprojectOnTbPlane( this.camera, event.clientX, event.clientY, this.domElement ).applyQuaternion( this.camera.quaternion ).multiplyScalar( 1 / this.camera.zoom ).add( this._gizmos.position );
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.camera.isPerspectiveCamera ) {
3417
+ } else if ( this.object.isPerspectiveCamera ) {
3106
3418
 
3107
- scalePoint = this.unprojectOnTbPlane( this.camera, event.clientX, event.clientY, this.domElement ).applyQuaternion( this.camera.quaternion ).add( this._gizmos.position );
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.camera.isPerspectiveCamera ) {
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.camera.fov * 0.5 );
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 );