three-stdlib 2.16.0 → 2.16.2

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 (1219) hide show
  1. package/BufferGeometryUtils-1a7a235c.js +655 -0
  2. package/BufferGeometryUtils-971dfde3.js +1 -0
  3. package/Nodes-4f766d71.js +471 -0
  4. package/Nodes-9aa16d74.js +1 -0
  5. package/animation/AnimationClipCreator.cjs.js +1 -0
  6. package/animation/AnimationClipCreator.js +52 -32
  7. package/animation/CCDIKSolver.cjs.js +1 -0
  8. package/animation/CCDIKSolver.js +143 -64
  9. package/animation/MMDAnimationHelper.cjs.js +1 -0
  10. package/animation/MMDAnimationHelper.js +341 -150
  11. package/animation/MMDPhysics.cjs.js +1 -0
  12. package/animation/MMDPhysics.js +361 -154
  13. package/cameras/CinematicCamera.cjs.js +1 -0
  14. package/cameras/CinematicCamera.js +77 -67
  15. package/controls/ArcballControls.cjs.js +1 -0
  16. package/controls/ArcballControls.js +1449 -544
  17. package/controls/DeviceOrientationControls.cjs.js +1 -0
  18. package/controls/DeviceOrientationControls.js +97 -52
  19. package/controls/DragControls.cjs.js +1 -0
  20. package/controls/DragControls.js +187 -85
  21. package/controls/FirstPersonControls.cjs.js +1 -0
  22. package/controls/FirstPersonControls.js +193 -123
  23. package/controls/FlyControls.cjs.js +1 -0
  24. package/controls/FlyControls.d.ts +5 -4
  25. package/controls/FlyControls.js +160 -90
  26. package/controls/OrbitControls.cjs.js +1 -0
  27. package/controls/OrbitControls.js +481 -232
  28. package/controls/PointerLockControls.cjs.js +1 -0
  29. package/controls/PointerLockControls.js +99 -63
  30. package/controls/TrackballControls.cjs.js +1 -0
  31. package/controls/TrackballControls.js +383 -211
  32. package/controls/TransformControls.cjs.js +1 -0
  33. package/controls/TransformControls.js +782 -575
  34. package/controls/experimental/CameraControls.cjs.js +1 -0
  35. package/controls/experimental/CameraControls.js +609 -329
  36. package/csm/CSM.cjs.js +1 -0
  37. package/csm/CSM.js +108 -47
  38. package/csm/CSMFrustum.cjs.js +1 -0
  39. package/csm/CSMFrustum.js +29 -14
  40. package/csm/CSMHelper.cjs.js +1 -0
  41. package/csm/CSMHelper.js +34 -20
  42. package/csm/CSMShader.cjs.js +1 -0
  43. package/csm/CSMShader.js +11 -7
  44. package/curves/CurveExtras.cjs.js +1 -0
  45. package/curves/CurveExtras.js +115 -73
  46. package/curves/NURBSCurve.cjs.js +1 -0
  47. package/curves/NURBSCurve.js +43 -15
  48. package/curves/NURBSSurface.cjs.js +1 -0
  49. package/curves/NURBSSurface.js +27 -11
  50. package/curves/NURBSUtils.cjs.js +1 -0
  51. package/curves/NURBSUtils.js +203 -54
  52. package/custom.d.cjs.js +1 -0
  53. package/{shaders/types.mjs → custom.d.js} +0 -0
  54. package/deprecated/Geometry.cjs.js +1 -0
  55. package/deprecated/Geometry.js +486 -191
  56. package/effects/AnaglyphEffect.cjs.js +1 -0
  57. package/effects/AnaglyphEffect.js +60 -95
  58. package/effects/AsciiEffect.cjs.js +1 -0
  59. package/effects/AsciiEffect.js +110 -80
  60. package/effects/OutlineEffect.cjs.js +1 -0
  61. package/effects/OutlineEffect.js +204 -121
  62. package/effects/ParallaxBarrierEffect.cjs.js +1 -0
  63. package/effects/ParallaxBarrierEffect.js +38 -39
  64. package/effects/PeppersGhostEffect.cjs.js +1 -0
  65. package/effects/PeppersGhostEffect.js +68 -19
  66. package/effects/StereoEffect.cjs.js +1 -0
  67. package/effects/StereoEffect.js +16 -12
  68. package/environments/RoomEnvironment.cjs.js +1 -0
  69. package/environments/RoomEnvironment.js +47 -52
  70. package/exporters/ColladaExporter.cjs.js +1 -0
  71. package/exporters/ColladaExporter.js +241 -115
  72. package/exporters/DRACOExporter.cjs.js +1 -0
  73. package/exporters/DRACOExporter.js +121 -67
  74. package/exporters/GLTFExporter.cjs.js +1 -0
  75. package/exporters/GLTFExporter.js +1014 -463
  76. package/exporters/MMDExporter.cjs.js +1 -0
  77. package/exporters/MMDExporter.js +102 -44
  78. package/exporters/OBJExporter.cjs.js +1 -0
  79. package/exporters/OBJExporter.js +140 -78
  80. package/exporters/PLYExporter.cjs.js +1 -0
  81. package/exporters/PLYExporter.js +154 -93
  82. package/exporters/STLExporter.cjs.js +1 -0
  83. package/exporters/STLExporter.js +81 -30
  84. package/exporters/USDZExporter.cjs.js +1 -0
  85. package/exporters/USDZExporter.js +144 -84
  86. package/geometries/BoxLineGeometry.cjs.js +1 -0
  87. package/geometries/BoxLineGeometry.js +14 -7
  88. package/geometries/ConvexGeometry.cjs.js +1 -0
  89. package/geometries/ConvexGeometry.js +23 -14
  90. package/geometries/DecalGeometry.cjs.js +1 -0
  91. package/geometries/DecalGeometry.js +162 -108
  92. package/geometries/LightningStrike.cjs.js +1 -0
  93. package/geometries/LightningStrike.js +294 -101
  94. package/geometries/ParametricGeometries.cjs.js +1 -0
  95. package/geometries/ParametricGeometries.js +76 -26
  96. package/geometries/ParametricGeometry.cjs.js +1 -0
  97. package/geometries/ParametricGeometry.js +48 -24
  98. package/geometries/RoundedBoxGeometry.cjs.js +1 -0
  99. package/geometries/RoundedBoxGeometry.js +64 -33
  100. package/geometries/TeapotGeometry.cjs.js +1 -0
  101. package/geometries/TeapotGeometry.js +174 -1434
  102. package/geometries/TextGeometry.cjs.js +1 -0
  103. package/geometries/TextGeometry.js +17 -9
  104. package/helpers/LightProbeHelper.cjs.js +1 -0
  105. package/helpers/LightProbeHelper.js +21 -53
  106. package/helpers/PositionalAudioHelper.cjs.js +1 -0
  107. package/helpers/PositionalAudioHelper.js +30 -23
  108. package/helpers/RectAreaLightHelper.cjs.js +1 -0
  109. package/helpers/RectAreaLightHelper.js +33 -17
  110. package/helpers/VertexNormalsHelper.cjs.js +1 -0
  111. package/helpers/VertexNormalsHelper.js +41 -20
  112. package/helpers/VertexTangentsHelper.cjs.js +1 -0
  113. package/helpers/VertexTangentsHelper.js +36 -18
  114. package/index.cjs.js +1 -0
  115. package/index.js +333 -969
  116. package/interactive/InteractiveGroup.cjs.js +1 -0
  117. package/interactive/InteractiveGroup.d.ts +5 -0
  118. package/interactive/InteractiveGroup.js +87 -0
  119. package/interactive/SelectionBox.cjs.js +1 -0
  120. package/interactive/SelectionBox.js +46 -31
  121. package/interactive/SelectionHelper.cjs.js +1 -0
  122. package/interactive/SelectionHelper.js +21 -16
  123. package/libs/MeshoptDecoder.cjs.js +1 -0
  124. package/libs/MeshoptDecoder.js +58 -147
  125. package/libs/MotionControllers.cjs.js +1 -0
  126. package/libs/MotionControllers.js +208 -66
  127. package/lights/LightProbeGenerator.cjs.js +1 -0
  128. package/lights/LightProbeGenerator.js +96 -40
  129. package/lights/RectAreaLightUniformsLib.cjs.js +1 -0
  130. package/lights/RectAreaLightUniformsLib.js +9 -32842
  131. package/lines/Line2.cjs.js +1 -0
  132. package/lines/Line2.js +12 -9
  133. package/lines/LineGeometry.cjs.js +1 -0
  134. package/lines/LineGeometry.js +19 -7
  135. package/lines/LineMaterial.cjs.js +1 -0
  136. package/lines/LineMaterial.js +89 -51
  137. package/lines/LineSegments2.cjs.js +1 -0
  138. package/lines/LineSegments2.js +165 -56
  139. package/lines/LineSegmentsGeometry.cjs.js +1 -0
  140. package/lines/LineSegmentsGeometry.js +71 -29
  141. package/lines/Wireframe.cjs.js +1 -0
  142. package/lines/Wireframe.js +29 -15
  143. package/lines/WireframeGeometry2.cjs.js +1 -0
  144. package/lines/WireframeGeometry2.js +9 -8
  145. package/loaders/3DMLoader.cjs.js +1 -0
  146. package/loaders/3DMLoader.js +469 -234
  147. package/loaders/3MFLoader.cjs.js +1 -0
  148. package/loaders/3MFLoader.js +555 -340
  149. package/loaders/AMFLoader.cjs.js +1 -0
  150. package/loaders/AMFLoader.js +219 -114
  151. package/loaders/AssimpLoader.cjs.js +1 -0
  152. package/loaders/AssimpLoader.js +725 -328
  153. package/loaders/BVHLoader.cjs.js +1 -0
  154. package/loaders/BVHLoader.js +200 -94
  155. package/loaders/BasisTextureLoader.cjs.js +1 -0
  156. package/loaders/BasisTextureLoader.js +357 -229
  157. package/loaders/ColladaLoader.cjs.js +1 -0
  158. package/loaders/ColladaLoader.js +1522 -932
  159. package/loaders/DDSLoader.cjs.js +1 -0
  160. package/loaders/DDSLoader.js +108 -42
  161. package/loaders/DRACOLoader.cjs.js +1 -0
  162. package/loaders/DRACOLoader.js +210 -103
  163. package/loaders/EXRLoader.cjs.js +1 -0
  164. package/loaders/EXRLoader.js +809 -461
  165. package/loaders/FBXLoader.cjs.js +1 -0
  166. package/loaders/FBXLoader.js +1397 -842
  167. package/loaders/FontLoader.cjs.js +1 -0
  168. package/loaders/FontLoader.js +66 -33
  169. package/loaders/GCodeLoader.cjs.js +1 -0
  170. package/loaders/GCodeLoader.js +111 -63
  171. package/loaders/GLTFLoader.cjs.js +1 -0
  172. package/loaders/GLTFLoader.js +1484 -771
  173. package/loaders/HDRCubeTextureLoader.cjs.js +1 -0
  174. package/loaders/HDRCubeTextureLoader.js +50 -45
  175. package/loaders/KMZLoader.cjs.js +1 -0
  176. package/loaders/KMZLoader.js +55 -42
  177. package/loaders/KTX2Loader.cjs.js +1 -0
  178. package/loaders/KTX2Loader.js +362 -229
  179. package/loaders/KTXLoader.cjs.js +1 -0
  180. package/loaders/KTXLoader.js +99 -37
  181. package/loaders/LDrawLoader.cjs.js +1 -0
  182. package/loaders/LDrawLoader.js +746 -313
  183. package/loaders/LUT3dlLoader.cjs.js +1 -0
  184. package/loaders/LUT3dlLoader.js +62 -50
  185. package/loaders/LUTCubeLoader.cjs.js +1 -0
  186. package/loaders/LUTCubeLoader.js +56 -45
  187. package/loaders/LWOLoader.cjs.js +1 -0
  188. package/loaders/LWOLoader.js +339 -227
  189. package/loaders/LottieLoader.cjs.js +1 -0
  190. package/loaders/LottieLoader.js +38 -36
  191. package/loaders/MD2Loader.cjs.js +1 -0
  192. package/loaders/MD2Loader.js +91 -248
  193. package/loaders/MDDLoader.cjs.js +1 -0
  194. package/loaders/MDDLoader.js +45 -25
  195. package/loaders/MMDLoader.cjs.js +1 -0
  196. package/loaders/MMDLoader.js +795 -359
  197. package/loaders/MTLLoader.cjs.js +1 -0
  198. package/loaders/MTLLoader.js +201 -91
  199. package/loaders/NRRDLoader.cjs.js +1 -0
  200. package/loaders/NRRDLoader.js +263 -182
  201. package/loaders/NodeMaterialLoader.cjs.js +1 -0
  202. package/loaders/NodeMaterialLoader.js +14 -121
  203. package/loaders/OBJLoader.cjs.js +1 -0
  204. package/loaders/OBJLoader.js +283 -161
  205. package/loaders/PCDLoader.cjs.js +1 -0
  206. package/loaders/PCDLoader.js +164 -145
  207. package/loaders/PDBLoader.cjs.js +1 -0
  208. package/loaders/PDBLoader.js +63 -45
  209. package/loaders/PLYLoader.cjs.js +1 -0
  210. package/loaders/PLYLoader.js +203 -106
  211. package/loaders/PRWMLoader.cjs.js +1 -0
  212. package/loaders/PRWMLoader.js +110 -73
  213. package/loaders/PVRLoader.cjs.js +1 -0
  214. package/loaders/PVRLoader.js +93 -32
  215. package/loaders/RGBELoader.cjs.js +1 -0
  216. package/loaders/RGBELoader.js +233 -96
  217. package/loaders/RGBMLoader.cjs.js +1 -0
  218. package/loaders/RGBMLoader.js +514 -344
  219. package/loaders/STLLoader.cjs.js +1 -0
  220. package/loaders/STLLoader.js +165 -59
  221. package/loaders/SVGLoader.cjs.js +1 -0
  222. package/loaders/SVGLoader.js +851 -481
  223. package/loaders/TDSLoader.cjs.js +1 -0
  224. package/loaders/TDSLoader.js +527 -137
  225. package/loaders/TGALoader.cjs.js +1 -0
  226. package/loaders/TGALoader.js +205 -94
  227. package/loaders/TTFLoader.cjs.js +1 -0
  228. package/loaders/TTFLoader.js +79 -58
  229. package/loaders/TiltLoader.cjs.js +1 -0
  230. package/loaders/TiltLoader.js +167 -129
  231. package/loaders/VOXLoader.cjs.js +1 -0
  232. package/loaders/VOXLoader.js +84 -320
  233. package/loaders/VRMLLoader.cjs.js +1 -0
  234. package/loaders/VRMLLoader.js +1268 -786
  235. package/loaders/VRMLoader.cjs.js +1 -0
  236. package/loaders/VRMLoader.js +31 -23
  237. package/loaders/VTKLoader.cjs.js +1 -0
  238. package/loaders/VTKLoader.js +407 -219
  239. package/loaders/XLoader.cjs.js +1 -0
  240. package/loaders/XLoader.js +1259 -1083
  241. package/loaders/XYZLoader.cjs.js +1 -0
  242. package/loaders/XYZLoader.js +34 -28
  243. package/loaders/lwo/IFFParser.cjs.js +1 -0
  244. package/loaders/lwo/IFFParser.js +492 -238
  245. package/loaders/lwo/LWO2Parser.cjs.js +1 -0
  246. package/loaders/lwo/LWO2Parser.js +279 -176
  247. package/loaders/lwo/LWO3Parser.cjs.js +1 -0
  248. package/loaders/lwo/LWO3Parser.js +247 -160
  249. package/math/Capsule.cjs.js +1 -0
  250. package/math/Capsule.js +43 -56
  251. package/math/ColorConverter.cjs.js +1 -0
  252. package/math/ColorConverter.js +32 -18
  253. package/math/ConvexHull.cjs.js +1 -0
  254. package/math/ConvexHull.js +357 -97
  255. package/math/ImprovedNoise.cjs.js +1 -0
  256. package/math/ImprovedNoise.js +32 -282
  257. package/math/Lut.cjs.js +1 -0
  258. package/math/Lut.js +35 -51
  259. package/math/MeshSurfaceSampler.cjs.js +1 -0
  260. package/math/MeshSurfaceSampler.js +68 -25
  261. package/math/OBB.cjs.js +1 -0
  262. package/math/OBB.js +152 -91
  263. package/math/Octree.cjs.js +1 -0
  264. package/math/Octree.js +139 -76
  265. package/math/SimplexNoise.cjs.js +1 -0
  266. package/math/SimplexNoise.js +238 -217
  267. package/misc/ConvexObjectBreaker.cjs.js +1 -0
  268. package/misc/ConvexObjectBreaker.js +185 -79
  269. package/misc/GPUComputationRenderer.cjs.js +1 -0
  270. package/misc/GPUComputationRenderer.js +194 -69
  271. package/misc/Gyroscope.cjs.js +1 -0
  272. package/misc/Gyroscope.js +22 -16
  273. package/misc/MD2Character.cjs.js +1 -0
  274. package/misc/MD2Character.js +74 -52
  275. package/misc/MD2CharacterComplex.cjs.js +1 -0
  276. package/misc/MD2CharacterComplex.js +163 -112
  277. package/misc/MorphAnimMesh.cjs.js +1 -0
  278. package/misc/MorphAnimMesh.js +28 -20
  279. package/misc/MorphBlendMesh.cjs.js +1 -0
  280. package/misc/MorphBlendMesh.js +69 -45
  281. package/misc/ProgressiveLightmap.cjs.js +1 -0
  282. package/misc/ProgressiveLightmap.js +187 -70
  283. package/misc/RollerCoaster.cjs.js +1 -0
  284. package/misc/RollerCoaster.js +135 -106
  285. package/misc/TubePainter.cjs.js +1 -0
  286. package/misc/TubePainter.js +92 -74
  287. package/misc/Volume.cjs.js +1 -0
  288. package/misc/Volume.js +270 -108
  289. package/misc/VolumeSlice.cjs.js +1 -0
  290. package/misc/VolumeSlice.js +122 -34
  291. package/misc/WebGL.cjs.js +1 -0
  292. package/misc/WebGL.js +34 -37
  293. package/modifiers/CurveModifier.cjs.js +1 -0
  294. package/modifiers/CurveModifier.js +151 -46
  295. package/modifiers/EdgeSplitModifier.cjs.js +1 -0
  296. package/modifiers/EdgeSplitModifier.js +90 -46
  297. package/modifiers/SimplifyModifier.cjs.js +1 -0
  298. package/modifiers/SimplifyModifier.js +202 -77
  299. package/modifiers/TessellateModifier.cjs.js +1 -0
  300. package/modifiers/TessellateModifier.js +90 -65
  301. package/nodes/Nodes.cjs.js +1 -0
  302. package/nodes/Nodes.js +140 -274
  303. package/nodes/ShaderNode.cjs.js +1 -0
  304. package/nodes/ShaderNode.js +196 -296
  305. package/nodes/accessors/BufferNode.cjs.js +1 -0
  306. package/nodes/accessors/BufferNode.js +8 -4
  307. package/nodes/accessors/CameraNode.cjs.js +1 -0
  308. package/nodes/accessors/CameraNode.js +25 -20
  309. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  310. package/nodes/accessors/CubeTextureNode.js +26 -14
  311. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  312. package/nodes/accessors/MaterialNode.js +53 -43
  313. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  314. package/nodes/accessors/MaterialReferenceNode.js +6 -3
  315. package/nodes/accessors/ModelNode.cjs.js +1 -0
  316. package/nodes/accessors/ModelNode.js +5 -3
  317. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  318. package/nodes/accessors/ModelViewProjectionNode.js +13 -14
  319. package/nodes/accessors/NormalNode.cjs.js +1 -0
  320. package/nodes/accessors/NormalNode.js +39 -40
  321. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  322. package/nodes/accessors/Object3DNode.js +50 -40
  323. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  324. package/nodes/accessors/PointUVNode.js +9 -5
  325. package/nodes/accessors/PositionNode.cjs.js +1 -0
  326. package/nodes/accessors/PositionNode.js +41 -42
  327. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  328. package/nodes/accessors/ReferenceNode.js +17 -10
  329. package/nodes/accessors/ReflectNode.cjs.js +1 -0
  330. package/nodes/accessors/ReflectNode.js +26 -23
  331. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  332. package/nodes/accessors/SkinningNode.js +48 -46
  333. package/nodes/accessors/TextureNode.cjs.js +1 -0
  334. package/nodes/accessors/TextureNode.js +29 -14
  335. package/nodes/accessors/UVNode.cjs.js +1 -0
  336. package/nodes/accessors/UVNode.js +11 -5
  337. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  338. package/nodes/core/ArrayUniformNode.js +7 -3
  339. package/nodes/core/AttributeNode.cjs.js +1 -0
  340. package/nodes/core/AttributeNode.js +12 -5
  341. package/nodes/core/BypassNode.cjs.js +1 -0
  342. package/nodes/core/BypassNode.js +12 -5
  343. package/nodes/core/CodeNode.cjs.js +1 -0
  344. package/nodes/core/CodeNode.js +12 -4
  345. package/nodes/core/ConstNode.cjs.js +1 -0
  346. package/nodes/core/ConstNode.js +7 -3
  347. package/nodes/core/ContextNode.cjs.js +1 -0
  348. package/nodes/core/ContextNode.js +8 -3
  349. package/nodes/core/ExpressionNode.cjs.js +1 -0
  350. package/nodes/core/ExpressionNode.js +9 -5
  351. package/nodes/core/FunctionCallNode.cjs.js +1 -0
  352. package/nodes/core/FunctionCallNode.js +15 -6
  353. package/nodes/core/FunctionNode.cjs.js +1 -0
  354. package/nodes/core/FunctionNode.js +25 -10
  355. package/nodes/core/InputNode.cjs.js +1 -0
  356. package/nodes/core/InputNode.js +23 -12
  357. package/nodes/core/Node.cjs.js +1 -0
  358. package/nodes/core/Node.js +75 -35
  359. package/nodes/core/NodeAttribute.cjs.js +1 -0
  360. package/nodes/core/NodeAttribute.js +4 -2
  361. package/nodes/core/NodeBuilder.cjs.js +1 -0
  362. package/nodes/core/NodeBuilder.js +224 -110
  363. package/nodes/core/NodeCode.cjs.js +1 -0
  364. package/nodes/core/NodeCode.js +7 -4
  365. package/nodes/core/NodeFrame.cjs.js +1 -0
  366. package/nodes/core/NodeFrame.js +12 -9
  367. package/nodes/core/NodeFunction.cjs.js +1 -0
  368. package/nodes/core/NodeFunction.js +17 -0
  369. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  370. package/nodes/core/NodeFunctionInput.js +5 -3
  371. package/nodes/core/NodeKeywords.cjs.js +1 -0
  372. package/nodes/core/NodeKeywords.js +16 -5
  373. package/nodes/core/NodeParser.cjs.js +1 -0
  374. package/nodes/core/NodeParser.js +8 -0
  375. package/nodes/core/NodeUniform.cjs.js +1 -0
  376. package/nodes/core/NodeUniform.js +7 -3
  377. package/nodes/core/NodeUtils.cjs.js +1 -0
  378. package/nodes/core/NodeUtils.js +43 -39
  379. package/nodes/core/NodeVar.cjs.js +1 -0
  380. package/nodes/core/NodeVar.js +4 -2
  381. package/nodes/core/NodeVary.cjs.js +1 -0
  382. package/nodes/core/NodeVary.js +4 -2
  383. package/nodes/core/PropertyNode.cjs.js +1 -0
  384. package/nodes/core/PropertyNode.js +10 -4
  385. package/nodes/core/TempNode.cjs.js +1 -0
  386. package/nodes/core/TempNode.js +11 -5
  387. package/nodes/core/UniformNode.cjs.js +1 -0
  388. package/nodes/core/UniformNode.js +10 -4
  389. package/nodes/core/VarNode.cjs.js +1 -0
  390. package/nodes/core/VarNode.js +11 -3
  391. package/nodes/core/VaryNode.cjs.js +1 -0
  392. package/nodes/core/VaryNode.js +15 -6
  393. package/nodes/core/constants.cjs.js +1 -0
  394. package/nodes/core/constants.js +7 -20
  395. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  396. package/nodes/display/ColorSpaceNode.js +38 -34
  397. package/nodes/display/NormalMapNode.cjs.js +1 -0
  398. package/nodes/display/NormalMapNode.js +53 -35
  399. package/nodes/fog/FogNode.cjs.js +1 -0
  400. package/nodes/fog/FogNode.js +9 -5
  401. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  402. package/nodes/fog/FogRangeNode.js +9 -5
  403. package/nodes/functions/BSDFs.cjs.js +1 -0
  404. package/nodes/functions/BSDFs.js +118 -61
  405. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  406. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  407. package/nodes/lights/LightContextNode.cjs.js +1 -0
  408. package/nodes/lights/LightContextNode.js +23 -14
  409. package/nodes/lights/LightNode.cjs.js +1 -0
  410. package/nodes/lights/LightNode.js +31 -27
  411. package/nodes/lights/LightsNode.cjs.js +1 -0
  412. package/nodes/lights/LightsNode.js +28 -9
  413. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  414. package/nodes/loaders/NodeLoader.js +42 -27
  415. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  416. package/nodes/loaders/NodeMaterialLoader.js +10 -4
  417. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  418. package/nodes/loaders/NodeObjectLoader.js +19 -9
  419. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  420. package/nodes/materials/LineBasicNodeMaterial.js +10 -5
  421. package/nodes/materials/Materials.cjs.js +1 -0
  422. package/nodes/materials/Materials.js +17 -14
  423. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  424. package/nodes/materials/MeshBasicNodeMaterial.js +10 -5
  425. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -0
  426. package/nodes/materials/MeshStandardNodeMaterial.js +8 -5
  427. package/nodes/materials/NodeMaterial.cjs.js +1 -0
  428. package/nodes/materials/NodeMaterial.js +36 -20
  429. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  430. package/nodes/materials/PointsNodeMaterial.js +10 -5
  431. package/nodes/math/CondNode.cjs.js +1 -0
  432. package/nodes/math/CondNode.js +23 -11
  433. package/nodes/math/MathNode.cjs.js +1 -0
  434. package/nodes/math/MathNode.js +142 -98
  435. package/nodes/math/OperatorNode.cjs.js +1 -0
  436. package/nodes/math/OperatorNode.js +46 -24
  437. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  438. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  439. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  440. package/nodes/parsers/GLSLNodeParser.js +13 -0
  441. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  442. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  443. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  444. package/nodes/parsers/WGSLNodeParser.js +13 -0
  445. package/nodes/procedural/CheckerNode.cjs.js +1 -0
  446. package/nodes/procedural/CheckerNode.js +19 -13
  447. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  448. package/nodes/utils/ArrayElementNode.js +8 -4
  449. package/nodes/utils/ConvertNode.cjs.js +1 -0
  450. package/nodes/utils/ConvertNode.js +8 -3
  451. package/nodes/utils/JoinNode.cjs.js +1 -0
  452. package/nodes/utils/JoinNode.js +11 -7
  453. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  454. package/nodes/utils/MatcapUVNode.js +11 -8
  455. package/nodes/utils/OscNode.cjs.js +1 -0
  456. package/nodes/utils/OscNode.js +33 -27
  457. package/nodes/utils/SplitNode.cjs.js +1 -0
  458. package/nodes/utils/SplitNode.js +20 -6
  459. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  460. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  461. package/nodes/utils/TimerNode.cjs.js +1 -0
  462. package/nodes/utils/TimerNode.js +24 -20
  463. package/objects/GroundProjectedEnv.cjs.js +1 -0
  464. package/objects/GroundProjectedEnv.js +37 -22
  465. package/objects/Lensflare.cjs.js +1 -0
  466. package/objects/Lensflare.js +156 -86
  467. package/objects/LightningStorm.cjs.js +1 -0
  468. package/objects/LightningStorm.js +102 -38
  469. package/objects/MarchingCubes.cjs.js +1 -0
  470. package/objects/MarchingCubes.js +303 -150
  471. package/objects/Reflector.cjs.js +1 -0
  472. package/objects/Reflector.js +72 -50
  473. package/objects/ReflectorForSSRPass.cjs.js +1 -0
  474. package/objects/ReflectorForSSRPass.js +131 -80
  475. package/objects/ReflectorRTT.cjs.js +1 -0
  476. package/objects/ReflectorRTT.js +7 -6
  477. package/objects/Refractor.cjs.js +1 -0
  478. package/objects/Refractor.js +106 -64
  479. package/objects/ShadowMesh.cjs.js +1 -0
  480. package/objects/ShadowMesh.js +17 -8
  481. package/objects/Sky.cjs.js +1 -0
  482. package/objects/Sky.js +80 -119
  483. package/objects/Water.cjs.js +1 -0
  484. package/objects/Water.js +127 -83
  485. package/objects/Water2.cjs.js +1 -0
  486. package/objects/Water2.js +108 -72
  487. package/offscreen/jank.cjs.js +1 -0
  488. package/offscreen/jank.js +14 -10
  489. package/offscreen/offscreen.cjs.js +1 -0
  490. package/offscreen/offscreen.js +5 -4
  491. package/offscreen/scene.cjs.js +1 -0
  492. package/offscreen/scene.js +48 -45
  493. package/package.json +3 -3
  494. package/physics/AmmoPhysics.cjs.js +1 -0
  495. package/physics/AmmoPhysics.js +71 -30
  496. package/postprocessing/AdaptiveToneMappingPass.cjs.js +1 -0
  497. package/postprocessing/AdaptiveToneMappingPass.js +123 -97
  498. package/postprocessing/AfterimagePass.cjs.js +1 -0
  499. package/postprocessing/AfterimagePass.js +49 -28
  500. package/postprocessing/BloomPass.cjs.js +1 -0
  501. package/postprocessing/BloomPass.js +69 -43
  502. package/postprocessing/BokehPass.cjs.js +1 -0
  503. package/postprocessing/BokehPass.js +69 -39
  504. package/postprocessing/ClearPass.cjs.js +1 -0
  505. package/postprocessing/ClearPass.js +25 -10
  506. package/postprocessing/CubeTexturePass.cjs.js +1 -0
  507. package/postprocessing/CubeTexturePass.js +27 -28
  508. package/postprocessing/DotScreenPass.cjs.js +1 -0
  509. package/postprocessing/DotScreenPass.js +32 -24
  510. package/postprocessing/EffectComposer.cjs.js +1 -0
  511. package/postprocessing/EffectComposer.js +86 -39
  512. package/postprocessing/FilmPass.cjs.js +1 -0
  513. package/postprocessing/FilmPass.js +30 -25
  514. package/postprocessing/GlitchPass.cjs.js +1 -0
  515. package/postprocessing/GlitchPass.js +61 -38
  516. package/postprocessing/HalftonePass.cjs.js +1 -0
  517. package/postprocessing/HalftonePass.js +39 -19
  518. package/postprocessing/LUTPass.cjs.js +1 -0
  519. package/postprocessing/LUTPass.js +38 -13
  520. package/postprocessing/MaskPass.cjs.js +1 -0
  521. package/postprocessing/MaskPass.js +38 -19
  522. package/postprocessing/OutlinePass.cjs.js +1 -0
  523. package/postprocessing/OutlinePass.js +277 -135
  524. package/postprocessing/Pass.cjs.js +1 -0
  525. package/postprocessing/Pass.js +44 -20
  526. package/postprocessing/RenderPass.cjs.js +1 -0
  527. package/postprocessing/RenderPass.js +36 -13
  528. package/postprocessing/RenderPixelatedPass.cjs.js +1 -0
  529. package/postprocessing/RenderPixelatedPass.js +58 -44
  530. package/postprocessing/SAOPass.cjs.js +1 -0
  531. package/postprocessing/SAOPass.js +189 -154
  532. package/postprocessing/SMAAPass.cjs.js +1 -0
  533. package/postprocessing/SMAAPass.js +84 -64
  534. package/postprocessing/SSAARenderPass.cjs.js +1 -0
  535. package/postprocessing/SSAARenderPass.js +69 -121
  536. package/postprocessing/SSAOPass.cjs.js +1 -0
  537. package/postprocessing/SSAOPass.js +172 -123
  538. package/postprocessing/SSRPass.cjs.js +1 -0
  539. package/postprocessing/SSRPass.js +280 -211
  540. package/postprocessing/SavePass.cjs.js +1 -0
  541. package/postprocessing/SavePass.js +25 -20
  542. package/postprocessing/ShaderPass.cjs.js +1 -0
  543. package/postprocessing/ShaderPass.js +30 -14
  544. package/postprocessing/TAARenderPass.cjs.js +1 -0
  545. package/postprocessing/TAARenderPass.js +61 -42
  546. package/postprocessing/TexturePass.cjs.js +1 -0
  547. package/postprocessing/TexturePass.js +22 -21
  548. package/postprocessing/UnrealBloomPass.cjs.js +1 -0
  549. package/postprocessing/UnrealBloomPass.js +213 -105
  550. package/renderers/CSS2DRenderer.cjs.js +1 -0
  551. package/renderers/CSS2DRenderer.js +56 -44
  552. package/renderers/CSS3DRenderer.cjs.js +1 -0
  553. package/renderers/CSS3DRenderer.js +86 -53
  554. package/renderers/Projector.cjs.js +1 -0
  555. package/renderers/Projector.js +274 -107
  556. package/renderers/SVGRenderer.cjs.js +1 -0
  557. package/renderers/SVGRenderer.js +182 -72
  558. package/renderers/nodes/accessors/CameraNode.cjs.js +1 -0
  559. package/renderers/nodes/accessors/CameraNode.js +40 -29
  560. package/renderers/nodes/accessors/ModelNode.cjs.js +1 -0
  561. package/renderers/nodes/accessors/ModelNode.js +37 -28
  562. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  563. package/renderers/nodes/accessors/ModelViewProjectionNode.js +23 -10
  564. package/renderers/nodes/accessors/NormalNode.cjs.js +1 -0
  565. package/renderers/nodes/accessors/NormalNode.js +45 -35
  566. package/renderers/nodes/accessors/PositionNode.cjs.js +1 -0
  567. package/renderers/nodes/accessors/PositionNode.js +19 -18
  568. package/renderers/nodes/accessors/UVNode.cjs.js +1 -0
  569. package/renderers/nodes/accessors/UVNode.js +10 -5
  570. package/renderers/nodes/core/AttributeNode.cjs.js +1 -0
  571. package/renderers/nodes/core/AttributeNode.js +14 -5
  572. package/renderers/nodes/core/InputNode.cjs.js +1 -0
  573. package/renderers/nodes/core/InputNode.js +14 -4
  574. package/renderers/nodes/core/Node.cjs.js +1 -0
  575. package/renderers/nodes/core/Node.js +17 -7
  576. package/renderers/nodes/core/NodeAttribute.cjs.js +1 -0
  577. package/renderers/nodes/core/NodeAttribute.js +6 -3
  578. package/renderers/nodes/core/NodeBuilder.cjs.js +1 -0
  579. package/renderers/nodes/core/NodeBuilder.js +154 -87
  580. package/renderers/nodes/core/NodeFrame.cjs.js +1 -0
  581. package/renderers/nodes/core/NodeFrame.js +12 -9
  582. package/renderers/nodes/core/NodeSlot.cjs.js +1 -0
  583. package/renderers/nodes/core/NodeSlot.js +3 -2
  584. package/renderers/nodes/core/NodeUniform.cjs.js +1 -0
  585. package/renderers/nodes/core/NodeUniform.js +9 -4
  586. package/renderers/nodes/core/NodeVary.cjs.js +1 -0
  587. package/renderers/nodes/core/NodeVary.js +7 -4
  588. package/renderers/nodes/core/VaryNode.cjs.js +1 -0
  589. package/renderers/nodes/core/VaryNode.js +12 -6
  590. package/renderers/nodes/core/constants.cjs.js +1 -0
  591. package/renderers/nodes/core/constants.js +13 -16
  592. package/renderers/nodes/inputs/ColorNode.cjs.js +1 -0
  593. package/renderers/nodes/inputs/ColorNode.js +11 -5
  594. package/renderers/nodes/inputs/FloatNode.cjs.js +1 -0
  595. package/renderers/nodes/inputs/FloatNode.js +11 -5
  596. package/renderers/nodes/inputs/Matrix3Node.cjs.js +1 -0
  597. package/renderers/nodes/inputs/Matrix3Node.js +13 -7
  598. package/renderers/nodes/inputs/Matrix4Node.cjs.js +1 -0
  599. package/renderers/nodes/inputs/Matrix4Node.js +13 -7
  600. package/renderers/nodes/inputs/TextureNode.cjs.js +1 -0
  601. package/renderers/nodes/inputs/TextureNode.js +15 -7
  602. package/renderers/nodes/inputs/Vector2Node.cjs.js +1 -0
  603. package/renderers/nodes/inputs/Vector2Node.js +11 -5
  604. package/renderers/nodes/inputs/Vector3Node.cjs.js +1 -0
  605. package/renderers/nodes/inputs/Vector3Node.js +13 -7
  606. package/renderers/nodes/inputs/Vector4Node.cjs.js +1 -0
  607. package/renderers/nodes/inputs/Vector4Node.js +13 -7
  608. package/renderers/nodes/math/MathNode.cjs.js +1 -0
  609. package/renderers/nodes/math/MathNode.js +30 -20
  610. package/renderers/nodes/math/OperatorNode.cjs.js +1 -0
  611. package/renderers/nodes/math/OperatorNode.js +20 -4
  612. package/renderers/nodes/utils/SwitchNode.cjs.js +1 -0
  613. package/renderers/nodes/utils/SwitchNode.js +9 -4
  614. package/renderers/nodes/utils/TimerNode.cjs.js +1 -0
  615. package/renderers/nodes/utils/TimerNode.js +10 -5
  616. package/renderers/webgpu/WebGPU.cjs.js +1 -0
  617. package/renderers/webgpu/WebGPU.js +16 -14
  618. package/renderers/webgpu/WebGPUAttributes.cjs.js +1 -0
  619. package/renderers/webgpu/WebGPUAttributes.js +23 -16
  620. package/renderers/webgpu/WebGPUBackground.cjs.js +1 -0
  621. package/renderers/webgpu/WebGPUBackground.js +30 -13
  622. package/renderers/webgpu/WebGPUBinding.cjs.js +1 -0
  623. package/renderers/webgpu/WebGPUBinding.js +7 -4
  624. package/renderers/webgpu/WebGPUBindings.cjs.js +1 -0
  625. package/renderers/webgpu/WebGPUBindings.js +57 -21
  626. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +1 -0
  627. package/renderers/webgpu/WebGPUComputePipelines.js +25 -14
  628. package/renderers/webgpu/WebGPUGeometries.cjs.js +1 -0
  629. package/renderers/webgpu/WebGPUGeometries.js +15 -5
  630. package/renderers/webgpu/WebGPUInfo.cjs.js +1 -0
  631. package/renderers/webgpu/WebGPUInfo.js +8 -3
  632. package/renderers/webgpu/WebGPUObjects.cjs.js +1 -0
  633. package/renderers/webgpu/WebGPUObjects.js +10 -5
  634. package/renderers/webgpu/WebGPUProperties.cjs.js +1 -0
  635. package/renderers/webgpu/WebGPUProperties.js +11 -5
  636. package/renderers/webgpu/WebGPURenderLists.cjs.js +1 -0
  637. package/renderers/webgpu/WebGPURenderLists.js +36 -20
  638. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +1 -0
  639. package/renderers/webgpu/WebGPURenderPipelines.js +387 -260
  640. package/renderers/webgpu/WebGPURenderer.cjs.js +1 -0
  641. package/renderers/webgpu/WebGPURenderer.js +262 -124
  642. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +1 -0
  643. package/renderers/webgpu/WebGPUSampledTexture.js +31 -18
  644. package/renderers/webgpu/WebGPUSampler.cjs.js +1 -0
  645. package/renderers/webgpu/WebGPUSampler.js +12 -7
  646. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +1 -0
  647. package/renderers/webgpu/WebGPUStorageBuffer.js +12 -7
  648. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +1 -0
  649. package/renderers/webgpu/WebGPUTextureRenderer.js +11 -5
  650. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +1 -0
  651. package/renderers/webgpu/WebGPUTextureUtils.js +40 -29
  652. package/renderers/webgpu/WebGPUTextures.cjs.js +1 -0
  653. package/renderers/webgpu/WebGPUTextures.js +333 -186
  654. package/renderers/webgpu/WebGPUUniform.cjs.js +1 -0
  655. package/renderers/webgpu/WebGPUUniform.js +51 -25
  656. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +1 -0
  657. package/renderers/webgpu/WebGPUUniformsGroup.js +72 -32
  658. package/renderers/webgpu/constants.cjs.js +1 -0
  659. package/renderers/webgpu/constants.js +181 -190
  660. package/renderers/webgpu/nodes/ShaderLib.cjs.js +1 -0
  661. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  662. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +1 -0
  663. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +124 -53
  664. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +1 -0
  665. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +31 -17
  666. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +1 -0
  667. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +9 -8
  668. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +1 -0
  669. package/renderers/webgpu/nodes/WebGPUNodes.js +45 -7
  670. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -0
  671. package/shaders/ACESFilmicToneMappingShader.js +24 -44
  672. package/shaders/AfterimageShader.cjs.js +1 -0
  673. package/shaders/AfterimageShader.js +18 -28
  674. package/shaders/BasicShader.cjs.js +1 -0
  675. package/shaders/BasicShader.js +7 -9
  676. package/shaders/BleachBypassShader.cjs.js +1 -0
  677. package/shaders/BleachBypassShader.js +15 -31
  678. package/shaders/BlendShader.cjs.js +1 -0
  679. package/shaders/BlendShader.js +19 -26
  680. package/shaders/BokehShader.cjs.js +1 -0
  681. package/shaders/BokehShader.js +36 -98
  682. package/shaders/BokehShader2.cjs.js +1 -0
  683. package/shaders/BokehShader2.js +90 -261
  684. package/shaders/BrightnessContrastShader.cjs.js +1 -0
  685. package/shaders/BrightnessContrastShader.js +19 -28
  686. package/shaders/ColorCorrectionShader.cjs.js +1 -0
  687. package/shaders/ColorCorrectionShader.js +22 -26
  688. package/shaders/ColorifyShader.cjs.js +1 -0
  689. package/shaders/ColorifyShader.js +16 -24
  690. package/shaders/ConvolutionShader.cjs.js +1 -0
  691. package/shaders/ConvolutionShader.js +36 -40
  692. package/shaders/CopyShader.cjs.js +1 -0
  693. package/shaders/CopyShader.js +13 -21
  694. package/shaders/DOFMipMapShader.cjs.js +1 -0
  695. package/shaders/DOFMipMapShader.js +21 -28
  696. package/shaders/DepthLimitedBlurShader.cjs.js +1 -0
  697. package/shaders/DepthLimitedBlurShader.js +40 -85
  698. package/shaders/DigitalGlitch.cjs.js +1 -0
  699. package/shaders/DigitalGlitch.js +46 -74
  700. package/shaders/DotScreenShader.cjs.js +1 -0
  701. package/shaders/DotScreenShader.js +27 -35
  702. package/shaders/FXAAShader.cjs.js +1 -0
  703. package/shaders/FXAAShader.js +19 -1094
  704. package/shaders/FilmShader.cjs.js +1 -0
  705. package/shaders/FilmShader.js +52 -38
  706. package/shaders/FocusShader.cjs.js +1 -0
  707. package/shaders/FocusShader.js +24 -51
  708. package/shaders/FreiChenShader.cjs.js +1 -0
  709. package/shaders/FreiChenShader.js +24 -57
  710. package/shaders/FresnelShader.cjs.js +1 -0
  711. package/shaders/FresnelShader.js +22 -43
  712. package/shaders/GammaCorrectionShader.cjs.js +1 -0
  713. package/shaders/GammaCorrectionShader.js +11 -19
  714. package/shaders/GodRaysShader.cjs.js +1 -0
  715. package/shaders/GodRaysShader.js +94 -103
  716. package/shaders/HalftoneShader.cjs.js +1 -0
  717. package/shaders/HalftoneShader.js +65 -208
  718. package/shaders/HorizontalBlurShader.cjs.js +1 -0
  719. package/shaders/HorizontalBlurShader.js +23 -7
  720. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -0
  721. package/shaders/HorizontalTiltShiftShader.js +21 -33
  722. package/shaders/HueSaturationShader.cjs.js +1 -0
  723. package/shaders/HueSaturationShader.js +21 -37
  724. package/shaders/KaleidoShader.cjs.js +1 -0
  725. package/shaders/KaleidoShader.js +22 -30
  726. package/shaders/LuminosityHighPassShader.cjs.js +1 -0
  727. package/shaders/LuminosityHighPassShader.js +27 -33
  728. package/shaders/LuminosityShader.cjs.js +1 -0
  729. package/shaders/LuminosityShader.js +11 -21
  730. package/shaders/MirrorShader.cjs.js +1 -0
  731. package/shaders/MirrorShader.js +16 -31
  732. package/shaders/NormalMapShader.cjs.js +1 -0
  733. package/shaders/NormalMapShader.js +23 -27
  734. package/shaders/ParallaxShader.cjs.js +1 -0
  735. package/shaders/ParallaxShader.js +48 -107
  736. package/shaders/PixelShader.cjs.js +1 -0
  737. package/shaders/PixelShader.js +16 -24
  738. package/shaders/RGBShiftShader.cjs.js +1 -0
  739. package/shaders/RGBShiftShader.js +22 -26
  740. package/shaders/SAOShader.cjs.js +1 -0
  741. package/shaders/SAOShader.js +48 -132
  742. package/shaders/SMAAShader.cjs.js +1 -0
  743. package/shaders/SMAAShader.js +135 -256
  744. package/shaders/SSAOShader.cjs.js +1 -0
  745. package/shaders/SSAOShader.js +81 -153
  746. package/shaders/SSRShader.cjs.js +1 -0
  747. package/shaders/SSRShader.js +87 -32
  748. package/shaders/SepiaShader.cjs.js +1 -0
  749. package/shaders/SepiaShader.js +15 -25
  750. package/shaders/SobelOperatorShader.cjs.js +1 -0
  751. package/shaders/SobelOperatorShader.js +29 -40
  752. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -0
  753. package/shaders/SubsurfaceScatteringShader.js +39 -53
  754. package/shaders/TechnicolorShader.cjs.js +1 -0
  755. package/shaders/TechnicolorShader.js +13 -20
  756. package/shaders/ToneMapShader.cjs.js +1 -0
  757. package/shaders/ToneMapShader.js +28 -44
  758. package/shaders/ToonShader.cjs.js +1 -0
  759. package/shaders/ToonShader.js +96 -172
  760. package/shaders/TriangleBlurShader.cjs.js +1 -0
  761. package/shaders/TriangleBlurShader.js +23 -32
  762. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -0
  763. package/shaders/UnpackDepthRGBAShader.js +14 -22
  764. package/shaders/VerticalBlurShader.cjs.js +1 -0
  765. package/shaders/VerticalBlurShader.js +23 -7
  766. package/shaders/VerticalTiltShiftShader.cjs.js +1 -0
  767. package/shaders/VerticalTiltShiftShader.js +21 -33
  768. package/shaders/VignetteShader.cjs.js +1 -0
  769. package/shaders/VignetteShader.js +28 -24
  770. package/shaders/VolumeShader.cjs.js +1 -0
  771. package/shaders/VolumeShader.js +77 -174
  772. package/shaders/WaterRefractionShader.cjs.js +1 -0
  773. package/shaders/WaterRefractionShader.js +6 -38
  774. package/shaders/types.cjs.js +1 -0
  775. package/shaders/types.js +1 -1
  776. package/textures/FlakesTexture.cjs.js +1 -0
  777. package/textures/FlakesTexture.js +10 -8
  778. package/types/helpers.cjs.js +1 -0
  779. package/types/helpers.js +2 -3
  780. package/types/shared.cjs.js +1 -0
  781. package/types/shared.js +1 -0
  782. package/types/utils.cjs.js +1 -0
  783. package/types/utils.js +1 -0
  784. package/utils/BufferGeometryUtils.cjs.js +1 -0
  785. package/utils/BufferGeometryUtils.js +325 -251
  786. package/utils/GeometryCompressionUtils.cjs.js +1 -0
  787. package/utils/GeometryCompressionUtils.js +239 -241
  788. package/utils/GeometryUtils.cjs.js +1 -0
  789. package/utils/GeometryUtils.js +94 -41
  790. package/utils/LDrawUtils.cjs.js +1 -0
  791. package/utils/LDrawUtils.d.ts +5 -0
  792. package/utils/LDrawUtils.js +144 -0
  793. package/utils/RoughnessMipmapper.cjs.js +1 -0
  794. package/utils/RoughnessMipmapper.js +82 -38
  795. package/utils/SceneUtils.cjs.js +1 -0
  796. package/utils/SceneUtils.js +20 -15
  797. package/utils/ShadowMapViewer.cjs.js +1 -0
  798. package/utils/ShadowMapViewer.js +95 -49
  799. package/utils/SkeletonUtils.cjs.js +1 -0
  800. package/utils/SkeletonUtils.js +165 -74
  801. package/utils/UVsDebug.cjs.js +1 -0
  802. package/utils/UVsDebug.js +62 -32
  803. package/utils/WorkerPool.cjs.js +1 -0
  804. package/utils/WorkerPool.js +33 -13
  805. package/webxr/ARButton.cjs.js +1 -0
  806. package/webxr/ARButton.js +98 -72
  807. package/webxr/OculusHandModel.cjs.js +1 -0
  808. package/webxr/OculusHandModel.js +37 -18
  809. package/webxr/OculusHandPointerModel.cjs.js +1 -0
  810. package/webxr/OculusHandPointerModel.js +80 -58
  811. package/webxr/Text2D.cjs.js +1 -0
  812. package/webxr/Text2D.js +19 -37
  813. package/webxr/VRButton.cjs.js +1 -0
  814. package/webxr/VRButton.js +90 -59
  815. package/webxr/XRControllerModelFactory.cjs.js +1 -0
  816. package/webxr/XRControllerModelFactory.js +116 -58
  817. package/webxr/XREstimatedLight.cjs.js +1 -0
  818. package/webxr/XREstimatedLight.js +66 -39
  819. package/webxr/XRHandMeshModel.cjs.js +1 -0
  820. package/webxr/XRHandMeshModel.js +29 -40
  821. package/webxr/XRHandModelFactory.cjs.js +1 -0
  822. package/webxr/XRHandModelFactory.js +31 -28
  823. package/webxr/XRHandPrimitiveModel.cjs.js +1 -0
  824. package/webxr/XRHandPrimitiveModel.js +27 -41
  825. package/animation/AnimationClipCreator.mjs +0 -57
  826. package/animation/CCDIKSolver.mjs +0 -223
  827. package/animation/MMDAnimationHelper.mjs +0 -514
  828. package/animation/MMDPhysics.mjs +0 -769
  829. package/cameras/CinematicCamera.mjs +0 -129
  830. package/controls/ArcballControls.mjs +0 -1737
  831. package/controls/DeviceOrientationControls.mjs +0 -74
  832. package/controls/DragControls.mjs +0 -172
  833. package/controls/FirstPersonControls.mjs +0 -220
  834. package/controls/FlyControls.mjs +0 -239
  835. package/controls/OrbitControls.mjs +0 -731
  836. package/controls/PointerLockControls.mjs +0 -88
  837. package/controls/TrackballControls.mjs +0 -481
  838. package/controls/TransformControls.mjs +0 -1068
  839. package/controls/experimental/CameraControls.mjs +0 -673
  840. package/csm/CSM.mjs +0 -244
  841. package/csm/CSMFrustum.mjs +0 -75
  842. package/csm/CSMHelper.mjs +0 -114
  843. package/csm/CSMShader.mjs +0 -251
  844. package/curves/CurveExtras.mjs +0 -224
  845. package/curves/NURBSCurve.mjs +0 -35
  846. package/curves/NURBSSurface.mjs +0 -28
  847. package/curves/NURBSUtils.mjs +0 -226
  848. package/deprecated/Geometry.mjs +0 -966
  849. package/effects/AnaglyphEffect.mjs +0 -120
  850. package/effects/AsciiEffect.mjs +0 -173
  851. package/effects/OutlineEffect.mjs +0 -295
  852. package/effects/ParallaxBarrierEffect.mjs +0 -64
  853. package/effects/PeppersGhostEffect.mjs +0 -85
  854. package/effects/StereoEffect.mjs +0 -32
  855. package/environments/RoomEnvironment.mjs +0 -78
  856. package/exporters/ColladaExporter.mjs +0 -299
  857. package/exporters/DRACOExporter.mjs +0 -132
  858. package/exporters/GLTFExporter.mjs +0 -1381
  859. package/exporters/MMDExporter.mjs +0 -102
  860. package/exporters/OBJExporter.mjs +0 -166
  861. package/exporters/PLYExporter.mjs +0 -278
  862. package/exporters/STLExporter.mjs +0 -129
  863. package/exporters/USDZExporter.mjs +0 -328
  864. package/geometries/BoxLineGeometry.mjs +0 -45
  865. package/geometries/ConvexGeometry.mjs +0 -29
  866. package/geometries/DecalGeometry.mjs +0 -184
  867. package/geometries/LightningStrike.mjs +0 -547
  868. package/geometries/ParametricGeometries.mjs +0 -129
  869. package/geometries/ParametricGeometry.mjs +0 -63
  870. package/geometries/RoundedBoxGeometry.mjs +0 -91
  871. package/geometries/TeapotGeometry.mjs +0 -1557
  872. package/geometries/TextGeometry.mjs +0 -23
  873. package/helpers/LightProbeHelper.mjs +0 -72
  874. package/helpers/PositionalAudioHelper.mjs +0 -68
  875. package/helpers/RectAreaLightHelper.mjs +0 -44
  876. package/helpers/VertexNormalsHelper.mjs +0 -54
  877. package/helpers/VertexTangentsHelper.mjs +0 -45
  878. package/index.mjs +0 -969
  879. package/interactive/SelectionBox.mjs +0 -137
  880. package/interactive/SelectionHelper.mjs +0 -54
  881. package/libs/MeshoptDecoder.mjs +0 -210
  882. package/libs/MotionControllers.mjs +0 -261
  883. package/lights/LightProbeGenerator.mjs +0 -145
  884. package/lights/RectAreaLightUniformsLib.mjs +0 -32842
  885. package/lines/Line2.mjs +0 -13
  886. package/lines/LineGeometry.mjs +0 -44
  887. package/lines/LineMaterial.mjs +0 -539
  888. package/lines/LineSegments2.mjs +0 -202
  889. package/lines/LineSegmentsGeometry.mjs +0 -124
  890. package/lines/Wireframe.mjs +0 -31
  891. package/lines/WireframeGeometry2.mjs +0 -13
  892. package/loaders/3DMLoader.mjs +0 -802
  893. package/loaders/3MFLoader.mjs +0 -837
  894. package/loaders/AMFLoader.mjs +0 -284
  895. package/loaders/AssimpLoader.mjs +0 -1396
  896. package/loaders/BVHLoader.mjs +0 -207
  897. package/loaders/BasisTextureLoader.mjs +0 -474
  898. package/loaders/ColladaLoader.mjs +0 -2403
  899. package/loaders/DDSLoader.mjs +0 -148
  900. package/loaders/DRACOLoader.mjs +0 -340
  901. package/loaders/EXRLoader.mjs +0 -1351
  902. package/loaders/FBXLoader.mjs +0 -2362
  903. package/loaders/FontLoader.mjs +0 -111
  904. package/loaders/GCodeLoader.mjs +0 -141
  905. package/loaders/GLTFLoader.mjs +0 -2316
  906. package/loaders/HDRCubeTextureLoader.mjs +0 -77
  907. package/loaders/KMZLoader.mjs +0 -75
  908. package/loaders/KTX2Loader.mjs +0 -427
  909. package/loaders/KTXLoader.mjs +0 -87
  910. package/loaders/LDrawLoader.mjs +0 -1409
  911. package/loaders/LUT3dlLoader.mjs +0 -100
  912. package/loaders/LUTCubeLoader.mjs +0 -104
  913. package/loaders/LWOLoader.mjs +0 -625
  914. package/loaders/LottieLoader.mjs +0 -47
  915. package/loaders/MD2Loader.mjs +0 -359
  916. package/loaders/MDDLoader.mjs +0 -58
  917. package/loaders/MMDLoader.mjs +0 -998
  918. package/loaders/MTLLoader.mjs +0 -280
  919. package/loaders/NRRDLoader.mjs +0 -401
  920. package/loaders/NodeMaterialLoader.mjs +0 -146
  921. package/loaders/OBJLoader.mjs +0 -487
  922. package/loaders/PCDLoader.mjs +0 -248
  923. package/loaders/PDBLoader.mjs +0 -246
  924. package/loaders/PLYLoader.mjs +0 -317
  925. package/loaders/PRWMLoader.mjs +0 -160
  926. package/loaders/PVRLoader.mjs +0 -131
  927. package/loaders/RGBELoader.mjs +0 -244
  928. package/loaders/RGBMLoader.mjs +0 -998
  929. package/loaders/STLLoader.mjs +0 -190
  930. package/loaders/SVGLoader.mjs +0 -1709
  931. package/loaders/TDSLoader.mjs +0 -480
  932. package/loaders/TGALoader.mjs +0 -285
  933. package/loaders/TTFLoader.mjs +0 -131
  934. package/loaders/TiltLoader.mjs +0 -373
  935. package/loaders/VOXLoader.mjs +0 -431
  936. package/loaders/VRMLLoader.mjs +0 -2093
  937. package/loaders/VRMLoader.mjs +0 -38
  938. package/loaders/VTKLoader.mjs +0 -646
  939. package/loaders/XLoader.mjs +0 -1258
  940. package/loaders/XYZLoader.mjs +0 -60
  941. package/loaders/lwo/IFFParser.mjs +0 -697
  942. package/loaders/lwo/LWO2Parser.mjs +0 -327
  943. package/loaders/lwo/LWO3Parser.mjs +0 -298
  944. package/math/Capsule.mjs +0 -100
  945. package/math/ColorConverter.mjs +0 -51
  946. package/math/ConvexHull.mjs +0 -574
  947. package/math/ImprovedNoise.mjs +0 -302
  948. package/math/Lut.mjs +0 -135
  949. package/math/MeshSurfaceSampler.mjs +0 -107
  950. package/math/OBB.mjs +0 -235
  951. package/math/Octree.mjs +0 -278
  952. package/math/SimplexNoise.mjs +0 -425
  953. package/misc/ConvexObjectBreaker.mjs +0 -292
  954. package/misc/GPUComputationRenderer.mjs +0 -171
  955. package/misc/Gyroscope.mjs +0 -35
  956. package/misc/MD2Character.mjs +0 -162
  957. package/misc/MD2CharacterComplex.mjs +0 -328
  958. package/misc/MorphAnimMesh.mjs +0 -40
  959. package/misc/MorphBlendMesh.mjs +0 -179
  960. package/misc/ProgressiveLightmap.mjs +0 -166
  961. package/misc/RollerCoaster.mjs +0 -346
  962. package/misc/TubePainter.mjs +0 -123
  963. package/misc/Volume.mjs +0 -244
  964. package/misc/VolumeSlice.mjs +0 -106
  965. package/misc/WebGL.mjs +0 -74
  966. package/modifiers/CurveModifier.mjs +0 -182
  967. package/modifiers/EdgeSplitModifier.mjs +0 -162
  968. package/modifiers/SimplifyModifier.mjs +0 -282
  969. package/modifiers/TessellateModifier.mjs +0 -206
  970. package/nodes/Nodes.mjs +0 -400
  971. package/nodes/ShaderNode.mjs +0 -408
  972. package/nodes/accessors/BufferNode.mjs +0 -15
  973. package/nodes/accessors/CameraNode.mjs +0 -44
  974. package/nodes/accessors/CubeTextureNode.mjs +0 -42
  975. package/nodes/accessors/MaterialNode.mjs +0 -71
  976. package/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  977. package/nodes/accessors/ModelNode.mjs +0 -9
  978. package/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  979. package/nodes/accessors/NormalNode.mjs +0 -62
  980. package/nodes/accessors/Object3DNode.mjs +0 -76
  981. package/nodes/accessors/PointUVNode.mjs +0 -13
  982. package/nodes/accessors/PositionNode.mjs +0 -65
  983. package/nodes/accessors/ReferenceNode.mjs +0 -37
  984. package/nodes/accessors/ReflectNode.mjs +0 -43
  985. package/nodes/accessors/SkinningNode.mjs +0 -58
  986. package/nodes/accessors/TextureNode.mjs +0 -54
  987. package/nodes/accessors/UVNode.mjs +0 -23
  988. package/nodes/core/ArrayUniformNode.mjs +0 -14
  989. package/nodes/core/AttributeNode.mjs +0 -30
  990. package/nodes/core/BypassNode.mjs +0 -22
  991. package/nodes/core/CodeNode.mjs +0 -28
  992. package/nodes/core/ConstNode.mjs +0 -14
  993. package/nodes/core/ContextNode.mjs +0 -22
  994. package/nodes/core/ExpressionNode.mjs +0 -19
  995. package/nodes/core/FunctionCallNode.mjs +0 -37
  996. package/nodes/core/FunctionNode.mjs +0 -56
  997. package/nodes/core/InputNode.mjs +0 -38
  998. package/nodes/core/Node.mjs +0 -139
  999. package/nodes/core/NodeAttribute.mjs +0 -10
  1000. package/nodes/core/NodeBuilder.mjs +0 -395
  1001. package/nodes/core/NodeCode.mjs +0 -11
  1002. package/nodes/core/NodeFrame.mjs +0 -35
  1003. package/nodes/core/NodeFunctionInput.mjs +0 -13
  1004. package/nodes/core/NodeKeywords.mjs +0 -44
  1005. package/nodes/core/NodeUniform.mjs +0 -18
  1006. package/nodes/core/NodeUtils.mjs +0 -57
  1007. package/nodes/core/NodeVar.mjs +0 -10
  1008. package/nodes/core/NodeVary.mjs +0 -10
  1009. package/nodes/core/PropertyNode.mjs +0 -21
  1010. package/nodes/core/TempNode.mjs +0 -25
  1011. package/nodes/core/UniformNode.mjs +0 -23
  1012. package/nodes/core/VarNode.mjs +0 -31
  1013. package/nodes/core/VaryNode.mjs +0 -30
  1014. package/nodes/core/constants.mjs +0 -24
  1015. package/nodes/display/ColorSpaceNode.mjs +0 -63
  1016. package/nodes/display/NormalMapNode.mjs +0 -54
  1017. package/nodes/fog/FogNode.mjs +0 -15
  1018. package/nodes/fog/FogRangeNode.mjs +0 -17
  1019. package/nodes/functions/BSDFs.mjs +0 -64
  1020. package/nodes/lights/LightContextNode.mjs +0 -35
  1021. package/nodes/lights/LightNode.mjs +0 -58
  1022. package/nodes/lights/LightsNode.mjs +0 -59
  1023. package/nodes/loaders/NodeLoader.mjs +0 -66
  1024. package/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  1025. package/nodes/loaders/NodeObjectLoader.mjs +0 -40
  1026. package/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  1027. package/nodes/materials/Materials.mjs +0 -28
  1028. package/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  1029. package/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  1030. package/nodes/materials/NodeMaterial.mjs +0 -64
  1031. package/nodes/materials/PointsNodeMaterial.mjs +0 -30
  1032. package/nodes/math/CondNode.mjs +0 -38
  1033. package/nodes/math/MathNode.mjs +0 -163
  1034. package/nodes/math/OperatorNode.mjs +0 -103
  1035. package/nodes/procedural/CheckerNode.mjs +0 -21
  1036. package/nodes/utils/ArrayElementNode.mjs +0 -19
  1037. package/nodes/utils/ConvertNode.mjs +0 -25
  1038. package/nodes/utils/JoinNode.mjs +0 -26
  1039. package/nodes/utils/MatcapUVNode.mjs +0 -16
  1040. package/nodes/utils/OscNode.mjs +0 -50
  1041. package/nodes/utils/SplitNode.mjs +0 -45
  1042. package/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  1043. package/nodes/utils/TimerNode.mjs +0 -44
  1044. package/objects/GroundProjectedEnv.mjs +0 -130
  1045. package/objects/Lensflare.mjs +0 -262
  1046. package/objects/LightningStorm.mjs +0 -110
  1047. package/objects/MarchingCubes.mjs +0 -457
  1048. package/objects/Reflector.mjs +0 -166
  1049. package/objects/ReflectorForSSRPass.mjs +0 -247
  1050. package/objects/ReflectorRTT.mjs +0 -10
  1051. package/objects/Refractor.mjs +0 -178
  1052. package/objects/ShadowMesh.mjs +0 -41
  1053. package/objects/Sky.mjs +0 -124
  1054. package/objects/Water.mjs +0 -235
  1055. package/objects/Water2.mjs +0 -252
  1056. package/offscreen/jank.mjs +0 -27
  1057. package/offscreen/offscreen.mjs +0 -5
  1058. package/offscreen/scene.mjs +0 -52
  1059. package/physics/AmmoPhysics.mjs +0 -165
  1060. package/postprocessing/AdaptiveToneMappingPass.mjs +0 -221
  1061. package/postprocessing/AfterimagePass.mjs +0 -55
  1062. package/postprocessing/BloomPass.mjs +0 -90
  1063. package/postprocessing/BokehPass.mjs +0 -76
  1064. package/postprocessing/ClearPass.mjs +0 -27
  1065. package/postprocessing/CubeTexturePass.mjs +0 -49
  1066. package/postprocessing/DotScreenPass.mjs +0 -40
  1067. package/postprocessing/EffectComposer.mjs +0 -139
  1068. package/postprocessing/FilmPass.mjs +0 -42
  1069. package/postprocessing/GlitchPass.mjs +0 -75
  1070. package/postprocessing/HalftonePass.mjs +0 -44
  1071. package/postprocessing/LUTPass.mjs +0 -136
  1072. package/postprocessing/MaskPass.mjs +0 -60
  1073. package/postprocessing/OutlinePass.mjs +0 -438
  1074. package/postprocessing/Pass.mjs +0 -37
  1075. package/postprocessing/RenderPass.mjs +0 -48
  1076. package/postprocessing/RenderPixelatedPass.mjs +0 -199
  1077. package/postprocessing/SAOPass.mjs +0 -282
  1078. package/postprocessing/SMAAPass.mjs +0 -112
  1079. package/postprocessing/SSAARenderPass.mjs +0 -170
  1080. package/postprocessing/SSAOPass.mjs +0 -265
  1081. package/postprocessing/SSRPass.mjs +0 -432
  1082. package/postprocessing/SavePass.mjs +0 -37
  1083. package/postprocessing/ShaderPass.mjs +0 -39
  1084. package/postprocessing/TAARenderPass.mjs +0 -88
  1085. package/postprocessing/TexturePass.mjs +0 -39
  1086. package/postprocessing/UnrealBloomPass.mjs +0 -220
  1087. package/renderers/CSS2DRenderer.mjs +0 -112
  1088. package/renderers/CSS3DRenderer.mjs +0 -133
  1089. package/renderers/Projector.mjs +0 -511
  1090. package/renderers/SVGRenderer.mjs +0 -306
  1091. package/renderers/nodes/accessors/CameraNode.mjs +0 -63
  1092. package/renderers/nodes/accessors/ModelNode.mjs +0 -61
  1093. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  1094. package/renderers/nodes/accessors/NormalNode.mjs +0 -61
  1095. package/renderers/nodes/accessors/PositionNode.mjs +0 -30
  1096. package/renderers/nodes/accessors/UVNode.mjs +0 -13
  1097. package/renderers/nodes/core/AttributeNode.mjs +0 -35
  1098. package/renderers/nodes/core/InputNode.mjs +0 -31
  1099. package/renderers/nodes/core/Node.mjs +0 -34
  1100. package/renderers/nodes/core/NodeAttribute.mjs +0 -10
  1101. package/renderers/nodes/core/NodeBuilder.mjs +0 -243
  1102. package/renderers/nodes/core/NodeFrame.mjs +0 -35
  1103. package/renderers/nodes/core/NodeSlot.mjs +0 -10
  1104. package/renderers/nodes/core/NodeUniform.mjs +0 -18
  1105. package/renderers/nodes/core/NodeVary.mjs +0 -11
  1106. package/renderers/nodes/core/VaryNode.mjs +0 -22
  1107. package/renderers/nodes/core/constants.mjs +0 -22
  1108. package/renderers/nodes/inputs/ColorNode.mjs +0 -11
  1109. package/renderers/nodes/inputs/FloatNode.mjs +0 -11
  1110. package/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  1111. package/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  1112. package/renderers/nodes/inputs/TextureNode.mjs +0 -20
  1113. package/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  1114. package/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  1115. package/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  1116. package/renderers/nodes/math/MathNode.mjs +0 -55
  1117. package/renderers/nodes/math/OperatorNode.mjs +0 -42
  1118. package/renderers/nodes/utils/SwitchNode.mjs +0 -20
  1119. package/renderers/nodes/utils/TimerNode.mjs +0 -14
  1120. package/renderers/webgpu/WebGPU.mjs +0 -24
  1121. package/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  1122. package/renderers/webgpu/WebGPUBackground.mjs +0 -61
  1123. package/renderers/webgpu/WebGPUBinding.mjs +0 -14
  1124. package/renderers/webgpu/WebGPUBindings.mjs +0 -155
  1125. package/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  1126. package/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  1127. package/renderers/webgpu/WebGPUInfo.mjs +0 -46
  1128. package/renderers/webgpu/WebGPUObjects.mjs +0 -25
  1129. package/renderers/webgpu/WebGPUProperties.mjs +0 -22
  1130. package/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  1131. package/renderers/webgpu/WebGPURenderPipelines.mjs +0 -545
  1132. package/renderers/webgpu/WebGPURenderer.mjs +0 -574
  1133. package/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  1134. package/renderers/webgpu/WebGPUSampler.mjs +0 -15
  1135. package/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  1136. package/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  1137. package/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  1138. package/renderers/webgpu/WebGPUTextures.mjs +0 -484
  1139. package/renderers/webgpu/WebGPUUniform.mjs +0 -81
  1140. package/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  1141. package/renderers/webgpu/constants.mjs +0 -230
  1142. package/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  1143. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  1144. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  1145. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  1146. package/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
  1147. package/shaders/ACESFilmicToneMappingShader.mjs +0 -48
  1148. package/shaders/AfterimageShader.mjs +0 -32
  1149. package/shaders/BasicShader.mjs +0 -12
  1150. package/shaders/BleachBypassShader.mjs +0 -35
  1151. package/shaders/BlendShader.mjs +0 -30
  1152. package/shaders/BokehShader.mjs +0 -106
  1153. package/shaders/BokehShader2.mjs +0 -269
  1154. package/shaders/BrightnessContrastShader.mjs +0 -32
  1155. package/shaders/ColorCorrectionShader.mjs +0 -30
  1156. package/shaders/ColorifyShader.mjs +0 -28
  1157. package/shaders/ConvolutionShader.mjs +0 -55
  1158. package/shaders/CopyShader.mjs +0 -25
  1159. package/shaders/DOFMipMapShader.mjs +0 -32
  1160. package/shaders/DepthLimitedBlurShader.mjs +0 -114
  1161. package/shaders/DigitalGlitch.mjs +0 -78
  1162. package/shaders/DotScreenShader.mjs +0 -39
  1163. package/shaders/FXAAShader.mjs +0 -1098
  1164. package/shaders/FilmShader.mjs +0 -42
  1165. package/shaders/FocusShader.mjs +0 -55
  1166. package/shaders/FreiChenShader.mjs +0 -61
  1167. package/shaders/FresnelShader.mjs +0 -47
  1168. package/shaders/GammaCorrectionShader.mjs +0 -23
  1169. package/shaders/GodRaysShader.mjs +0 -146
  1170. package/shaders/HalftoneShader.mjs +0 -212
  1171. package/shaders/HorizontalBlurShader.mjs +0 -43
  1172. package/shaders/HorizontalTiltShiftShader.mjs +0 -37
  1173. package/shaders/HueSaturationShader.mjs +0 -41
  1174. package/shaders/KaleidoShader.mjs +0 -34
  1175. package/shaders/LuminosityHighPassShader.mjs +0 -37
  1176. package/shaders/LuminosityShader.mjs +0 -25
  1177. package/shaders/MirrorShader.mjs +0 -35
  1178. package/shaders/NormalMapShader.mjs +0 -31
  1179. package/shaders/ParallaxShader.mjs +0 -113
  1180. package/shaders/PixelShader.mjs +0 -28
  1181. package/shaders/RGBShiftShader.mjs +0 -30
  1182. package/shaders/SAOShader.mjs +0 -144
  1183. package/shaders/SMAAShader.mjs +0 -272
  1184. package/shaders/SSAOShader.mjs +0 -172
  1185. package/shaders/SSRShader.mjs +0 -324
  1186. package/shaders/SepiaShader.mjs +0 -29
  1187. package/shaders/SobelOperatorShader.mjs +0 -44
  1188. package/shaders/SubsurfaceScatteringShader.mjs +0 -59
  1189. package/shaders/TechnicolorShader.mjs +0 -24
  1190. package/shaders/ToneMapShader.mjs +0 -48
  1191. package/shaders/ToonShader.mjs +0 -188
  1192. package/shaders/TriangleBlurShader.mjs +0 -36
  1193. package/shaders/UnpackDepthRGBAShader.mjs +0 -26
  1194. package/shaders/VerticalBlurShader.mjs +0 -44
  1195. package/shaders/VerticalTiltShiftShader.mjs +0 -37
  1196. package/shaders/VignetteShader.mjs +0 -28
  1197. package/shaders/VolumeShader.mjs +0 -178
  1198. package/shaders/WaterRefractionShader.mjs +0 -57
  1199. package/textures/FlakesTexture.mjs +0 -30
  1200. package/types/helpers.mjs +0 -4
  1201. package/utils/BufferGeometryUtils.mjs +0 -570
  1202. package/utils/GeometryCompressionUtils.mjs +0 -547
  1203. package/utils/GeometryUtils.mjs +0 -108
  1204. package/utils/RoughnessMipmapper.mjs +0 -213
  1205. package/utils/SceneUtils.mjs +0 -36
  1206. package/utils/ShadowMapViewer.mjs +0 -114
  1207. package/utils/SkeletonUtils.mjs +0 -292
  1208. package/utils/UVsDebug.mjs +0 -85
  1209. package/utils/WorkerPool.mjs +0 -62
  1210. package/webxr/ARButton.mjs +0 -119
  1211. package/webxr/OculusHandModel.mjs +0 -71
  1212. package/webxr/OculusHandPointerModel.mjs +0 -207
  1213. package/webxr/Text2D.mjs +0 -31
  1214. package/webxr/VRButton.mjs +0 -105
  1215. package/webxr/XRControllerModelFactory.mjs +0 -146
  1216. package/webxr/XREstimatedLight.mjs +0 -126
  1217. package/webxr/XRHandMeshModel.mjs +0 -73
  1218. package/webxr/XRHandModelFactory.mjs +0 -61
  1219. package/webxr/XRHandPrimitiveModel.mjs +0 -68
@@ -1,56 +1,166 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const THREE = require("three");
1
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
+ import { EventDispatcher, Vector3, MOUSE, TOUCH, PerspectiveCamera, Quaternion, Spherical, Vector2, OrthographicCamera } from 'three';
3
+
4
+ // Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
5
+ //
6
+ // Orbit - left mouse / touch: one-finger move
7
+ // Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish
8
+ // Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move
9
+
4
10
  const moduloWrapAround = (offset, capacity) => (offset % capacity + capacity) % capacity;
5
- class OrbitControls extends THREE.EventDispatcher {
11
+
12
+ class OrbitControls extends EventDispatcher {
13
+ // Set to false to disable this control
14
+ // "target" sets the location of focus, where the object orbits around
15
+ // How far you can dolly in and out ( PerspectiveCamera only )
16
+ // How far you can zoom in and out ( OrthographicCamera only )
17
+ // How far you can orbit vertically, upper and lower limits.
18
+ // Range is 0 to Math.PI radians.
19
+ // radians
20
+ // radians
21
+ // How far you can orbit horizontally, upper and lower limits.
22
+ // If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI )
23
+ // radians
24
+ // radians
25
+ // Set to true to enable damping (inertia)
26
+ // If damping is enabled, you must call controls.update() in your animation loop
27
+ // This option actually enables dollying in and out; left as "zoom" for backwards compatibility.
28
+ // Set to false to disable zooming
29
+ // Set to false to disable rotating
30
+ // Set to false to disable panning
31
+ // if false, pan orthogonal to world-space direction camera.up
32
+ // pixels moved per arrow key push
33
+ // Set to true to automatically rotate around the target
34
+ // If auto-rotate is enabled, you must call controls.update() in your animation loop
35
+ // 30 seconds per orbit when fps is 60
36
+ // true if you want to reverse the orbit to mouse drag from left to right = orbits left
37
+ // The four arrow keys
38
+ // Mouse buttons
39
+ // Touch fingers
40
+ // the target DOM element for key events
6
41
  constructor(object, domElement) {
7
42
  super();
8
- this.enabled = true;
9
- this.target = new THREE.Vector3();
10
- this.minDistance = 0;
11
- this.maxDistance = Infinity;
12
- this.minZoom = 0;
13
- this.maxZoom = Infinity;
14
- this.minPolarAngle = 0;
15
- this.maxPolarAngle = Math.PI;
16
- this.minAzimuthAngle = -Infinity;
17
- this.maxAzimuthAngle = Infinity;
18
- this.enableDamping = false;
19
- this.dampingFactor = 0.05;
20
- this.enableZoom = true;
21
- this.zoomSpeed = 1;
22
- this.enableRotate = true;
23
- this.rotateSpeed = 1;
24
- this.enablePan = true;
25
- this.panSpeed = 1;
26
- this.screenSpacePanning = true;
27
- this.keyPanSpeed = 7;
28
- this.autoRotate = false;
29
- this.autoRotateSpeed = 2;
30
- this.reverseOrbit = false;
31
- this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" };
32
- this.mouseButtons = {
33
- LEFT: THREE.MOUSE.ROTATE,
34
- MIDDLE: THREE.MOUSE.DOLLY,
35
- RIGHT: THREE.MOUSE.PAN
36
- };
37
- this.touches = { ONE: THREE.TOUCH.ROTATE, TWO: THREE.TOUCH.DOLLY_PAN };
38
- this._domElementKeyEvents = null;
43
+
44
+ _defineProperty(this, "object", void 0);
45
+
46
+ _defineProperty(this, "domElement", void 0);
47
+
48
+ _defineProperty(this, "enabled", true);
49
+
50
+ _defineProperty(this, "target", new Vector3());
51
+
52
+ _defineProperty(this, "minDistance", 0);
53
+
54
+ _defineProperty(this, "maxDistance", Infinity);
55
+
56
+ _defineProperty(this, "minZoom", 0);
57
+
58
+ _defineProperty(this, "maxZoom", Infinity);
59
+
60
+ _defineProperty(this, "minPolarAngle", 0);
61
+
62
+ _defineProperty(this, "maxPolarAngle", Math.PI);
63
+
64
+ _defineProperty(this, "minAzimuthAngle", -Infinity);
65
+
66
+ _defineProperty(this, "maxAzimuthAngle", Infinity);
67
+
68
+ _defineProperty(this, "enableDamping", false);
69
+
70
+ _defineProperty(this, "dampingFactor", 0.05);
71
+
72
+ _defineProperty(this, "enableZoom", true);
73
+
74
+ _defineProperty(this, "zoomSpeed", 1.0);
75
+
76
+ _defineProperty(this, "enableRotate", true);
77
+
78
+ _defineProperty(this, "rotateSpeed", 1.0);
79
+
80
+ _defineProperty(this, "enablePan", true);
81
+
82
+ _defineProperty(this, "panSpeed", 1.0);
83
+
84
+ _defineProperty(this, "screenSpacePanning", true);
85
+
86
+ _defineProperty(this, "keyPanSpeed", 7.0);
87
+
88
+ _defineProperty(this, "autoRotate", false);
89
+
90
+ _defineProperty(this, "autoRotateSpeed", 2.0);
91
+
92
+ _defineProperty(this, "reverseOrbit", false);
93
+
94
+ _defineProperty(this, "keys", {
95
+ LEFT: 'ArrowLeft',
96
+ UP: 'ArrowUp',
97
+ RIGHT: 'ArrowRight',
98
+ BOTTOM: 'ArrowDown'
99
+ });
100
+
101
+ _defineProperty(this, "mouseButtons", {
102
+ LEFT: MOUSE.ROTATE,
103
+ MIDDLE: MOUSE.DOLLY,
104
+ RIGHT: MOUSE.PAN
105
+ });
106
+
107
+ _defineProperty(this, "touches", {
108
+ ONE: TOUCH.ROTATE,
109
+ TWO: TOUCH.DOLLY_PAN
110
+ });
111
+
112
+ _defineProperty(this, "target0", void 0);
113
+
114
+ _defineProperty(this, "position0", void 0);
115
+
116
+ _defineProperty(this, "zoom0", void 0);
117
+
118
+ _defineProperty(this, "_domElementKeyEvents", null);
119
+
120
+ _defineProperty(this, "getPolarAngle", void 0);
121
+
122
+ _defineProperty(this, "getAzimuthalAngle", void 0);
123
+
124
+ _defineProperty(this, "setPolarAngle", void 0);
125
+
126
+ _defineProperty(this, "setAzimuthalAngle", void 0);
127
+
128
+ _defineProperty(this, "getDistance", void 0);
129
+
130
+ _defineProperty(this, "listenToKeyEvents", void 0);
131
+
132
+ _defineProperty(this, "saveState", void 0);
133
+
134
+ _defineProperty(this, "reset", void 0);
135
+
136
+ _defineProperty(this, "update", void 0);
137
+
138
+ _defineProperty(this, "connect", void 0);
139
+
140
+ _defineProperty(this, "dispose", void 0);
141
+
39
142
  this.object = object;
40
- this.domElement = domElement;
143
+ this.domElement = domElement; // for reset
144
+
41
145
  this.target0 = this.target.clone();
42
146
  this.position0 = this.object.position.clone();
43
- this.zoom0 = this.object instanceof THREE.PerspectiveCamera ? this.object.zoom : 1;
147
+ this.zoom0 = this.object instanceof PerspectiveCamera ? this.object.zoom : 1; //
148
+ // public methods
149
+ //
150
+
44
151
  this.getPolarAngle = () => spherical.phi;
152
+
45
153
  this.getAzimuthalAngle = () => spherical.theta;
46
- this.setPolarAngle = (value) => {
154
+
155
+ this.setPolarAngle = value => {
156
+ // use modulo wrapping to safeguard value
47
157
  let phi = moduloWrapAround(value, 2 * Math.PI);
48
- let currentPhi = spherical.phi;
49
- if (currentPhi < 0)
50
- currentPhi += 2 * Math.PI;
51
- if (phi < 0)
52
- phi += 2 * Math.PI;
158
+ let currentPhi = spherical.phi; // convert to the equivalent shortest angle
159
+
160
+ if (currentPhi < 0) currentPhi += 2 * Math.PI;
161
+ if (phi < 0) phi += 2 * Math.PI;
53
162
  let phiDist = Math.abs(phi - currentPhi);
163
+
54
164
  if (2 * Math.PI - phiDist < phiDist) {
55
165
  if (phi < currentPhi) {
56
166
  phi += 2 * Math.PI;
@@ -58,17 +168,20 @@ class OrbitControls extends THREE.EventDispatcher {
58
168
  currentPhi += 2 * Math.PI;
59
169
  }
60
170
  }
171
+
61
172
  sphericalDelta.phi = phi - currentPhi;
62
173
  scope.update();
63
174
  };
64
- this.setAzimuthalAngle = (value) => {
175
+
176
+ this.setAzimuthalAngle = value => {
177
+ // use modulo wrapping to safeguard value
65
178
  let theta = moduloWrapAround(value, 2 * Math.PI);
66
- let currentTheta = spherical.theta;
67
- if (currentTheta < 0)
68
- currentTheta += 2 * Math.PI;
69
- if (theta < 0)
70
- theta += 2 * Math.PI;
179
+ let currentTheta = spherical.theta; // convert to the equivalent shortest angle
180
+
181
+ if (currentTheta < 0) currentTheta += 2 * Math.PI;
182
+ if (theta < 0) theta += 2 * Math.PI;
71
183
  let thetaDist = Math.abs(theta - currentTheta);
184
+
72
185
  if (2 * Math.PI - thetaDist < thetaDist) {
73
186
  if (theta < currentTheta) {
74
187
  theta += 2 * Math.PI;
@@ -76,82 +189,101 @@ class OrbitControls extends THREE.EventDispatcher {
76
189
  currentTheta += 2 * Math.PI;
77
190
  }
78
191
  }
192
+
79
193
  sphericalDelta.theta = theta - currentTheta;
80
194
  scope.update();
81
195
  };
196
+
82
197
  this.getDistance = () => scope.object.position.distanceTo(scope.target);
83
- this.listenToKeyEvents = (domElement2) => {
84
- domElement2.addEventListener("keydown", onKeyDown);
85
- this._domElementKeyEvents = domElement2;
198
+
199
+ this.listenToKeyEvents = domElement => {
200
+ domElement.addEventListener('keydown', onKeyDown);
201
+ this._domElementKeyEvents = domElement;
86
202
  };
203
+
87
204
  this.saveState = () => {
88
205
  scope.target0.copy(scope.target);
89
206
  scope.position0.copy(scope.object.position);
90
- scope.zoom0 = scope.object instanceof THREE.PerspectiveCamera ? scope.object.zoom : 1;
207
+ scope.zoom0 = scope.object instanceof PerspectiveCamera ? scope.object.zoom : 1;
91
208
  };
209
+
92
210
  this.reset = () => {
93
211
  scope.target.copy(scope.target0);
94
212
  scope.object.position.copy(scope.position0);
95
- if (scope.object instanceof THREE.PerspectiveCamera) {
213
+
214
+ if (scope.object instanceof PerspectiveCamera) {
96
215
  scope.object.zoom = scope.zoom0;
97
216
  scope.object.updateProjectionMatrix();
98
217
  }
218
+
99
219
  scope.dispatchEvent(changeEvent);
100
220
  scope.update();
101
221
  state = STATE.NONE;
102
- };
222
+ }; // this method is exposed, but perhaps it would be better if we can make it private...
223
+
224
+
103
225
  this.update = (() => {
104
- const offset = new THREE.Vector3();
105
- const quat = new THREE.Quaternion().setFromUnitVectors(object.up, new THREE.Vector3(0, 1, 0));
226
+ const offset = new Vector3(); // so camera.up is the orbit axis
227
+
228
+ const quat = new Quaternion().setFromUnitVectors(object.up, new Vector3(0, 1, 0));
106
229
  const quatInverse = quat.clone().invert();
107
- const lastPosition = new THREE.Vector3();
108
- const lastQuaternion = new THREE.Quaternion();
230
+ const lastPosition = new Vector3();
231
+ const lastQuaternion = new Quaternion();
109
232
  const twoPI = 2 * Math.PI;
110
233
  return function update() {
111
234
  const position = scope.object.position;
112
- offset.copy(position).sub(scope.target);
113
- offset.applyQuaternion(quat);
235
+ offset.copy(position).sub(scope.target); // rotate offset to "y-axis-is-up" space
236
+
237
+ offset.applyQuaternion(quat); // angle from z-axis around y-axis
238
+
114
239
  spherical.setFromVector3(offset);
240
+
115
241
  if (scope.autoRotate && state === STATE.NONE) {
116
242
  rotateLeft(getAutoRotationAngle());
117
243
  }
244
+
118
245
  if (scope.enableDamping) {
119
246
  spherical.theta += sphericalDelta.theta * scope.dampingFactor;
120
247
  spherical.phi += sphericalDelta.phi * scope.dampingFactor;
121
248
  } else {
122
249
  spherical.theta += sphericalDelta.theta;
123
250
  spherical.phi += sphericalDelta.phi;
124
- }
251
+ } // restrict theta to be between desired limits
252
+
253
+
125
254
  let min = scope.minAzimuthAngle;
126
255
  let max = scope.maxAzimuthAngle;
256
+
127
257
  if (isFinite(min) && isFinite(max)) {
128
- if (min < -Math.PI)
129
- min += twoPI;
130
- else if (min > Math.PI)
131
- min -= twoPI;
132
- if (max < -Math.PI)
133
- max += twoPI;
134
- else if (max > Math.PI)
135
- max -= twoPI;
258
+ if (min < -Math.PI) min += twoPI;else if (min > Math.PI) min -= twoPI;
259
+ if (max < -Math.PI) max += twoPI;else if (max > Math.PI) max -= twoPI;
260
+
136
261
  if (min <= max) {
137
262
  spherical.theta = Math.max(min, Math.min(max, spherical.theta));
138
263
  } else {
139
264
  spherical.theta = spherical.theta > (min + max) / 2 ? Math.max(min, spherical.theta) : Math.min(max, spherical.theta);
140
265
  }
141
- }
266
+ } // restrict phi to be between desired limits
267
+
268
+
142
269
  spherical.phi = Math.max(scope.minPolarAngle, Math.min(scope.maxPolarAngle, spherical.phi));
143
270
  spherical.makeSafe();
144
- spherical.radius *= scale;
145
- spherical.radius = Math.max(scope.minDistance, Math.min(scope.maxDistance, spherical.radius));
271
+ spherical.radius *= scale; // restrict radius to be between desired limits
272
+
273
+ spherical.radius = Math.max(scope.minDistance, Math.min(scope.maxDistance, spherical.radius)); // move target to panned location
274
+
146
275
  if (scope.enableDamping === true) {
147
276
  scope.target.addScaledVector(panOffset, scope.dampingFactor);
148
277
  } else {
149
278
  scope.target.add(panOffset);
150
279
  }
151
- offset.setFromSpherical(spherical);
280
+
281
+ offset.setFromSpherical(spherical); // rotate offset back to "camera-up-vector-is-up" space
282
+
152
283
  offset.applyQuaternion(quatInverse);
153
284
  position.copy(scope.target).add(offset);
154
285
  scope.object.lookAt(scope.target);
286
+
155
287
  if (scope.enableDamping === true) {
156
288
  sphericalDelta.theta *= 1 - scope.dampingFactor;
157
289
  sphericalDelta.phi *= 1 - scope.dampingFactor;
@@ -160,7 +292,11 @@ class OrbitControls extends THREE.EventDispatcher {
160
292
  sphericalDelta.set(0, 0, 0);
161
293
  panOffset.set(0, 0, 0);
162
294
  }
163
- scale = 1;
295
+
296
+ scale = 1; // update condition is:
297
+ // min(camera displacement, camera rotation in radians)^2 > EPS
298
+ // using small-angle approximation cos(x/2) = 1 - x^2 / 8
299
+
164
300
  if (zoomChanged || lastPosition.distanceToSquared(scope.object.position) > EPS || 8 * (1 - lastQuaternion.dot(scope.object.quaternion)) > EPS) {
165
301
  scope.dispatchEvent(changeEvent);
166
302
  lastPosition.copy(scope.object.position);
@@ -168,38 +304,57 @@ class OrbitControls extends THREE.EventDispatcher {
168
304
  zoomChanged = false;
169
305
  return true;
170
306
  }
307
+
171
308
  return false;
172
309
  };
173
- })();
174
- this.connect = (domElement2) => {
175
- if (domElement2 === document) {
176
- console.error(
177
- 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'
178
- );
179
- }
180
- scope.domElement = domElement2;
181
- scope.domElement.style.touchAction = "none";
182
- scope.domElement.addEventListener("contextmenu", onContextMenu);
183
- scope.domElement.addEventListener("pointerdown", onPointerDown);
184
- scope.domElement.addEventListener("pointercancel", onPointerCancel);
185
- scope.domElement.addEventListener("wheel", onMouseWheel);
310
+ })(); // https://github.com/mrdoob/three.js/issues/20575
311
+
312
+
313
+ this.connect = domElement => {
314
+ if (domElement === document) {
315
+ console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.');
316
+ }
317
+
318
+ scope.domElement = domElement; // disables touch scroll
319
+ // touch-action needs to be defined for pointer events to work on mobile
320
+ // https://stackoverflow.com/a/48254578
321
+
322
+ scope.domElement.style.touchAction = 'none';
323
+ scope.domElement.addEventListener('contextmenu', onContextMenu);
324
+ scope.domElement.addEventListener('pointerdown', onPointerDown);
325
+ scope.domElement.addEventListener('pointercancel', onPointerCancel);
326
+ scope.domElement.addEventListener('wheel', onMouseWheel);
186
327
  };
328
+
187
329
  this.dispose = () => {
188
- var _a, _b, _c, _d, _e, _f;
189
- (_a = scope.domElement) == null ? void 0 : _a.removeEventListener("contextmenu", onContextMenu);
190
- (_b = scope.domElement) == null ? void 0 : _b.removeEventListener("pointerdown", onPointerDown);
191
- (_c = scope.domElement) == null ? void 0 : _c.removeEventListener("pointercancel", onPointerCancel);
192
- (_d = scope.domElement) == null ? void 0 : _d.removeEventListener("wheel", onMouseWheel);
193
- (_e = scope.domElement) == null ? void 0 : _e.ownerDocument.removeEventListener("pointermove", onPointerMove);
194
- (_f = scope.domElement) == null ? void 0 : _f.ownerDocument.removeEventListener("pointerup", onPointerUp);
330
+ var _scope$domElement, _scope$domElement2, _scope$domElement3, _scope$domElement4, _scope$domElement5, _scope$domElement6;
331
+
332
+ (_scope$domElement = scope.domElement) === null || _scope$domElement === void 0 ? void 0 : _scope$domElement.removeEventListener('contextmenu', onContextMenu);
333
+ (_scope$domElement2 = scope.domElement) === null || _scope$domElement2 === void 0 ? void 0 : _scope$domElement2.removeEventListener('pointerdown', onPointerDown);
334
+ (_scope$domElement3 = scope.domElement) === null || _scope$domElement3 === void 0 ? void 0 : _scope$domElement3.removeEventListener('pointercancel', onPointerCancel);
335
+ (_scope$domElement4 = scope.domElement) === null || _scope$domElement4 === void 0 ? void 0 : _scope$domElement4.removeEventListener('wheel', onMouseWheel);
336
+ (_scope$domElement5 = scope.domElement) === null || _scope$domElement5 === void 0 ? void 0 : _scope$domElement5.ownerDocument.removeEventListener('pointermove', onPointerMove);
337
+ (_scope$domElement6 = scope.domElement) === null || _scope$domElement6 === void 0 ? void 0 : _scope$domElement6.ownerDocument.removeEventListener('pointerup', onPointerUp);
338
+
195
339
  if (scope._domElementKeyEvents !== null) {
196
- scope._domElementKeyEvents.removeEventListener("keydown", onKeyDown);
197
- }
198
- };
340
+ scope._domElementKeyEvents.removeEventListener('keydown', onKeyDown);
341
+ } //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here?
342
+
343
+ }; //
344
+ // internals
345
+ //
346
+
347
+
199
348
  const scope = this;
200
- const changeEvent = { type: "change" };
201
- const startEvent = { type: "start" };
202
- const endEvent = { type: "end" };
349
+ const changeEvent = {
350
+ type: 'change'
351
+ };
352
+ const startEvent = {
353
+ type: 'start'
354
+ };
355
+ const endEvent = {
356
+ type: 'end'
357
+ };
203
358
  const STATE = {
204
359
  NONE: -1,
205
360
  ROTATE: 0,
@@ -211,29 +366,33 @@ class OrbitControls extends THREE.EventDispatcher {
211
366
  TOUCH_DOLLY_ROTATE: 6
212
367
  };
213
368
  let state = STATE.NONE;
214
- const EPS = 1e-6;
215
- const spherical = new THREE.Spherical();
216
- const sphericalDelta = new THREE.Spherical();
369
+ const EPS = 0.000001; // current position in spherical coordinates
370
+
371
+ const spherical = new Spherical();
372
+ const sphericalDelta = new Spherical();
217
373
  let scale = 1;
218
- const panOffset = new THREE.Vector3();
374
+ const panOffset = new Vector3();
219
375
  let zoomChanged = false;
220
- const rotateStart = new THREE.Vector2();
221
- const rotateEnd = new THREE.Vector2();
222
- const rotateDelta = new THREE.Vector2();
223
- const panStart = new THREE.Vector2();
224
- const panEnd = new THREE.Vector2();
225
- const panDelta = new THREE.Vector2();
226
- const dollyStart = new THREE.Vector2();
227
- const dollyEnd = new THREE.Vector2();
228
- const dollyDelta = new THREE.Vector2();
376
+ const rotateStart = new Vector2();
377
+ const rotateEnd = new Vector2();
378
+ const rotateDelta = new Vector2();
379
+ const panStart = new Vector2();
380
+ const panEnd = new Vector2();
381
+ const panDelta = new Vector2();
382
+ const dollyStart = new Vector2();
383
+ const dollyEnd = new Vector2();
384
+ const dollyDelta = new Vector2();
229
385
  const pointers = [];
230
386
  const pointerPositions = {};
387
+
231
388
  function getAutoRotationAngle() {
232
389
  return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed;
233
390
  }
391
+
234
392
  function getZoomScale() {
235
393
  return Math.pow(0.95, scope.zoomSpeed);
236
394
  }
395
+
237
396
  function rotateLeft(angle) {
238
397
  if (scope.reverseOrbit) {
239
398
  sphericalDelta.theta += angle;
@@ -241,6 +400,7 @@ class OrbitControls extends THREE.EventDispatcher {
241
400
  sphericalDelta.theta -= angle;
242
401
  }
243
402
  }
403
+
244
404
  function rotateUp(angle) {
245
405
  if (scope.reverseOrbit) {
246
406
  sphericalDelta.phi += angle;
@@ -248,108 +408,130 @@ class OrbitControls extends THREE.EventDispatcher {
248
408
  sphericalDelta.phi -= angle;
249
409
  }
250
410
  }
411
+
251
412
  const panLeft = (() => {
252
- const v = new THREE.Vector3();
253
- return function panLeft2(distance, objectMatrix) {
254
- v.setFromMatrixColumn(objectMatrix, 0);
413
+ const v = new Vector3();
414
+ return function panLeft(distance, objectMatrix) {
415
+ v.setFromMatrixColumn(objectMatrix, 0); // get X column of objectMatrix
416
+
255
417
  v.multiplyScalar(-distance);
256
418
  panOffset.add(v);
257
419
  };
258
420
  })();
421
+
259
422
  const panUp = (() => {
260
- const v = new THREE.Vector3();
261
- return function panUp2(distance, objectMatrix) {
423
+ const v = new Vector3();
424
+ return function panUp(distance, objectMatrix) {
262
425
  if (scope.screenSpacePanning === true) {
263
426
  v.setFromMatrixColumn(objectMatrix, 1);
264
427
  } else {
265
428
  v.setFromMatrixColumn(objectMatrix, 0);
266
429
  v.crossVectors(scope.object.up, v);
267
430
  }
431
+
268
432
  v.multiplyScalar(distance);
269
433
  panOffset.add(v);
270
434
  };
271
- })();
435
+ })(); // deltaX and deltaY are in pixels; right and down are positive
436
+
437
+
272
438
  const pan = (() => {
273
- const offset = new THREE.Vector3();
274
- return function pan2(deltaX, deltaY) {
439
+ const offset = new Vector3();
440
+ return function pan(deltaX, deltaY) {
275
441
  const element = scope.domElement;
276
- if (element && scope.object instanceof THREE.PerspectiveCamera && scope.object.isPerspectiveCamera) {
442
+
443
+ if (element && scope.object instanceof PerspectiveCamera && scope.object.isPerspectiveCamera) {
444
+ // perspective
277
445
  const position = scope.object.position;
278
446
  offset.copy(position).sub(scope.target);
279
- let targetDistance = offset.length();
280
- targetDistance *= Math.tan(scope.object.fov / 2 * Math.PI / 180);
447
+ let targetDistance = offset.length(); // half of the fov is center to top of screen
448
+
449
+ targetDistance *= Math.tan(scope.object.fov / 2 * Math.PI / 180.0); // we use only clientHeight here so aspect ratio does not distort speed
450
+
281
451
  panLeft(2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix);
282
452
  panUp(2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix);
283
- } else if (element && scope.object instanceof THREE.OrthographicCamera && scope.object.isOrthographicCamera) {
284
- panLeft(
285
- deltaX * (scope.object.right - scope.object.left) / scope.object.zoom / element.clientWidth,
286
- scope.object.matrix
287
- );
288
- panUp(
289
- deltaY * (scope.object.top - scope.object.bottom) / scope.object.zoom / element.clientHeight,
290
- scope.object.matrix
291
- );
453
+ } else if (element && scope.object instanceof OrthographicCamera && scope.object.isOrthographicCamera) {
454
+ // orthographic
455
+ panLeft(deltaX * (scope.object.right - scope.object.left) / scope.object.zoom / element.clientWidth, scope.object.matrix);
456
+ panUp(deltaY * (scope.object.top - scope.object.bottom) / scope.object.zoom / element.clientHeight, scope.object.matrix);
292
457
  } else {
293
- console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.");
458
+ // camera neither orthographic nor perspective
459
+ console.warn('WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.');
294
460
  scope.enablePan = false;
295
461
  }
296
462
  };
297
463
  })();
464
+
298
465
  function dollyOut(dollyScale) {
299
- if (scope.object instanceof THREE.PerspectiveCamera && scope.object.isPerspectiveCamera) {
466
+ if (scope.object instanceof PerspectiveCamera && scope.object.isPerspectiveCamera) {
300
467
  scale /= dollyScale;
301
- } else if (scope.object instanceof THREE.OrthographicCamera && scope.object.isOrthographicCamera) {
468
+ } else if (scope.object instanceof OrthographicCamera && scope.object.isOrthographicCamera) {
302
469
  scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom * dollyScale));
303
470
  scope.object.updateProjectionMatrix();
304
471
  zoomChanged = true;
305
472
  } else {
306
- console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.");
473
+ console.warn('WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.');
307
474
  scope.enableZoom = false;
308
475
  }
309
476
  }
477
+
310
478
  function dollyIn(dollyScale) {
311
- if (scope.object instanceof THREE.PerspectiveCamera && scope.object.isPerspectiveCamera) {
479
+ if (scope.object instanceof PerspectiveCamera && scope.object.isPerspectiveCamera) {
312
480
  scale *= dollyScale;
313
- } else if (scope.object instanceof THREE.OrthographicCamera && scope.object.isOrthographicCamera) {
481
+ } else if (scope.object instanceof OrthographicCamera && scope.object.isOrthographicCamera) {
314
482
  scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom / dollyScale));
315
483
  scope.object.updateProjectionMatrix();
316
484
  zoomChanged = true;
317
485
  } else {
318
- console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.");
486
+ console.warn('WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.');
319
487
  scope.enableZoom = false;
320
488
  }
321
- }
489
+ } //
490
+ // event callbacks - update the object state
491
+ //
492
+
493
+
322
494
  function handleMouseDownRotate(event) {
323
495
  rotateStart.set(event.clientX, event.clientY);
324
496
  }
497
+
325
498
  function handleMouseDownDolly(event) {
326
499
  dollyStart.set(event.clientX, event.clientY);
327
500
  }
501
+
328
502
  function handleMouseDownPan(event) {
329
503
  panStart.set(event.clientX, event.clientY);
330
504
  }
505
+
331
506
  function handleMouseMoveRotate(event) {
332
507
  rotateEnd.set(event.clientX, event.clientY);
333
508
  rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed);
334
509
  const element = scope.domElement;
510
+
335
511
  if (element) {
336
- rotateLeft(2 * Math.PI * rotateDelta.x / element.clientHeight);
512
+ rotateLeft(2 * Math.PI * rotateDelta.x / element.clientHeight); // yes, height
513
+
337
514
  rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight);
338
515
  }
516
+
339
517
  rotateStart.copy(rotateEnd);
340
518
  scope.update();
341
519
  }
520
+
342
521
  function handleMouseMoveDolly(event) {
343
522
  dollyEnd.set(event.clientX, event.clientY);
344
523
  dollyDelta.subVectors(dollyEnd, dollyStart);
524
+
345
525
  if (dollyDelta.y > 0) {
346
526
  dollyOut(getZoomScale());
347
527
  } else if (dollyDelta.y < 0) {
348
528
  dollyIn(getZoomScale());
349
529
  }
530
+
350
531
  dollyStart.copy(dollyEnd);
351
532
  scope.update();
352
533
  }
534
+
353
535
  function handleMouseMovePan(event) {
354
536
  panEnd.set(event.clientX, event.clientY);
355
537
  panDelta.subVectors(panEnd, panStart).multiplyScalar(scope.panSpeed);
@@ -357,39 +539,49 @@ class OrbitControls extends THREE.EventDispatcher {
357
539
  panStart.copy(panEnd);
358
540
  scope.update();
359
541
  }
542
+
360
543
  function handleMouseWheel(event) {
361
544
  if (event.deltaY < 0) {
362
545
  dollyIn(getZoomScale());
363
546
  } else if (event.deltaY > 0) {
364
547
  dollyOut(getZoomScale());
365
548
  }
549
+
366
550
  scope.update();
367
551
  }
552
+
368
553
  function handleKeyDown(event) {
369
554
  let needsUpdate = false;
555
+
370
556
  switch (event.code) {
371
557
  case scope.keys.UP:
372
558
  pan(0, scope.keyPanSpeed);
373
559
  needsUpdate = true;
374
560
  break;
561
+
375
562
  case scope.keys.BOTTOM:
376
563
  pan(0, -scope.keyPanSpeed);
377
564
  needsUpdate = true;
378
565
  break;
566
+
379
567
  case scope.keys.LEFT:
380
568
  pan(scope.keyPanSpeed, 0);
381
569
  needsUpdate = true;
382
570
  break;
571
+
383
572
  case scope.keys.RIGHT:
384
573
  pan(-scope.keyPanSpeed, 0);
385
574
  needsUpdate = true;
386
575
  break;
387
576
  }
577
+
388
578
  if (needsUpdate) {
579
+ // prevent the browser from scrolling on cursor keys
389
580
  event.preventDefault();
390
581
  scope.update();
391
582
  }
392
583
  }
584
+
393
585
  function handleTouchStartRotate() {
394
586
  if (pointers.length == 1) {
395
587
  rotateStart.set(pointers[0].pageX, pointers[0].pageY);
@@ -399,6 +591,7 @@ class OrbitControls extends THREE.EventDispatcher {
399
591
  rotateStart.set(x, y);
400
592
  }
401
593
  }
594
+
402
595
  function handleTouchStartPan() {
403
596
  if (pointers.length == 1) {
404
597
  panStart.set(pointers[0].pageX, pointers[0].pageY);
@@ -408,24 +601,24 @@ class OrbitControls extends THREE.EventDispatcher {
408
601
  panStart.set(x, y);
409
602
  }
410
603
  }
604
+
411
605
  function handleTouchStartDolly() {
412
606
  const dx = pointers[0].pageX - pointers[1].pageX;
413
607
  const dy = pointers[0].pageY - pointers[1].pageY;
414
608
  const distance = Math.sqrt(dx * dx + dy * dy);
415
609
  dollyStart.set(0, distance);
416
610
  }
611
+
417
612
  function handleTouchStartDollyPan() {
418
- if (scope.enableZoom)
419
- handleTouchStartDolly();
420
- if (scope.enablePan)
421
- handleTouchStartPan();
613
+ if (scope.enableZoom) handleTouchStartDolly();
614
+ if (scope.enablePan) handleTouchStartPan();
422
615
  }
616
+
423
617
  function handleTouchStartDollyRotate() {
424
- if (scope.enableZoom)
425
- handleTouchStartDolly();
426
- if (scope.enableRotate)
427
- handleTouchStartRotate();
618
+ if (scope.enableZoom) handleTouchStartDolly();
619
+ if (scope.enableRotate) handleTouchStartRotate();
428
620
  }
621
+
429
622
  function handleTouchMoveRotate(event) {
430
623
  if (pointers.length == 1) {
431
624
  rotateEnd.set(event.pageX, event.pageY);
@@ -435,14 +628,19 @@ class OrbitControls extends THREE.EventDispatcher {
435
628
  const y = 0.5 * (event.pageY + position.y);
436
629
  rotateEnd.set(x, y);
437
630
  }
631
+
438
632
  rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed);
439
633
  const element = scope.domElement;
634
+
440
635
  if (element) {
441
- rotateLeft(2 * Math.PI * rotateDelta.x / element.clientHeight);
636
+ rotateLeft(2 * Math.PI * rotateDelta.x / element.clientHeight); // yes, height
637
+
442
638
  rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight);
443
639
  }
640
+
444
641
  rotateStart.copy(rotateEnd);
445
642
  }
643
+
446
644
  function handleTouchMovePan(event) {
447
645
  if (pointers.length == 1) {
448
646
  panEnd.set(event.pageX, event.pageY);
@@ -452,10 +650,12 @@ class OrbitControls extends THREE.EventDispatcher {
452
650
  const y = 0.5 * (event.pageY + position.y);
453
651
  panEnd.set(x, y);
454
652
  }
653
+
455
654
  panDelta.subVectors(panEnd, panStart).multiplyScalar(scope.panSpeed);
456
655
  pan(panDelta.x, panDelta.y);
457
656
  panStart.copy(panEnd);
458
657
  }
658
+
459
659
  function handleTouchMoveDolly(event) {
460
660
  const position = getSecondPointerPosition(event);
461
661
  const dx = event.pageX - position.x;
@@ -466,233 +666,265 @@ class OrbitControls extends THREE.EventDispatcher {
466
666
  dollyOut(dollyDelta.y);
467
667
  dollyStart.copy(dollyEnd);
468
668
  }
669
+
469
670
  function handleTouchMoveDollyPan(event) {
470
- if (scope.enableZoom)
471
- handleTouchMoveDolly(event);
472
- if (scope.enablePan)
473
- handleTouchMovePan(event);
671
+ if (scope.enableZoom) handleTouchMoveDolly(event);
672
+ if (scope.enablePan) handleTouchMovePan(event);
474
673
  }
674
+
475
675
  function handleTouchMoveDollyRotate(event) {
476
- if (scope.enableZoom)
477
- handleTouchMoveDolly(event);
478
- if (scope.enableRotate)
479
- handleTouchMoveRotate(event);
480
- }
676
+ if (scope.enableZoom) handleTouchMoveDolly(event);
677
+ if (scope.enableRotate) handleTouchMoveRotate(event);
678
+ } //
679
+ // event handlers - FSM: listen for events and reset state
680
+ //
681
+
682
+
481
683
  function onPointerDown(event) {
482
- var _a, _b;
483
- if (scope.enabled === false)
484
- return;
684
+ if (scope.enabled === false) return;
685
+
485
686
  if (pointers.length === 0) {
486
- (_a = scope.domElement) == null ? void 0 : _a.ownerDocument.addEventListener("pointermove", onPointerMove);
487
- (_b = scope.domElement) == null ? void 0 : _b.ownerDocument.addEventListener("pointerup", onPointerUp);
687
+ var _scope$domElement7, _scope$domElement8;
688
+
689
+ (_scope$domElement7 = scope.domElement) === null || _scope$domElement7 === void 0 ? void 0 : _scope$domElement7.ownerDocument.addEventListener('pointermove', onPointerMove);
690
+ (_scope$domElement8 = scope.domElement) === null || _scope$domElement8 === void 0 ? void 0 : _scope$domElement8.ownerDocument.addEventListener('pointerup', onPointerUp);
488
691
  }
692
+
489
693
  addPointer(event);
490
- if (event.pointerType === "touch") {
694
+
695
+ if (event.pointerType === 'touch') {
491
696
  onTouchStart(event);
492
697
  } else {
493
698
  onMouseDown(event);
494
699
  }
495
700
  }
701
+
496
702
  function onPointerMove(event) {
497
- if (scope.enabled === false)
498
- return;
499
- if (event.pointerType === "touch") {
703
+ if (scope.enabled === false) return;
704
+
705
+ if (event.pointerType === 'touch') {
500
706
  onTouchMove(event);
501
707
  } else {
502
708
  onMouseMove(event);
503
709
  }
504
710
  }
711
+
505
712
  function onPointerUp(event) {
506
- var _a, _b, _c;
507
713
  removePointer(event);
714
+
508
715
  if (pointers.length === 0) {
509
- (_a = scope.domElement) == null ? void 0 : _a.releasePointerCapture(event.pointerId);
510
- (_b = scope.domElement) == null ? void 0 : _b.ownerDocument.removeEventListener("pointermove", onPointerMove);
511
- (_c = scope.domElement) == null ? void 0 : _c.ownerDocument.removeEventListener("pointerup", onPointerUp);
716
+ var _scope$domElement9, _scope$domElement10, _scope$domElement11;
717
+
718
+ (_scope$domElement9 = scope.domElement) === null || _scope$domElement9 === void 0 ? void 0 : _scope$domElement9.releasePointerCapture(event.pointerId);
719
+ (_scope$domElement10 = scope.domElement) === null || _scope$domElement10 === void 0 ? void 0 : _scope$domElement10.ownerDocument.removeEventListener('pointermove', onPointerMove);
720
+ (_scope$domElement11 = scope.domElement) === null || _scope$domElement11 === void 0 ? void 0 : _scope$domElement11.ownerDocument.removeEventListener('pointerup', onPointerUp);
512
721
  }
722
+
513
723
  scope.dispatchEvent(endEvent);
514
724
  state = STATE.NONE;
515
725
  }
726
+
516
727
  function onPointerCancel(event) {
517
728
  removePointer(event);
518
729
  }
730
+
519
731
  function onMouseDown(event) {
520
732
  let mouseAction;
733
+
521
734
  switch (event.button) {
522
735
  case 0:
523
736
  mouseAction = scope.mouseButtons.LEFT;
524
737
  break;
738
+
525
739
  case 1:
526
740
  mouseAction = scope.mouseButtons.MIDDLE;
527
741
  break;
742
+
528
743
  case 2:
529
744
  mouseAction = scope.mouseButtons.RIGHT;
530
745
  break;
746
+
531
747
  default:
532
748
  mouseAction = -1;
533
749
  }
750
+
534
751
  switch (mouseAction) {
535
- case THREE.MOUSE.DOLLY:
536
- if (scope.enableZoom === false)
537
- return;
752
+ case MOUSE.DOLLY:
753
+ if (scope.enableZoom === false) return;
538
754
  handleMouseDownDolly(event);
539
755
  state = STATE.DOLLY;
540
756
  break;
541
- case THREE.MOUSE.ROTATE:
757
+
758
+ case MOUSE.ROTATE:
542
759
  if (event.ctrlKey || event.metaKey || event.shiftKey) {
543
- if (scope.enablePan === false)
544
- return;
760
+ if (scope.enablePan === false) return;
545
761
  handleMouseDownPan(event);
546
762
  state = STATE.PAN;
547
763
  } else {
548
- if (scope.enableRotate === false)
549
- return;
764
+ if (scope.enableRotate === false) return;
550
765
  handleMouseDownRotate(event);
551
766
  state = STATE.ROTATE;
552
767
  }
768
+
553
769
  break;
554
- case THREE.MOUSE.PAN:
770
+
771
+ case MOUSE.PAN:
555
772
  if (event.ctrlKey || event.metaKey || event.shiftKey) {
556
- if (scope.enableRotate === false)
557
- return;
773
+ if (scope.enableRotate === false) return;
558
774
  handleMouseDownRotate(event);
559
775
  state = STATE.ROTATE;
560
776
  } else {
561
- if (scope.enablePan === false)
562
- return;
777
+ if (scope.enablePan === false) return;
563
778
  handleMouseDownPan(event);
564
779
  state = STATE.PAN;
565
780
  }
781
+
566
782
  break;
783
+
567
784
  default:
568
785
  state = STATE.NONE;
569
786
  }
787
+
570
788
  if (state !== STATE.NONE) {
571
789
  scope.dispatchEvent(startEvent);
572
790
  }
573
791
  }
792
+
574
793
  function onMouseMove(event) {
575
- if (scope.enabled === false)
576
- return;
794
+ if (scope.enabled === false) return;
795
+
577
796
  switch (state) {
578
797
  case STATE.ROTATE:
579
- if (scope.enableRotate === false)
580
- return;
798
+ if (scope.enableRotate === false) return;
581
799
  handleMouseMoveRotate(event);
582
800
  break;
801
+
583
802
  case STATE.DOLLY:
584
- if (scope.enableZoom === false)
585
- return;
803
+ if (scope.enableZoom === false) return;
586
804
  handleMouseMoveDolly(event);
587
805
  break;
806
+
588
807
  case STATE.PAN:
589
- if (scope.enablePan === false)
590
- return;
808
+ if (scope.enablePan === false) return;
591
809
  handleMouseMovePan(event);
592
810
  break;
593
811
  }
594
812
  }
813
+
595
814
  function onMouseWheel(event) {
596
815
  if (scope.enabled === false || scope.enableZoom === false || state !== STATE.NONE && state !== STATE.ROTATE) {
597
816
  return;
598
817
  }
818
+
599
819
  event.preventDefault();
600
820
  scope.dispatchEvent(startEvent);
601
821
  handleMouseWheel(event);
602
822
  scope.dispatchEvent(endEvent);
603
823
  }
824
+
604
825
  function onKeyDown(event) {
605
- if (scope.enabled === false || scope.enablePan === false)
606
- return;
826
+ if (scope.enabled === false || scope.enablePan === false) return;
607
827
  handleKeyDown(event);
608
828
  }
829
+
609
830
  function onTouchStart(event) {
610
831
  trackPointer(event);
832
+
611
833
  switch (pointers.length) {
612
834
  case 1:
613
835
  switch (scope.touches.ONE) {
614
- case THREE.TOUCH.ROTATE:
615
- if (scope.enableRotate === false)
616
- return;
836
+ case TOUCH.ROTATE:
837
+ if (scope.enableRotate === false) return;
617
838
  handleTouchStartRotate();
618
839
  state = STATE.TOUCH_ROTATE;
619
840
  break;
620
- case THREE.TOUCH.PAN:
621
- if (scope.enablePan === false)
622
- return;
841
+
842
+ case TOUCH.PAN:
843
+ if (scope.enablePan === false) return;
623
844
  handleTouchStartPan();
624
845
  state = STATE.TOUCH_PAN;
625
846
  break;
847
+
626
848
  default:
627
849
  state = STATE.NONE;
628
850
  }
851
+
629
852
  break;
853
+
630
854
  case 2:
631
855
  switch (scope.touches.TWO) {
632
- case THREE.TOUCH.DOLLY_PAN:
633
- if (scope.enableZoom === false && scope.enablePan === false)
634
- return;
856
+ case TOUCH.DOLLY_PAN:
857
+ if (scope.enableZoom === false && scope.enablePan === false) return;
635
858
  handleTouchStartDollyPan();
636
859
  state = STATE.TOUCH_DOLLY_PAN;
637
860
  break;
638
- case THREE.TOUCH.DOLLY_ROTATE:
639
- if (scope.enableZoom === false && scope.enableRotate === false)
640
- return;
861
+
862
+ case TOUCH.DOLLY_ROTATE:
863
+ if (scope.enableZoom === false && scope.enableRotate === false) return;
641
864
  handleTouchStartDollyRotate();
642
865
  state = STATE.TOUCH_DOLLY_ROTATE;
643
866
  break;
867
+
644
868
  default:
645
869
  state = STATE.NONE;
646
870
  }
871
+
647
872
  break;
873
+
648
874
  default:
649
875
  state = STATE.NONE;
650
876
  }
877
+
651
878
  if (state !== STATE.NONE) {
652
879
  scope.dispatchEvent(startEvent);
653
880
  }
654
881
  }
882
+
655
883
  function onTouchMove(event) {
656
884
  trackPointer(event);
885
+
657
886
  switch (state) {
658
887
  case STATE.TOUCH_ROTATE:
659
- if (scope.enableRotate === false)
660
- return;
888
+ if (scope.enableRotate === false) return;
661
889
  handleTouchMoveRotate(event);
662
890
  scope.update();
663
891
  break;
892
+
664
893
  case STATE.TOUCH_PAN:
665
- if (scope.enablePan === false)
666
- return;
894
+ if (scope.enablePan === false) return;
667
895
  handleTouchMovePan(event);
668
896
  scope.update();
669
897
  break;
898
+
670
899
  case STATE.TOUCH_DOLLY_PAN:
671
- if (scope.enableZoom === false && scope.enablePan === false)
672
- return;
900
+ if (scope.enableZoom === false && scope.enablePan === false) return;
673
901
  handleTouchMoveDollyPan(event);
674
902
  scope.update();
675
903
  break;
904
+
676
905
  case STATE.TOUCH_DOLLY_ROTATE:
677
- if (scope.enableZoom === false && scope.enableRotate === false)
678
- return;
906
+ if (scope.enableZoom === false && scope.enableRotate === false) return;
679
907
  handleTouchMoveDollyRotate(event);
680
908
  scope.update();
681
909
  break;
910
+
682
911
  default:
683
912
  state = STATE.NONE;
684
913
  }
685
914
  }
915
+
686
916
  function onContextMenu(event) {
687
- if (scope.enabled === false)
688
- return;
917
+ if (scope.enabled === false) return;
689
918
  event.preventDefault();
690
919
  }
920
+
691
921
  function addPointer(event) {
692
922
  pointers.push(event);
693
923
  }
924
+
694
925
  function removePointer(event) {
695
926
  delete pointerPositions[event.pointerId];
927
+
696
928
  for (let i = 0; i < pointers.length; i++) {
697
929
  if (pointers[i].pointerId == event.pointerId) {
698
930
  pointers.splice(i, 1);
@@ -700,32 +932,49 @@ class OrbitControls extends THREE.EventDispatcher {
700
932
  }
701
933
  }
702
934
  }
935
+
703
936
  function trackPointer(event) {
704
937
  let position = pointerPositions[event.pointerId];
705
- if (position === void 0) {
706
- position = new THREE.Vector2();
938
+
939
+ if (position === undefined) {
940
+ position = new Vector2();
707
941
  pointerPositions[event.pointerId] = position;
708
942
  }
943
+
709
944
  position.set(event.pageX, event.pageY);
710
945
  }
946
+
711
947
  function getSecondPointerPosition(event) {
712
948
  const pointer = event.pointerId === pointers[0].pointerId ? pointers[1] : pointers[0];
713
949
  return pointerPositions[pointer.pointerId];
714
- }
715
- if (domElement !== void 0)
716
- this.connect(domElement);
950
+ } // connect events
951
+
952
+
953
+ if (domElement !== undefined) this.connect(domElement); // force an update at start
954
+
717
955
  this.update();
718
956
  }
719
- }
957
+
958
+ } // This set of controls performs orbiting, dollying (zooming), and panning.
959
+ // Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
960
+ // This is very similar to OrbitControls, another set of touch behavior
961
+ //
962
+ // Orbit - right mouse, or left mouse + ctrl/meta/shiftKey / touch: two-finger rotate
963
+ // Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish
964
+ // Pan - left mouse, or arrow keys / touch: one-finger move
965
+
966
+
720
967
  class MapControls extends OrbitControls {
721
968
  constructor(object, domElement) {
722
969
  super(object, domElement);
723
- this.screenSpacePanning = false;
724
- this.mouseButtons.LEFT = THREE.MOUSE.PAN;
725
- this.mouseButtons.RIGHT = THREE.MOUSE.ROTATE;
726
- this.touches.ONE = THREE.TOUCH.PAN;
727
- this.touches.TWO = THREE.TOUCH.DOLLY_ROTATE;
970
+ this.screenSpacePanning = false; // pan orthogonal to world-space direction camera.up
971
+
972
+ this.mouseButtons.LEFT = MOUSE.PAN;
973
+ this.mouseButtons.RIGHT = MOUSE.ROTATE;
974
+ this.touches.ONE = TOUCH.PAN;
975
+ this.touches.TWO = TOUCH.DOLLY_ROTATE;
728
976
  }
977
+
729
978
  }
730
- exports.MapControls = MapControls;
731
- exports.OrbitControls = OrbitControls;
979
+
980
+ export { MapControls, OrbitControls };