three-stdlib 2.15.2 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1218) 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 +275 -207
  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.js +152 -82
  25. package/controls/OrbitControls.cjs.js +1 -0
  26. package/controls/OrbitControls.js +481 -232
  27. package/controls/PointerLockControls.cjs.js +1 -0
  28. package/controls/PointerLockControls.js +99 -63
  29. package/controls/TrackballControls.cjs.js +1 -0
  30. package/controls/TrackballControls.js +383 -211
  31. package/controls/TransformControls.cjs.js +1 -0
  32. package/controls/TransformControls.js +782 -575
  33. package/controls/experimental/CameraControls.cjs.js +1 -0
  34. package/controls/experimental/CameraControls.js +609 -329
  35. package/csm/CSM.cjs.js +1 -0
  36. package/csm/CSM.js +108 -47
  37. package/csm/CSMFrustum.cjs.js +1 -0
  38. package/csm/CSMFrustum.js +29 -14
  39. package/csm/CSMHelper.cjs.js +1 -0
  40. package/csm/CSMHelper.js +34 -20
  41. package/csm/CSMShader.cjs.js +1 -0
  42. package/csm/CSMShader.js +11 -7
  43. package/curves/CurveExtras.cjs.js +1 -0
  44. package/curves/CurveExtras.js +115 -73
  45. package/curves/NURBSCurve.cjs.js +1 -0
  46. package/curves/NURBSCurve.js +43 -15
  47. package/curves/NURBSSurface.cjs.js +1 -0
  48. package/curves/NURBSSurface.js +27 -11
  49. package/curves/NURBSUtils.cjs.js +1 -0
  50. package/curves/NURBSUtils.js +203 -54
  51. package/custom.d.cjs.js +1 -0
  52. package/{shaders/types.mjs → custom.d.js} +0 -0
  53. package/deprecated/Geometry.cjs.js +1 -0
  54. package/deprecated/Geometry.js +486 -191
  55. package/effects/AnaglyphEffect.cjs.js +1 -0
  56. package/effects/AnaglyphEffect.js +60 -95
  57. package/effects/AsciiEffect.cjs.js +1 -0
  58. package/effects/AsciiEffect.js +110 -80
  59. package/effects/OutlineEffect.cjs.js +1 -0
  60. package/effects/OutlineEffect.js +204 -121
  61. package/effects/ParallaxBarrierEffect.cjs.js +1 -0
  62. package/effects/ParallaxBarrierEffect.js +38 -39
  63. package/effects/PeppersGhostEffect.cjs.js +1 -0
  64. package/effects/PeppersGhostEffect.js +68 -19
  65. package/effects/StereoEffect.cjs.js +1 -0
  66. package/effects/StereoEffect.js +16 -12
  67. package/environments/RoomEnvironment.cjs.js +1 -0
  68. package/environments/RoomEnvironment.js +47 -52
  69. package/exporters/ColladaExporter.cjs.js +1 -0
  70. package/exporters/ColladaExporter.js +241 -115
  71. package/exporters/DRACOExporter.cjs.js +1 -0
  72. package/exporters/DRACOExporter.js +121 -67
  73. package/exporters/GLTFExporter.cjs.js +1 -0
  74. package/exporters/GLTFExporter.js +1014 -463
  75. package/exporters/MMDExporter.cjs.js +1 -0
  76. package/exporters/MMDExporter.js +102 -44
  77. package/exporters/OBJExporter.cjs.js +1 -0
  78. package/exporters/OBJExporter.js +140 -78
  79. package/exporters/PLYExporter.cjs.js +1 -0
  80. package/exporters/PLYExporter.js +154 -93
  81. package/exporters/STLExporter.cjs.js +1 -0
  82. package/exporters/STLExporter.js +81 -30
  83. package/exporters/USDZExporter.cjs.js +1 -0
  84. package/exporters/USDZExporter.js +144 -84
  85. package/geometries/BoxLineGeometry.cjs.js +1 -0
  86. package/geometries/BoxLineGeometry.js +14 -7
  87. package/geometries/ConvexGeometry.cjs.js +1 -0
  88. package/geometries/ConvexGeometry.js +23 -14
  89. package/geometries/DecalGeometry.cjs.js +1 -0
  90. package/geometries/DecalGeometry.js +162 -108
  91. package/geometries/LightningStrike.cjs.js +1 -0
  92. package/geometries/LightningStrike.js +294 -101
  93. package/geometries/ParametricGeometries.cjs.js +1 -0
  94. package/geometries/ParametricGeometries.js +76 -26
  95. package/geometries/ParametricGeometry.cjs.js +1 -0
  96. package/geometries/ParametricGeometry.js +48 -24
  97. package/geometries/RoundedBoxGeometry.cjs.js +1 -0
  98. package/geometries/RoundedBoxGeometry.js +64 -33
  99. package/geometries/TeapotGeometry.cjs.js +1 -0
  100. package/geometries/TeapotGeometry.js +174 -1434
  101. package/geometries/TextGeometry.cjs.js +1 -0
  102. package/geometries/TextGeometry.js +17 -9
  103. package/helpers/LightProbeHelper.cjs.js +1 -0
  104. package/helpers/LightProbeHelper.js +21 -53
  105. package/helpers/PositionalAudioHelper.cjs.js +1 -0
  106. package/helpers/PositionalAudioHelper.js +30 -23
  107. package/helpers/RectAreaLightHelper.cjs.js +1 -0
  108. package/helpers/RectAreaLightHelper.js +33 -17
  109. package/helpers/VertexNormalsHelper.cjs.js +1 -0
  110. package/helpers/VertexNormalsHelper.js +41 -20
  111. package/helpers/VertexTangentsHelper.cjs.js +1 -0
  112. package/helpers/VertexTangentsHelper.js +36 -18
  113. package/index.cjs.js +1 -0
  114. package/index.js +333 -968
  115. package/interactive/InteractiveGroup.cjs.js +1 -0
  116. package/interactive/InteractiveGroup.d.ts +5 -0
  117. package/interactive/InteractiveGroup.js +87 -0
  118. package/interactive/SelectionBox.cjs.js +1 -0
  119. package/interactive/SelectionBox.js +46 -31
  120. package/interactive/SelectionHelper.cjs.js +1 -0
  121. package/interactive/SelectionHelper.js +21 -16
  122. package/libs/MeshoptDecoder.cjs.js +1 -0
  123. package/libs/MeshoptDecoder.js +58 -147
  124. package/libs/MotionControllers.cjs.js +1 -0
  125. package/libs/MotionControllers.js +208 -66
  126. package/lights/LightProbeGenerator.cjs.js +1 -0
  127. package/lights/LightProbeGenerator.js +96 -40
  128. package/lights/RectAreaLightUniformsLib.cjs.js +1 -0
  129. package/lights/RectAreaLightUniformsLib.js +9 -32842
  130. package/lines/Line2.cjs.js +1 -0
  131. package/lines/Line2.js +12 -9
  132. package/lines/LineGeometry.cjs.js +1 -0
  133. package/lines/LineGeometry.js +19 -7
  134. package/lines/LineMaterial.cjs.js +1 -0
  135. package/lines/LineMaterial.js +89 -51
  136. package/lines/LineSegments2.cjs.js +1 -0
  137. package/lines/LineSegments2.js +165 -56
  138. package/lines/LineSegmentsGeometry.cjs.js +1 -0
  139. package/lines/LineSegmentsGeometry.js +71 -29
  140. package/lines/Wireframe.cjs.js +1 -0
  141. package/lines/Wireframe.js +29 -15
  142. package/lines/WireframeGeometry2.cjs.js +1 -0
  143. package/lines/WireframeGeometry2.js +9 -8
  144. package/loaders/3DMLoader.cjs.js +1 -0
  145. package/loaders/3DMLoader.js +469 -234
  146. package/loaders/3MFLoader.cjs.js +1 -0
  147. package/loaders/3MFLoader.js +555 -340
  148. package/loaders/AMFLoader.cjs.js +1 -0
  149. package/loaders/AMFLoader.js +219 -114
  150. package/loaders/AssimpLoader.cjs.js +1 -0
  151. package/loaders/AssimpLoader.js +725 -328
  152. package/loaders/BVHLoader.cjs.js +1 -0
  153. package/loaders/BVHLoader.js +200 -94
  154. package/loaders/BasisTextureLoader.cjs.js +1 -0
  155. package/loaders/BasisTextureLoader.js +357 -229
  156. package/loaders/ColladaLoader.cjs.js +1 -0
  157. package/loaders/ColladaLoader.js +1522 -932
  158. package/loaders/DDSLoader.cjs.js +1 -0
  159. package/loaders/DDSLoader.js +108 -42
  160. package/loaders/DRACOLoader.cjs.js +1 -0
  161. package/loaders/DRACOLoader.js +210 -103
  162. package/loaders/EXRLoader.cjs.js +1 -0
  163. package/loaders/EXRLoader.js +809 -461
  164. package/loaders/FBXLoader.cjs.js +1 -0
  165. package/loaders/FBXLoader.js +1397 -842
  166. package/loaders/FontLoader.cjs.js +1 -0
  167. package/loaders/FontLoader.js +66 -33
  168. package/loaders/GCodeLoader.cjs.js +1 -0
  169. package/loaders/GCodeLoader.js +111 -63
  170. package/loaders/GLTFLoader.cjs.js +1 -0
  171. package/loaders/GLTFLoader.js +1484 -771
  172. package/loaders/HDRCubeTextureLoader.cjs.js +1 -0
  173. package/loaders/HDRCubeTextureLoader.js +50 -45
  174. package/loaders/KMZLoader.cjs.js +1 -0
  175. package/loaders/KMZLoader.js +55 -42
  176. package/loaders/KTX2Loader.cjs.js +1 -0
  177. package/loaders/KTX2Loader.js +362 -229
  178. package/loaders/KTXLoader.cjs.js +1 -0
  179. package/loaders/KTXLoader.js +99 -37
  180. package/loaders/LDrawLoader.cjs.js +1 -0
  181. package/loaders/LDrawLoader.js +746 -313
  182. package/loaders/LUT3dlLoader.cjs.js +1 -0
  183. package/loaders/LUT3dlLoader.js +62 -50
  184. package/loaders/LUTCubeLoader.cjs.js +1 -0
  185. package/loaders/LUTCubeLoader.js +56 -45
  186. package/loaders/LWOLoader.cjs.js +1 -0
  187. package/loaders/LWOLoader.js +339 -227
  188. package/loaders/LottieLoader.cjs.js +1 -0
  189. package/loaders/LottieLoader.js +38 -36
  190. package/loaders/MD2Loader.cjs.js +1 -0
  191. package/loaders/MD2Loader.js +91 -248
  192. package/loaders/MDDLoader.cjs.js +1 -0
  193. package/loaders/MDDLoader.js +45 -25
  194. package/loaders/MMDLoader.cjs.js +1 -0
  195. package/loaders/MMDLoader.js +795 -359
  196. package/loaders/MTLLoader.cjs.js +1 -0
  197. package/loaders/MTLLoader.js +201 -91
  198. package/loaders/NRRDLoader.cjs.js +1 -0
  199. package/loaders/NRRDLoader.js +263 -182
  200. package/loaders/NodeMaterialLoader.cjs.js +1 -0
  201. package/loaders/NodeMaterialLoader.js +14 -121
  202. package/loaders/OBJLoader.cjs.js +1 -0
  203. package/loaders/OBJLoader.js +283 -161
  204. package/loaders/PCDLoader.cjs.js +1 -0
  205. package/loaders/PCDLoader.js +164 -145
  206. package/loaders/PDBLoader.cjs.js +1 -0
  207. package/loaders/PDBLoader.js +63 -45
  208. package/loaders/PLYLoader.cjs.js +1 -0
  209. package/loaders/PLYLoader.js +203 -106
  210. package/loaders/PRWMLoader.cjs.js +1 -0
  211. package/loaders/PRWMLoader.js +110 -73
  212. package/loaders/PVRLoader.cjs.js +1 -0
  213. package/loaders/PVRLoader.js +93 -32
  214. package/loaders/RGBELoader.cjs.js +1 -0
  215. package/loaders/RGBELoader.js +233 -96
  216. package/loaders/RGBMLoader.cjs.js +1 -0
  217. package/loaders/RGBMLoader.js +514 -344
  218. package/loaders/STLLoader.cjs.js +1 -0
  219. package/loaders/STLLoader.js +165 -59
  220. package/loaders/SVGLoader.cjs.js +1 -0
  221. package/loaders/SVGLoader.js +851 -481
  222. package/loaders/TDSLoader.cjs.js +1 -0
  223. package/loaders/TDSLoader.js +527 -137
  224. package/loaders/TGALoader.cjs.js +1 -0
  225. package/loaders/TGALoader.js +205 -94
  226. package/loaders/TTFLoader.cjs.js +1 -0
  227. package/loaders/TTFLoader.js +79 -58
  228. package/loaders/TiltLoader.cjs.js +1 -0
  229. package/loaders/TiltLoader.js +167 -129
  230. package/loaders/VOXLoader.cjs.js +1 -0
  231. package/loaders/VOXLoader.js +84 -320
  232. package/loaders/VRMLLoader.cjs.js +1 -0
  233. package/loaders/VRMLLoader.js +1268 -786
  234. package/loaders/VRMLoader.cjs.js +1 -0
  235. package/loaders/VRMLoader.js +31 -23
  236. package/loaders/VTKLoader.cjs.js +1 -0
  237. package/loaders/VTKLoader.js +407 -219
  238. package/loaders/XLoader.cjs.js +1 -0
  239. package/loaders/XLoader.js +1259 -1083
  240. package/loaders/XYZLoader.cjs.js +1 -0
  241. package/loaders/XYZLoader.js +34 -28
  242. package/loaders/lwo/IFFParser.cjs.js +1 -0
  243. package/loaders/lwo/IFFParser.js +492 -238
  244. package/loaders/lwo/LWO2Parser.cjs.js +1 -0
  245. package/loaders/lwo/LWO2Parser.js +279 -176
  246. package/loaders/lwo/LWO3Parser.cjs.js +1 -0
  247. package/loaders/lwo/LWO3Parser.js +247 -160
  248. package/math/Capsule.cjs.js +1 -0
  249. package/math/Capsule.js +43 -56
  250. package/math/ColorConverter.cjs.js +1 -0
  251. package/math/ColorConverter.js +32 -18
  252. package/math/ConvexHull.cjs.js +1 -0
  253. package/math/ConvexHull.js +357 -97
  254. package/math/ImprovedNoise.cjs.js +1 -0
  255. package/math/ImprovedNoise.js +32 -282
  256. package/math/Lut.cjs.js +1 -0
  257. package/math/Lut.js +35 -51
  258. package/math/MeshSurfaceSampler.cjs.js +1 -0
  259. package/math/MeshSurfaceSampler.js +68 -25
  260. package/math/OBB.cjs.js +1 -0
  261. package/math/OBB.js +152 -91
  262. package/math/Octree.cjs.js +1 -0
  263. package/math/Octree.js +139 -76
  264. package/math/SimplexNoise.cjs.js +1 -0
  265. package/math/SimplexNoise.js +238 -217
  266. package/misc/ConvexObjectBreaker.cjs.js +1 -0
  267. package/misc/ConvexObjectBreaker.js +185 -79
  268. package/misc/GPUComputationRenderer.cjs.js +1 -0
  269. package/misc/GPUComputationRenderer.js +194 -69
  270. package/misc/Gyroscope.cjs.js +1 -0
  271. package/misc/Gyroscope.js +22 -16
  272. package/misc/MD2Character.cjs.js +1 -0
  273. package/misc/MD2Character.js +74 -52
  274. package/misc/MD2CharacterComplex.cjs.js +1 -0
  275. package/misc/MD2CharacterComplex.js +163 -112
  276. package/misc/MorphAnimMesh.cjs.js +1 -0
  277. package/misc/MorphAnimMesh.js +28 -20
  278. package/misc/MorphBlendMesh.cjs.js +1 -0
  279. package/misc/MorphBlendMesh.js +69 -45
  280. package/misc/ProgressiveLightmap.cjs.js +1 -0
  281. package/misc/ProgressiveLightmap.js +187 -70
  282. package/misc/RollerCoaster.cjs.js +1 -0
  283. package/misc/RollerCoaster.js +135 -106
  284. package/misc/TubePainter.cjs.js +1 -0
  285. package/misc/TubePainter.js +92 -74
  286. package/misc/Volume.cjs.js +1 -0
  287. package/misc/Volume.js +270 -108
  288. package/misc/VolumeSlice.cjs.js +1 -0
  289. package/misc/VolumeSlice.js +122 -34
  290. package/misc/WebGL.cjs.js +1 -0
  291. package/misc/WebGL.js +34 -37
  292. package/modifiers/CurveModifier.cjs.js +1 -0
  293. package/modifiers/CurveModifier.js +151 -46
  294. package/modifiers/EdgeSplitModifier.cjs.js +1 -0
  295. package/modifiers/EdgeSplitModifier.js +90 -46
  296. package/modifiers/SimplifyModifier.cjs.js +1 -0
  297. package/modifiers/SimplifyModifier.js +202 -77
  298. package/modifiers/TessellateModifier.cjs.js +1 -0
  299. package/modifiers/TessellateModifier.js +90 -65
  300. package/nodes/Nodes.cjs.js +1 -0
  301. package/nodes/Nodes.js +140 -274
  302. package/nodes/ShaderNode.cjs.js +1 -0
  303. package/nodes/ShaderNode.js +196 -296
  304. package/nodes/accessors/BufferNode.cjs.js +1 -0
  305. package/nodes/accessors/BufferNode.js +8 -4
  306. package/nodes/accessors/CameraNode.cjs.js +1 -0
  307. package/nodes/accessors/CameraNode.js +25 -20
  308. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  309. package/nodes/accessors/CubeTextureNode.js +26 -14
  310. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  311. package/nodes/accessors/MaterialNode.js +53 -43
  312. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  313. package/nodes/accessors/MaterialReferenceNode.js +6 -3
  314. package/nodes/accessors/ModelNode.cjs.js +1 -0
  315. package/nodes/accessors/ModelNode.js +5 -3
  316. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  317. package/nodes/accessors/ModelViewProjectionNode.js +13 -14
  318. package/nodes/accessors/NormalNode.cjs.js +1 -0
  319. package/nodes/accessors/NormalNode.js +39 -40
  320. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  321. package/nodes/accessors/Object3DNode.js +50 -40
  322. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  323. package/nodes/accessors/PointUVNode.js +9 -5
  324. package/nodes/accessors/PositionNode.cjs.js +1 -0
  325. package/nodes/accessors/PositionNode.js +41 -42
  326. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  327. package/nodes/accessors/ReferenceNode.js +17 -10
  328. package/nodes/accessors/ReflectNode.cjs.js +1 -0
  329. package/nodes/accessors/ReflectNode.js +26 -23
  330. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  331. package/nodes/accessors/SkinningNode.js +48 -46
  332. package/nodes/accessors/TextureNode.cjs.js +1 -0
  333. package/nodes/accessors/TextureNode.js +29 -14
  334. package/nodes/accessors/UVNode.cjs.js +1 -0
  335. package/nodes/accessors/UVNode.js +11 -5
  336. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  337. package/nodes/core/ArrayUniformNode.js +7 -3
  338. package/nodes/core/AttributeNode.cjs.js +1 -0
  339. package/nodes/core/AttributeNode.js +12 -5
  340. package/nodes/core/BypassNode.cjs.js +1 -0
  341. package/nodes/core/BypassNode.js +12 -5
  342. package/nodes/core/CodeNode.cjs.js +1 -0
  343. package/nodes/core/CodeNode.js +12 -4
  344. package/nodes/core/ConstNode.cjs.js +1 -0
  345. package/nodes/core/ConstNode.js +7 -3
  346. package/nodes/core/ContextNode.cjs.js +1 -0
  347. package/nodes/core/ContextNode.js +8 -3
  348. package/nodes/core/ExpressionNode.cjs.js +1 -0
  349. package/nodes/core/ExpressionNode.js +9 -5
  350. package/nodes/core/FunctionCallNode.cjs.js +1 -0
  351. package/nodes/core/FunctionCallNode.js +15 -6
  352. package/nodes/core/FunctionNode.cjs.js +1 -0
  353. package/nodes/core/FunctionNode.js +25 -10
  354. package/nodes/core/InputNode.cjs.js +1 -0
  355. package/nodes/core/InputNode.js +23 -12
  356. package/nodes/core/Node.cjs.js +1 -0
  357. package/nodes/core/Node.js +75 -35
  358. package/nodes/core/NodeAttribute.cjs.js +1 -0
  359. package/nodes/core/NodeAttribute.js +4 -2
  360. package/nodes/core/NodeBuilder.cjs.js +1 -0
  361. package/nodes/core/NodeBuilder.js +224 -110
  362. package/nodes/core/NodeCode.cjs.js +1 -0
  363. package/nodes/core/NodeCode.js +7 -4
  364. package/nodes/core/NodeFrame.cjs.js +1 -0
  365. package/nodes/core/NodeFrame.js +12 -9
  366. package/nodes/core/NodeFunction.cjs.js +1 -0
  367. package/nodes/core/NodeFunction.js +17 -0
  368. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  369. package/nodes/core/NodeFunctionInput.js +5 -3
  370. package/nodes/core/NodeKeywords.cjs.js +1 -0
  371. package/nodes/core/NodeKeywords.js +16 -5
  372. package/nodes/core/NodeParser.cjs.js +1 -0
  373. package/nodes/core/NodeParser.js +8 -0
  374. package/nodes/core/NodeUniform.cjs.js +1 -0
  375. package/nodes/core/NodeUniform.js +7 -3
  376. package/nodes/core/NodeUtils.cjs.js +1 -0
  377. package/nodes/core/NodeUtils.js +43 -39
  378. package/nodes/core/NodeVar.cjs.js +1 -0
  379. package/nodes/core/NodeVar.js +4 -2
  380. package/nodes/core/NodeVary.cjs.js +1 -0
  381. package/nodes/core/NodeVary.js +4 -2
  382. package/nodes/core/PropertyNode.cjs.js +1 -0
  383. package/nodes/core/PropertyNode.js +10 -4
  384. package/nodes/core/TempNode.cjs.js +1 -0
  385. package/nodes/core/TempNode.js +11 -5
  386. package/nodes/core/UniformNode.cjs.js +1 -0
  387. package/nodes/core/UniformNode.js +10 -4
  388. package/nodes/core/VarNode.cjs.js +1 -0
  389. package/nodes/core/VarNode.js +11 -3
  390. package/nodes/core/VaryNode.cjs.js +1 -0
  391. package/nodes/core/VaryNode.js +15 -6
  392. package/nodes/core/constants.cjs.js +1 -0
  393. package/nodes/core/constants.js +7 -20
  394. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  395. package/nodes/display/ColorSpaceNode.js +38 -34
  396. package/nodes/display/NormalMapNode.cjs.js +1 -0
  397. package/nodes/display/NormalMapNode.js +53 -35
  398. package/nodes/fog/FogNode.cjs.js +1 -0
  399. package/nodes/fog/FogNode.js +9 -5
  400. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  401. package/nodes/fog/FogRangeNode.js +9 -5
  402. package/nodes/functions/BSDFs.cjs.js +1 -0
  403. package/nodes/functions/BSDFs.js +118 -61
  404. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  405. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  406. package/nodes/lights/LightContextNode.cjs.js +1 -0
  407. package/nodes/lights/LightContextNode.js +23 -14
  408. package/nodes/lights/LightNode.cjs.js +1 -0
  409. package/nodes/lights/LightNode.js +31 -27
  410. package/nodes/lights/LightsNode.cjs.js +1 -0
  411. package/nodes/lights/LightsNode.js +28 -9
  412. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  413. package/nodes/loaders/NodeLoader.js +42 -27
  414. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  415. package/nodes/loaders/NodeMaterialLoader.js +10 -4
  416. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  417. package/nodes/loaders/NodeObjectLoader.js +19 -9
  418. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  419. package/nodes/materials/LineBasicNodeMaterial.js +10 -5
  420. package/nodes/materials/Materials.cjs.js +1 -0
  421. package/nodes/materials/Materials.js +17 -14
  422. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  423. package/nodes/materials/MeshBasicNodeMaterial.js +10 -5
  424. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -0
  425. package/nodes/materials/MeshStandardNodeMaterial.js +8 -5
  426. package/nodes/materials/NodeMaterial.cjs.js +1 -0
  427. package/nodes/materials/NodeMaterial.js +36 -20
  428. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  429. package/nodes/materials/PointsNodeMaterial.js +10 -5
  430. package/nodes/math/CondNode.cjs.js +1 -0
  431. package/nodes/math/CondNode.js +23 -11
  432. package/nodes/math/MathNode.cjs.js +1 -0
  433. package/nodes/math/MathNode.js +142 -98
  434. package/nodes/math/OperatorNode.cjs.js +1 -0
  435. package/nodes/math/OperatorNode.js +46 -24
  436. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  437. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  438. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  439. package/nodes/parsers/GLSLNodeParser.js +13 -0
  440. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  441. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  442. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  443. package/nodes/parsers/WGSLNodeParser.js +13 -0
  444. package/nodes/procedural/CheckerNode.cjs.js +1 -0
  445. package/nodes/procedural/CheckerNode.js +19 -13
  446. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  447. package/nodes/utils/ArrayElementNode.js +8 -4
  448. package/nodes/utils/ConvertNode.cjs.js +1 -0
  449. package/nodes/utils/ConvertNode.js +8 -3
  450. package/nodes/utils/JoinNode.cjs.js +1 -0
  451. package/nodes/utils/JoinNode.js +11 -7
  452. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  453. package/nodes/utils/MatcapUVNode.js +11 -8
  454. package/nodes/utils/OscNode.cjs.js +1 -0
  455. package/nodes/utils/OscNode.js +33 -27
  456. package/nodes/utils/SplitNode.cjs.js +1 -0
  457. package/nodes/utils/SplitNode.js +20 -6
  458. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  459. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  460. package/nodes/utils/TimerNode.cjs.js +1 -0
  461. package/nodes/utils/TimerNode.js +24 -20
  462. package/objects/GroundProjectedEnv.cjs.js +1 -0
  463. package/objects/GroundProjectedEnv.js +37 -22
  464. package/objects/Lensflare.cjs.js +1 -0
  465. package/objects/Lensflare.js +156 -86
  466. package/objects/LightningStorm.cjs.js +1 -0
  467. package/objects/LightningStorm.js +102 -38
  468. package/objects/MarchingCubes.cjs.js +1 -0
  469. package/objects/MarchingCubes.js +303 -150
  470. package/objects/Reflector.cjs.js +1 -0
  471. package/objects/Reflector.js +72 -50
  472. package/objects/ReflectorForSSRPass.cjs.js +1 -0
  473. package/objects/ReflectorForSSRPass.js +131 -80
  474. package/objects/ReflectorRTT.cjs.js +1 -0
  475. package/objects/ReflectorRTT.js +7 -6
  476. package/objects/Refractor.cjs.js +1 -0
  477. package/objects/Refractor.js +106 -64
  478. package/objects/ShadowMesh.cjs.js +1 -0
  479. package/objects/ShadowMesh.js +17 -8
  480. package/objects/Sky.cjs.js +1 -0
  481. package/objects/Sky.js +80 -119
  482. package/objects/Water.cjs.js +1 -0
  483. package/objects/Water.js +127 -83
  484. package/objects/Water2.cjs.js +1 -0
  485. package/objects/Water2.js +108 -72
  486. package/offscreen/jank.cjs.js +1 -0
  487. package/offscreen/jank.js +14 -10
  488. package/offscreen/offscreen.cjs.js +1 -0
  489. package/offscreen/offscreen.js +5 -4
  490. package/offscreen/scene.cjs.js +1 -0
  491. package/offscreen/scene.js +48 -45
  492. package/package.json +3 -3
  493. package/physics/AmmoPhysics.cjs.js +1 -0
  494. package/physics/AmmoPhysics.js +71 -30
  495. package/postprocessing/AdaptiveToneMappingPass.cjs.js +1 -0
  496. package/postprocessing/AdaptiveToneMappingPass.js +123 -97
  497. package/postprocessing/AfterimagePass.cjs.js +1 -0
  498. package/postprocessing/AfterimagePass.js +49 -28
  499. package/postprocessing/BloomPass.cjs.js +1 -0
  500. package/postprocessing/BloomPass.js +69 -43
  501. package/postprocessing/BokehPass.cjs.js +1 -0
  502. package/postprocessing/BokehPass.js +69 -39
  503. package/postprocessing/ClearPass.cjs.js +1 -0
  504. package/postprocessing/ClearPass.js +25 -10
  505. package/postprocessing/CubeTexturePass.cjs.js +1 -0
  506. package/postprocessing/CubeTexturePass.js +27 -28
  507. package/postprocessing/DotScreenPass.cjs.js +1 -0
  508. package/postprocessing/DotScreenPass.js +32 -24
  509. package/postprocessing/EffectComposer.cjs.js +1 -0
  510. package/postprocessing/EffectComposer.js +86 -39
  511. package/postprocessing/FilmPass.cjs.js +1 -0
  512. package/postprocessing/FilmPass.js +30 -25
  513. package/postprocessing/GlitchPass.cjs.js +1 -0
  514. package/postprocessing/GlitchPass.js +61 -38
  515. package/postprocessing/HalftonePass.cjs.js +1 -0
  516. package/postprocessing/HalftonePass.js +39 -19
  517. package/postprocessing/LUTPass.cjs.js +1 -0
  518. package/postprocessing/LUTPass.js +38 -13
  519. package/postprocessing/MaskPass.cjs.js +1 -0
  520. package/postprocessing/MaskPass.js +38 -19
  521. package/postprocessing/OutlinePass.cjs.js +1 -0
  522. package/postprocessing/OutlinePass.js +277 -135
  523. package/postprocessing/Pass.cjs.js +1 -0
  524. package/postprocessing/Pass.js +44 -20
  525. package/postprocessing/RenderPass.cjs.js +1 -0
  526. package/postprocessing/RenderPass.js +36 -13
  527. package/postprocessing/RenderPixelatedPass.cjs.js +1 -0
  528. package/postprocessing/RenderPixelatedPass.js +58 -44
  529. package/postprocessing/SAOPass.cjs.js +1 -0
  530. package/postprocessing/SAOPass.js +189 -154
  531. package/postprocessing/SMAAPass.cjs.js +1 -0
  532. package/postprocessing/SMAAPass.js +84 -64
  533. package/postprocessing/SSAARenderPass.cjs.js +1 -0
  534. package/postprocessing/SSAARenderPass.js +69 -121
  535. package/postprocessing/SSAOPass.cjs.js +1 -0
  536. package/postprocessing/SSAOPass.js +172 -123
  537. package/postprocessing/SSRPass.cjs.js +1 -0
  538. package/postprocessing/SSRPass.js +280 -211
  539. package/postprocessing/SavePass.cjs.js +1 -0
  540. package/postprocessing/SavePass.js +25 -20
  541. package/postprocessing/ShaderPass.cjs.js +1 -0
  542. package/postprocessing/ShaderPass.js +30 -14
  543. package/postprocessing/TAARenderPass.cjs.js +1 -0
  544. package/postprocessing/TAARenderPass.js +61 -42
  545. package/postprocessing/TexturePass.cjs.js +1 -0
  546. package/postprocessing/TexturePass.js +22 -21
  547. package/postprocessing/UnrealBloomPass.cjs.js +1 -0
  548. package/postprocessing/UnrealBloomPass.js +213 -105
  549. package/renderers/CSS2DRenderer.cjs.js +1 -0
  550. package/renderers/CSS2DRenderer.js +56 -44
  551. package/renderers/CSS3DRenderer.cjs.js +1 -0
  552. package/renderers/CSS3DRenderer.js +86 -53
  553. package/renderers/Projector.cjs.js +1 -0
  554. package/renderers/Projector.js +274 -107
  555. package/renderers/SVGRenderer.cjs.js +1 -0
  556. package/renderers/SVGRenderer.js +182 -72
  557. package/renderers/nodes/accessors/CameraNode.cjs.js +1 -0
  558. package/renderers/nodes/accessors/CameraNode.js +40 -29
  559. package/renderers/nodes/accessors/ModelNode.cjs.js +1 -0
  560. package/renderers/nodes/accessors/ModelNode.js +37 -28
  561. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  562. package/renderers/nodes/accessors/ModelViewProjectionNode.js +23 -10
  563. package/renderers/nodes/accessors/NormalNode.cjs.js +1 -0
  564. package/renderers/nodes/accessors/NormalNode.js +45 -35
  565. package/renderers/nodes/accessors/PositionNode.cjs.js +1 -0
  566. package/renderers/nodes/accessors/PositionNode.js +19 -18
  567. package/renderers/nodes/accessors/UVNode.cjs.js +1 -0
  568. package/renderers/nodes/accessors/UVNode.js +10 -5
  569. package/renderers/nodes/core/AttributeNode.cjs.js +1 -0
  570. package/renderers/nodes/core/AttributeNode.js +14 -5
  571. package/renderers/nodes/core/InputNode.cjs.js +1 -0
  572. package/renderers/nodes/core/InputNode.js +14 -4
  573. package/renderers/nodes/core/Node.cjs.js +1 -0
  574. package/renderers/nodes/core/Node.js +17 -7
  575. package/renderers/nodes/core/NodeAttribute.cjs.js +1 -0
  576. package/renderers/nodes/core/NodeAttribute.js +6 -3
  577. package/renderers/nodes/core/NodeBuilder.cjs.js +1 -0
  578. package/renderers/nodes/core/NodeBuilder.js +154 -87
  579. package/renderers/nodes/core/NodeFrame.cjs.js +1 -0
  580. package/renderers/nodes/core/NodeFrame.js +12 -9
  581. package/renderers/nodes/core/NodeSlot.cjs.js +1 -0
  582. package/renderers/nodes/core/NodeSlot.js +3 -2
  583. package/renderers/nodes/core/NodeUniform.cjs.js +1 -0
  584. package/renderers/nodes/core/NodeUniform.js +9 -4
  585. package/renderers/nodes/core/NodeVary.cjs.js +1 -0
  586. package/renderers/nodes/core/NodeVary.js +7 -4
  587. package/renderers/nodes/core/VaryNode.cjs.js +1 -0
  588. package/renderers/nodes/core/VaryNode.js +12 -6
  589. package/renderers/nodes/core/constants.cjs.js +1 -0
  590. package/renderers/nodes/core/constants.js +13 -16
  591. package/renderers/nodes/inputs/ColorNode.cjs.js +1 -0
  592. package/renderers/nodes/inputs/ColorNode.js +11 -5
  593. package/renderers/nodes/inputs/FloatNode.cjs.js +1 -0
  594. package/renderers/nodes/inputs/FloatNode.js +11 -5
  595. package/renderers/nodes/inputs/Matrix3Node.cjs.js +1 -0
  596. package/renderers/nodes/inputs/Matrix3Node.js +13 -7
  597. package/renderers/nodes/inputs/Matrix4Node.cjs.js +1 -0
  598. package/renderers/nodes/inputs/Matrix4Node.js +13 -7
  599. package/renderers/nodes/inputs/TextureNode.cjs.js +1 -0
  600. package/renderers/nodes/inputs/TextureNode.js +15 -7
  601. package/renderers/nodes/inputs/Vector2Node.cjs.js +1 -0
  602. package/renderers/nodes/inputs/Vector2Node.js +11 -5
  603. package/renderers/nodes/inputs/Vector3Node.cjs.js +1 -0
  604. package/renderers/nodes/inputs/Vector3Node.js +13 -7
  605. package/renderers/nodes/inputs/Vector4Node.cjs.js +1 -0
  606. package/renderers/nodes/inputs/Vector4Node.js +13 -7
  607. package/renderers/nodes/math/MathNode.cjs.js +1 -0
  608. package/renderers/nodes/math/MathNode.js +30 -20
  609. package/renderers/nodes/math/OperatorNode.cjs.js +1 -0
  610. package/renderers/nodes/math/OperatorNode.js +20 -4
  611. package/renderers/nodes/utils/SwitchNode.cjs.js +1 -0
  612. package/renderers/nodes/utils/SwitchNode.js +9 -4
  613. package/renderers/nodes/utils/TimerNode.cjs.js +1 -0
  614. package/renderers/nodes/utils/TimerNode.js +10 -5
  615. package/renderers/webgpu/WebGPU.cjs.js +1 -0
  616. package/renderers/webgpu/WebGPU.js +16 -14
  617. package/renderers/webgpu/WebGPUAttributes.cjs.js +1 -0
  618. package/renderers/webgpu/WebGPUAttributes.js +23 -16
  619. package/renderers/webgpu/WebGPUBackground.cjs.js +1 -0
  620. package/renderers/webgpu/WebGPUBackground.js +30 -13
  621. package/renderers/webgpu/WebGPUBinding.cjs.js +1 -0
  622. package/renderers/webgpu/WebGPUBinding.js +7 -4
  623. package/renderers/webgpu/WebGPUBindings.cjs.js +1 -0
  624. package/renderers/webgpu/WebGPUBindings.js +57 -21
  625. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +1 -0
  626. package/renderers/webgpu/WebGPUComputePipelines.js +25 -14
  627. package/renderers/webgpu/WebGPUGeometries.cjs.js +1 -0
  628. package/renderers/webgpu/WebGPUGeometries.js +15 -5
  629. package/renderers/webgpu/WebGPUInfo.cjs.js +1 -0
  630. package/renderers/webgpu/WebGPUInfo.js +8 -3
  631. package/renderers/webgpu/WebGPUObjects.cjs.js +1 -0
  632. package/renderers/webgpu/WebGPUObjects.js +10 -5
  633. package/renderers/webgpu/WebGPUProperties.cjs.js +1 -0
  634. package/renderers/webgpu/WebGPUProperties.js +11 -5
  635. package/renderers/webgpu/WebGPURenderLists.cjs.js +1 -0
  636. package/renderers/webgpu/WebGPURenderLists.js +36 -20
  637. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +1 -0
  638. package/renderers/webgpu/WebGPURenderPipelines.js +387 -260
  639. package/renderers/webgpu/WebGPURenderer.cjs.js +1 -0
  640. package/renderers/webgpu/WebGPURenderer.js +262 -124
  641. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +1 -0
  642. package/renderers/webgpu/WebGPUSampledTexture.js +31 -18
  643. package/renderers/webgpu/WebGPUSampler.cjs.js +1 -0
  644. package/renderers/webgpu/WebGPUSampler.js +12 -7
  645. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +1 -0
  646. package/renderers/webgpu/WebGPUStorageBuffer.js +12 -7
  647. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +1 -0
  648. package/renderers/webgpu/WebGPUTextureRenderer.js +11 -5
  649. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +1 -0
  650. package/renderers/webgpu/WebGPUTextureUtils.js +40 -29
  651. package/renderers/webgpu/WebGPUTextures.cjs.js +1 -0
  652. package/renderers/webgpu/WebGPUTextures.js +333 -186
  653. package/renderers/webgpu/WebGPUUniform.cjs.js +1 -0
  654. package/renderers/webgpu/WebGPUUniform.js +51 -25
  655. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +1 -0
  656. package/renderers/webgpu/WebGPUUniformsGroup.js +72 -32
  657. package/renderers/webgpu/constants.cjs.js +1 -0
  658. package/renderers/webgpu/constants.js +181 -190
  659. package/renderers/webgpu/nodes/ShaderLib.cjs.js +1 -0
  660. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  661. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +1 -0
  662. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +124 -53
  663. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +1 -0
  664. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +31 -17
  665. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +1 -0
  666. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +9 -8
  667. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +1 -0
  668. package/renderers/webgpu/nodes/WebGPUNodes.js +45 -7
  669. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -0
  670. package/shaders/ACESFilmicToneMappingShader.js +24 -44
  671. package/shaders/AfterimageShader.cjs.js +1 -0
  672. package/shaders/AfterimageShader.js +18 -28
  673. package/shaders/BasicShader.cjs.js +1 -0
  674. package/shaders/BasicShader.js +7 -9
  675. package/shaders/BleachBypassShader.cjs.js +1 -0
  676. package/shaders/BleachBypassShader.js +15 -31
  677. package/shaders/BlendShader.cjs.js +1 -0
  678. package/shaders/BlendShader.js +19 -26
  679. package/shaders/BokehShader.cjs.js +1 -0
  680. package/shaders/BokehShader.js +36 -98
  681. package/shaders/BokehShader2.cjs.js +1 -0
  682. package/shaders/BokehShader2.js +90 -261
  683. package/shaders/BrightnessContrastShader.cjs.js +1 -0
  684. package/shaders/BrightnessContrastShader.js +19 -28
  685. package/shaders/ColorCorrectionShader.cjs.js +1 -0
  686. package/shaders/ColorCorrectionShader.js +22 -26
  687. package/shaders/ColorifyShader.cjs.js +1 -0
  688. package/shaders/ColorifyShader.js +16 -24
  689. package/shaders/ConvolutionShader.cjs.js +1 -0
  690. package/shaders/ConvolutionShader.js +36 -40
  691. package/shaders/CopyShader.cjs.js +1 -0
  692. package/shaders/CopyShader.js +13 -21
  693. package/shaders/DOFMipMapShader.cjs.js +1 -0
  694. package/shaders/DOFMipMapShader.js +21 -28
  695. package/shaders/DepthLimitedBlurShader.cjs.js +1 -0
  696. package/shaders/DepthLimitedBlurShader.js +40 -85
  697. package/shaders/DigitalGlitch.cjs.js +1 -0
  698. package/shaders/DigitalGlitch.js +46 -74
  699. package/shaders/DotScreenShader.cjs.js +1 -0
  700. package/shaders/DotScreenShader.js +27 -35
  701. package/shaders/FXAAShader.cjs.js +1 -0
  702. package/shaders/FXAAShader.js +19 -1094
  703. package/shaders/FilmShader.cjs.js +1 -0
  704. package/shaders/FilmShader.js +52 -38
  705. package/shaders/FocusShader.cjs.js +1 -0
  706. package/shaders/FocusShader.js +24 -51
  707. package/shaders/FreiChenShader.cjs.js +1 -0
  708. package/shaders/FreiChenShader.js +24 -57
  709. package/shaders/FresnelShader.cjs.js +1 -0
  710. package/shaders/FresnelShader.js +22 -43
  711. package/shaders/GammaCorrectionShader.cjs.js +1 -0
  712. package/shaders/GammaCorrectionShader.js +11 -19
  713. package/shaders/GodRaysShader.cjs.js +1 -0
  714. package/shaders/GodRaysShader.js +94 -103
  715. package/shaders/HalftoneShader.cjs.js +1 -0
  716. package/shaders/HalftoneShader.js +65 -208
  717. package/shaders/HorizontalBlurShader.cjs.js +1 -0
  718. package/shaders/HorizontalBlurShader.js +23 -7
  719. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -0
  720. package/shaders/HorizontalTiltShiftShader.js +21 -33
  721. package/shaders/HueSaturationShader.cjs.js +1 -0
  722. package/shaders/HueSaturationShader.js +21 -37
  723. package/shaders/KaleidoShader.cjs.js +1 -0
  724. package/shaders/KaleidoShader.js +22 -30
  725. package/shaders/LuminosityHighPassShader.cjs.js +1 -0
  726. package/shaders/LuminosityHighPassShader.js +27 -33
  727. package/shaders/LuminosityShader.cjs.js +1 -0
  728. package/shaders/LuminosityShader.js +11 -21
  729. package/shaders/MirrorShader.cjs.js +1 -0
  730. package/shaders/MirrorShader.js +16 -31
  731. package/shaders/NormalMapShader.cjs.js +1 -0
  732. package/shaders/NormalMapShader.js +23 -27
  733. package/shaders/ParallaxShader.cjs.js +1 -0
  734. package/shaders/ParallaxShader.js +48 -107
  735. package/shaders/PixelShader.cjs.js +1 -0
  736. package/shaders/PixelShader.js +16 -24
  737. package/shaders/RGBShiftShader.cjs.js +1 -0
  738. package/shaders/RGBShiftShader.js +22 -26
  739. package/shaders/SAOShader.cjs.js +1 -0
  740. package/shaders/SAOShader.js +48 -132
  741. package/shaders/SMAAShader.cjs.js +1 -0
  742. package/shaders/SMAAShader.js +135 -256
  743. package/shaders/SSAOShader.cjs.js +1 -0
  744. package/shaders/SSAOShader.js +81 -153
  745. package/shaders/SSRShader.cjs.js +1 -0
  746. package/shaders/SSRShader.js +87 -32
  747. package/shaders/SepiaShader.cjs.js +1 -0
  748. package/shaders/SepiaShader.js +15 -25
  749. package/shaders/SobelOperatorShader.cjs.js +1 -0
  750. package/shaders/SobelOperatorShader.js +29 -40
  751. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -0
  752. package/shaders/SubsurfaceScatteringShader.js +39 -53
  753. package/shaders/TechnicolorShader.cjs.js +1 -0
  754. package/shaders/TechnicolorShader.js +13 -20
  755. package/shaders/ToneMapShader.cjs.js +1 -0
  756. package/shaders/ToneMapShader.js +28 -44
  757. package/shaders/ToonShader.cjs.js +1 -0
  758. package/shaders/ToonShader.js +96 -172
  759. package/shaders/TriangleBlurShader.cjs.js +1 -0
  760. package/shaders/TriangleBlurShader.js +23 -32
  761. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -0
  762. package/shaders/UnpackDepthRGBAShader.js +14 -22
  763. package/shaders/VerticalBlurShader.cjs.js +1 -0
  764. package/shaders/VerticalBlurShader.js +23 -7
  765. package/shaders/VerticalTiltShiftShader.cjs.js +1 -0
  766. package/shaders/VerticalTiltShiftShader.js +21 -33
  767. package/shaders/VignetteShader.cjs.js +1 -0
  768. package/shaders/VignetteShader.js +28 -24
  769. package/shaders/VolumeShader.cjs.js +1 -0
  770. package/shaders/VolumeShader.js +77 -174
  771. package/shaders/WaterRefractionShader.cjs.js +1 -0
  772. package/shaders/WaterRefractionShader.js +6 -38
  773. package/shaders/types.cjs.js +1 -0
  774. package/shaders/types.js +1 -1
  775. package/textures/FlakesTexture.cjs.js +1 -0
  776. package/textures/FlakesTexture.js +10 -8
  777. package/types/helpers.cjs.js +1 -0
  778. package/types/helpers.js +2 -3
  779. package/types/shared.cjs.js +1 -0
  780. package/types/shared.js +1 -0
  781. package/types/utils.cjs.js +1 -0
  782. package/types/utils.js +1 -0
  783. package/utils/BufferGeometryUtils.cjs.js +1 -0
  784. package/utils/BufferGeometryUtils.js +325 -251
  785. package/utils/GeometryCompressionUtils.cjs.js +1 -0
  786. package/utils/GeometryCompressionUtils.js +239 -241
  787. package/utils/GeometryUtils.cjs.js +1 -0
  788. package/utils/GeometryUtils.js +94 -41
  789. package/utils/LDrawUtils.cjs.js +1 -0
  790. package/utils/LDrawUtils.d.ts +5 -0
  791. package/utils/LDrawUtils.js +144 -0
  792. package/utils/RoughnessMipmapper.cjs.js +1 -0
  793. package/utils/RoughnessMipmapper.js +82 -38
  794. package/utils/SceneUtils.cjs.js +1 -0
  795. package/utils/SceneUtils.js +20 -15
  796. package/utils/ShadowMapViewer.cjs.js +1 -0
  797. package/utils/ShadowMapViewer.js +95 -49
  798. package/utils/SkeletonUtils.cjs.js +1 -0
  799. package/utils/SkeletonUtils.js +165 -74
  800. package/utils/UVsDebug.cjs.js +1 -0
  801. package/utils/UVsDebug.js +62 -32
  802. package/utils/WorkerPool.cjs.js +1 -0
  803. package/utils/WorkerPool.js +33 -13
  804. package/webxr/ARButton.cjs.js +1 -0
  805. package/webxr/ARButton.js +98 -72
  806. package/webxr/OculusHandModel.cjs.js +1 -0
  807. package/webxr/OculusHandModel.js +37 -18
  808. package/webxr/OculusHandPointerModel.cjs.js +1 -0
  809. package/webxr/OculusHandPointerModel.js +80 -58
  810. package/webxr/Text2D.cjs.js +1 -0
  811. package/webxr/Text2D.js +19 -37
  812. package/webxr/VRButton.cjs.js +1 -0
  813. package/webxr/VRButton.js +90 -59
  814. package/webxr/XRControllerModelFactory.cjs.js +1 -0
  815. package/webxr/XRControllerModelFactory.js +116 -58
  816. package/webxr/XREstimatedLight.cjs.js +1 -0
  817. package/webxr/XREstimatedLight.js +66 -39
  818. package/webxr/XRHandMeshModel.cjs.js +1 -0
  819. package/webxr/XRHandMeshModel.js +29 -40
  820. package/webxr/XRHandModelFactory.cjs.js +1 -0
  821. package/webxr/XRHandModelFactory.js +31 -28
  822. package/webxr/XRHandPrimitiveModel.cjs.js +1 -0
  823. package/webxr/XRHandPrimitiveModel.js +27 -41
  824. package/animation/AnimationClipCreator.mjs +0 -57
  825. package/animation/CCDIKSolver.mjs +0 -234
  826. package/animation/MMDAnimationHelper.mjs +0 -514
  827. package/animation/MMDPhysics.mjs +0 -769
  828. package/cameras/CinematicCamera.mjs +0 -129
  829. package/controls/ArcballControls.mjs +0 -1737
  830. package/controls/DeviceOrientationControls.mjs +0 -74
  831. package/controls/DragControls.mjs +0 -172
  832. package/controls/FirstPersonControls.mjs +0 -220
  833. package/controls/FlyControls.mjs +0 -239
  834. package/controls/OrbitControls.mjs +0 -731
  835. package/controls/PointerLockControls.mjs +0 -88
  836. package/controls/TrackballControls.mjs +0 -481
  837. package/controls/TransformControls.mjs +0 -1068
  838. package/controls/experimental/CameraControls.mjs +0 -673
  839. package/csm/CSM.mjs +0 -244
  840. package/csm/CSMFrustum.mjs +0 -75
  841. package/csm/CSMHelper.mjs +0 -114
  842. package/csm/CSMShader.mjs +0 -251
  843. package/curves/CurveExtras.mjs +0 -224
  844. package/curves/NURBSCurve.mjs +0 -35
  845. package/curves/NURBSSurface.mjs +0 -28
  846. package/curves/NURBSUtils.mjs +0 -226
  847. package/deprecated/Geometry.mjs +0 -966
  848. package/effects/AnaglyphEffect.mjs +0 -120
  849. package/effects/AsciiEffect.mjs +0 -173
  850. package/effects/OutlineEffect.mjs +0 -295
  851. package/effects/ParallaxBarrierEffect.mjs +0 -64
  852. package/effects/PeppersGhostEffect.mjs +0 -85
  853. package/effects/StereoEffect.mjs +0 -32
  854. package/environments/RoomEnvironment.mjs +0 -78
  855. package/exporters/ColladaExporter.mjs +0 -299
  856. package/exporters/DRACOExporter.mjs +0 -132
  857. package/exporters/GLTFExporter.mjs +0 -1381
  858. package/exporters/MMDExporter.mjs +0 -102
  859. package/exporters/OBJExporter.mjs +0 -166
  860. package/exporters/PLYExporter.mjs +0 -278
  861. package/exporters/STLExporter.mjs +0 -129
  862. package/exporters/USDZExporter.mjs +0 -328
  863. package/geometries/BoxLineGeometry.mjs +0 -45
  864. package/geometries/ConvexGeometry.mjs +0 -29
  865. package/geometries/DecalGeometry.mjs +0 -184
  866. package/geometries/LightningStrike.mjs +0 -547
  867. package/geometries/ParametricGeometries.mjs +0 -129
  868. package/geometries/ParametricGeometry.mjs +0 -63
  869. package/geometries/RoundedBoxGeometry.mjs +0 -91
  870. package/geometries/TeapotGeometry.mjs +0 -1557
  871. package/geometries/TextGeometry.mjs +0 -23
  872. package/helpers/LightProbeHelper.mjs +0 -72
  873. package/helpers/PositionalAudioHelper.mjs +0 -68
  874. package/helpers/RectAreaLightHelper.mjs +0 -44
  875. package/helpers/VertexNormalsHelper.mjs +0 -54
  876. package/helpers/VertexTangentsHelper.mjs +0 -45
  877. package/index.mjs +0 -968
  878. package/interactive/SelectionBox.mjs +0 -137
  879. package/interactive/SelectionHelper.mjs +0 -54
  880. package/libs/MeshoptDecoder.mjs +0 -210
  881. package/libs/MotionControllers.mjs +0 -261
  882. package/lights/LightProbeGenerator.mjs +0 -145
  883. package/lights/RectAreaLightUniformsLib.mjs +0 -32842
  884. package/lines/Line2.mjs +0 -13
  885. package/lines/LineGeometry.mjs +0 -44
  886. package/lines/LineMaterial.mjs +0 -539
  887. package/lines/LineSegments2.mjs +0 -202
  888. package/lines/LineSegmentsGeometry.mjs +0 -124
  889. package/lines/Wireframe.mjs +0 -31
  890. package/lines/WireframeGeometry2.mjs +0 -13
  891. package/loaders/3DMLoader.mjs +0 -802
  892. package/loaders/3MFLoader.mjs +0 -837
  893. package/loaders/AMFLoader.mjs +0 -284
  894. package/loaders/AssimpLoader.mjs +0 -1396
  895. package/loaders/BVHLoader.mjs +0 -207
  896. package/loaders/BasisTextureLoader.mjs +0 -474
  897. package/loaders/ColladaLoader.mjs +0 -2403
  898. package/loaders/DDSLoader.mjs +0 -148
  899. package/loaders/DRACOLoader.mjs +0 -340
  900. package/loaders/EXRLoader.mjs +0 -1351
  901. package/loaders/FBXLoader.mjs +0 -2362
  902. package/loaders/FontLoader.mjs +0 -111
  903. package/loaders/GCodeLoader.mjs +0 -141
  904. package/loaders/GLTFLoader.mjs +0 -2316
  905. package/loaders/HDRCubeTextureLoader.mjs +0 -77
  906. package/loaders/KMZLoader.mjs +0 -75
  907. package/loaders/KTX2Loader.mjs +0 -427
  908. package/loaders/KTXLoader.mjs +0 -87
  909. package/loaders/LDrawLoader.mjs +0 -1409
  910. package/loaders/LUT3dlLoader.mjs +0 -100
  911. package/loaders/LUTCubeLoader.mjs +0 -104
  912. package/loaders/LWOLoader.mjs +0 -625
  913. package/loaders/LottieLoader.mjs +0 -47
  914. package/loaders/MD2Loader.mjs +0 -359
  915. package/loaders/MDDLoader.mjs +0 -58
  916. package/loaders/MMDLoader.mjs +0 -998
  917. package/loaders/MTLLoader.mjs +0 -280
  918. package/loaders/NRRDLoader.mjs +0 -401
  919. package/loaders/NodeMaterialLoader.mjs +0 -146
  920. package/loaders/OBJLoader.mjs +0 -487
  921. package/loaders/PCDLoader.mjs +0 -248
  922. package/loaders/PDBLoader.mjs +0 -246
  923. package/loaders/PLYLoader.mjs +0 -317
  924. package/loaders/PRWMLoader.mjs +0 -160
  925. package/loaders/PVRLoader.mjs +0 -131
  926. package/loaders/RGBELoader.mjs +0 -244
  927. package/loaders/RGBMLoader.mjs +0 -998
  928. package/loaders/STLLoader.mjs +0 -190
  929. package/loaders/SVGLoader.mjs +0 -1709
  930. package/loaders/TDSLoader.mjs +0 -480
  931. package/loaders/TGALoader.mjs +0 -285
  932. package/loaders/TTFLoader.mjs +0 -131
  933. package/loaders/TiltLoader.mjs +0 -373
  934. package/loaders/VOXLoader.mjs +0 -431
  935. package/loaders/VRMLLoader.mjs +0 -2093
  936. package/loaders/VRMLoader.mjs +0 -38
  937. package/loaders/VTKLoader.mjs +0 -646
  938. package/loaders/XLoader.mjs +0 -1258
  939. package/loaders/XYZLoader.mjs +0 -60
  940. package/loaders/lwo/IFFParser.mjs +0 -697
  941. package/loaders/lwo/LWO2Parser.mjs +0 -327
  942. package/loaders/lwo/LWO3Parser.mjs +0 -298
  943. package/math/Capsule.mjs +0 -100
  944. package/math/ColorConverter.mjs +0 -51
  945. package/math/ConvexHull.mjs +0 -574
  946. package/math/ImprovedNoise.mjs +0 -302
  947. package/math/Lut.mjs +0 -135
  948. package/math/MeshSurfaceSampler.mjs +0 -107
  949. package/math/OBB.mjs +0 -235
  950. package/math/Octree.mjs +0 -278
  951. package/math/SimplexNoise.mjs +0 -425
  952. package/misc/ConvexObjectBreaker.mjs +0 -292
  953. package/misc/GPUComputationRenderer.mjs +0 -171
  954. package/misc/Gyroscope.mjs +0 -35
  955. package/misc/MD2Character.mjs +0 -162
  956. package/misc/MD2CharacterComplex.mjs +0 -328
  957. package/misc/MorphAnimMesh.mjs +0 -40
  958. package/misc/MorphBlendMesh.mjs +0 -179
  959. package/misc/ProgressiveLightmap.mjs +0 -166
  960. package/misc/RollerCoaster.mjs +0 -346
  961. package/misc/TubePainter.mjs +0 -123
  962. package/misc/Volume.mjs +0 -244
  963. package/misc/VolumeSlice.mjs +0 -106
  964. package/misc/WebGL.mjs +0 -74
  965. package/modifiers/CurveModifier.mjs +0 -182
  966. package/modifiers/EdgeSplitModifier.mjs +0 -162
  967. package/modifiers/SimplifyModifier.mjs +0 -282
  968. package/modifiers/TessellateModifier.mjs +0 -206
  969. package/nodes/Nodes.mjs +0 -400
  970. package/nodes/ShaderNode.mjs +0 -408
  971. package/nodes/accessors/BufferNode.mjs +0 -15
  972. package/nodes/accessors/CameraNode.mjs +0 -44
  973. package/nodes/accessors/CubeTextureNode.mjs +0 -42
  974. package/nodes/accessors/MaterialNode.mjs +0 -71
  975. package/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  976. package/nodes/accessors/ModelNode.mjs +0 -9
  977. package/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  978. package/nodes/accessors/NormalNode.mjs +0 -62
  979. package/nodes/accessors/Object3DNode.mjs +0 -76
  980. package/nodes/accessors/PointUVNode.mjs +0 -13
  981. package/nodes/accessors/PositionNode.mjs +0 -65
  982. package/nodes/accessors/ReferenceNode.mjs +0 -37
  983. package/nodes/accessors/ReflectNode.mjs +0 -43
  984. package/nodes/accessors/SkinningNode.mjs +0 -58
  985. package/nodes/accessors/TextureNode.mjs +0 -54
  986. package/nodes/accessors/UVNode.mjs +0 -23
  987. package/nodes/core/ArrayUniformNode.mjs +0 -14
  988. package/nodes/core/AttributeNode.mjs +0 -30
  989. package/nodes/core/BypassNode.mjs +0 -22
  990. package/nodes/core/CodeNode.mjs +0 -28
  991. package/nodes/core/ConstNode.mjs +0 -14
  992. package/nodes/core/ContextNode.mjs +0 -22
  993. package/nodes/core/ExpressionNode.mjs +0 -19
  994. package/nodes/core/FunctionCallNode.mjs +0 -37
  995. package/nodes/core/FunctionNode.mjs +0 -56
  996. package/nodes/core/InputNode.mjs +0 -38
  997. package/nodes/core/Node.mjs +0 -139
  998. package/nodes/core/NodeAttribute.mjs +0 -10
  999. package/nodes/core/NodeBuilder.mjs +0 -395
  1000. package/nodes/core/NodeCode.mjs +0 -11
  1001. package/nodes/core/NodeFrame.mjs +0 -35
  1002. package/nodes/core/NodeFunctionInput.mjs +0 -13
  1003. package/nodes/core/NodeKeywords.mjs +0 -44
  1004. package/nodes/core/NodeUniform.mjs +0 -18
  1005. package/nodes/core/NodeUtils.mjs +0 -57
  1006. package/nodes/core/NodeVar.mjs +0 -10
  1007. package/nodes/core/NodeVary.mjs +0 -10
  1008. package/nodes/core/PropertyNode.mjs +0 -21
  1009. package/nodes/core/TempNode.mjs +0 -25
  1010. package/nodes/core/UniformNode.mjs +0 -23
  1011. package/nodes/core/VarNode.mjs +0 -31
  1012. package/nodes/core/VaryNode.mjs +0 -30
  1013. package/nodes/core/constants.mjs +0 -24
  1014. package/nodes/display/ColorSpaceNode.mjs +0 -63
  1015. package/nodes/display/NormalMapNode.mjs +0 -54
  1016. package/nodes/fog/FogNode.mjs +0 -15
  1017. package/nodes/fog/FogRangeNode.mjs +0 -17
  1018. package/nodes/functions/BSDFs.mjs +0 -64
  1019. package/nodes/lights/LightContextNode.mjs +0 -35
  1020. package/nodes/lights/LightNode.mjs +0 -58
  1021. package/nodes/lights/LightsNode.mjs +0 -59
  1022. package/nodes/loaders/NodeLoader.mjs +0 -66
  1023. package/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  1024. package/nodes/loaders/NodeObjectLoader.mjs +0 -40
  1025. package/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  1026. package/nodes/materials/Materials.mjs +0 -28
  1027. package/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  1028. package/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  1029. package/nodes/materials/NodeMaterial.mjs +0 -64
  1030. package/nodes/materials/PointsNodeMaterial.mjs +0 -30
  1031. package/nodes/math/CondNode.mjs +0 -38
  1032. package/nodes/math/MathNode.mjs +0 -163
  1033. package/nodes/math/OperatorNode.mjs +0 -103
  1034. package/nodes/procedural/CheckerNode.mjs +0 -21
  1035. package/nodes/utils/ArrayElementNode.mjs +0 -19
  1036. package/nodes/utils/ConvertNode.mjs +0 -25
  1037. package/nodes/utils/JoinNode.mjs +0 -26
  1038. package/nodes/utils/MatcapUVNode.mjs +0 -16
  1039. package/nodes/utils/OscNode.mjs +0 -50
  1040. package/nodes/utils/SplitNode.mjs +0 -45
  1041. package/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  1042. package/nodes/utils/TimerNode.mjs +0 -44
  1043. package/objects/GroundProjectedEnv.mjs +0 -130
  1044. package/objects/Lensflare.mjs +0 -262
  1045. package/objects/LightningStorm.mjs +0 -110
  1046. package/objects/MarchingCubes.mjs +0 -457
  1047. package/objects/Reflector.mjs +0 -166
  1048. package/objects/ReflectorForSSRPass.mjs +0 -247
  1049. package/objects/ReflectorRTT.mjs +0 -10
  1050. package/objects/Refractor.mjs +0 -178
  1051. package/objects/ShadowMesh.mjs +0 -41
  1052. package/objects/Sky.mjs +0 -124
  1053. package/objects/Water.mjs +0 -235
  1054. package/objects/Water2.mjs +0 -252
  1055. package/offscreen/jank.mjs +0 -27
  1056. package/offscreen/offscreen.mjs +0 -5
  1057. package/offscreen/scene.mjs +0 -52
  1058. package/physics/AmmoPhysics.mjs +0 -165
  1059. package/postprocessing/AdaptiveToneMappingPass.mjs +0 -221
  1060. package/postprocessing/AfterimagePass.mjs +0 -55
  1061. package/postprocessing/BloomPass.mjs +0 -90
  1062. package/postprocessing/BokehPass.mjs +0 -76
  1063. package/postprocessing/ClearPass.mjs +0 -27
  1064. package/postprocessing/CubeTexturePass.mjs +0 -49
  1065. package/postprocessing/DotScreenPass.mjs +0 -40
  1066. package/postprocessing/EffectComposer.mjs +0 -139
  1067. package/postprocessing/FilmPass.mjs +0 -42
  1068. package/postprocessing/GlitchPass.mjs +0 -75
  1069. package/postprocessing/HalftonePass.mjs +0 -44
  1070. package/postprocessing/LUTPass.mjs +0 -136
  1071. package/postprocessing/MaskPass.mjs +0 -60
  1072. package/postprocessing/OutlinePass.mjs +0 -438
  1073. package/postprocessing/Pass.mjs +0 -37
  1074. package/postprocessing/RenderPass.mjs +0 -48
  1075. package/postprocessing/RenderPixelatedPass.mjs +0 -199
  1076. package/postprocessing/SAOPass.mjs +0 -282
  1077. package/postprocessing/SMAAPass.mjs +0 -112
  1078. package/postprocessing/SSAARenderPass.mjs +0 -170
  1079. package/postprocessing/SSAOPass.mjs +0 -265
  1080. package/postprocessing/SSRPass.mjs +0 -432
  1081. package/postprocessing/SavePass.mjs +0 -37
  1082. package/postprocessing/ShaderPass.mjs +0 -39
  1083. package/postprocessing/TAARenderPass.mjs +0 -88
  1084. package/postprocessing/TexturePass.mjs +0 -39
  1085. package/postprocessing/UnrealBloomPass.mjs +0 -220
  1086. package/renderers/CSS2DRenderer.mjs +0 -112
  1087. package/renderers/CSS3DRenderer.mjs +0 -133
  1088. package/renderers/Projector.mjs +0 -511
  1089. package/renderers/SVGRenderer.mjs +0 -306
  1090. package/renderers/nodes/accessors/CameraNode.mjs +0 -63
  1091. package/renderers/nodes/accessors/ModelNode.mjs +0 -61
  1092. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  1093. package/renderers/nodes/accessors/NormalNode.mjs +0 -61
  1094. package/renderers/nodes/accessors/PositionNode.mjs +0 -30
  1095. package/renderers/nodes/accessors/UVNode.mjs +0 -13
  1096. package/renderers/nodes/core/AttributeNode.mjs +0 -35
  1097. package/renderers/nodes/core/InputNode.mjs +0 -31
  1098. package/renderers/nodes/core/Node.mjs +0 -34
  1099. package/renderers/nodes/core/NodeAttribute.mjs +0 -10
  1100. package/renderers/nodes/core/NodeBuilder.mjs +0 -243
  1101. package/renderers/nodes/core/NodeFrame.mjs +0 -35
  1102. package/renderers/nodes/core/NodeSlot.mjs +0 -10
  1103. package/renderers/nodes/core/NodeUniform.mjs +0 -18
  1104. package/renderers/nodes/core/NodeVary.mjs +0 -11
  1105. package/renderers/nodes/core/VaryNode.mjs +0 -22
  1106. package/renderers/nodes/core/constants.mjs +0 -22
  1107. package/renderers/nodes/inputs/ColorNode.mjs +0 -11
  1108. package/renderers/nodes/inputs/FloatNode.mjs +0 -11
  1109. package/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  1110. package/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  1111. package/renderers/nodes/inputs/TextureNode.mjs +0 -20
  1112. package/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  1113. package/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  1114. package/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  1115. package/renderers/nodes/math/MathNode.mjs +0 -55
  1116. package/renderers/nodes/math/OperatorNode.mjs +0 -42
  1117. package/renderers/nodes/utils/SwitchNode.mjs +0 -20
  1118. package/renderers/nodes/utils/TimerNode.mjs +0 -14
  1119. package/renderers/webgpu/WebGPU.mjs +0 -24
  1120. package/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  1121. package/renderers/webgpu/WebGPUBackground.mjs +0 -61
  1122. package/renderers/webgpu/WebGPUBinding.mjs +0 -14
  1123. package/renderers/webgpu/WebGPUBindings.mjs +0 -155
  1124. package/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  1125. package/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  1126. package/renderers/webgpu/WebGPUInfo.mjs +0 -46
  1127. package/renderers/webgpu/WebGPUObjects.mjs +0 -25
  1128. package/renderers/webgpu/WebGPUProperties.mjs +0 -22
  1129. package/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  1130. package/renderers/webgpu/WebGPURenderPipelines.mjs +0 -545
  1131. package/renderers/webgpu/WebGPURenderer.mjs +0 -574
  1132. package/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  1133. package/renderers/webgpu/WebGPUSampler.mjs +0 -15
  1134. package/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  1135. package/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  1136. package/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  1137. package/renderers/webgpu/WebGPUTextures.mjs +0 -484
  1138. package/renderers/webgpu/WebGPUUniform.mjs +0 -81
  1139. package/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  1140. package/renderers/webgpu/constants.mjs +0 -230
  1141. package/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  1142. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  1143. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  1144. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  1145. package/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
  1146. package/shaders/ACESFilmicToneMappingShader.mjs +0 -48
  1147. package/shaders/AfterimageShader.mjs +0 -32
  1148. package/shaders/BasicShader.mjs +0 -12
  1149. package/shaders/BleachBypassShader.mjs +0 -35
  1150. package/shaders/BlendShader.mjs +0 -30
  1151. package/shaders/BokehShader.mjs +0 -106
  1152. package/shaders/BokehShader2.mjs +0 -269
  1153. package/shaders/BrightnessContrastShader.mjs +0 -32
  1154. package/shaders/ColorCorrectionShader.mjs +0 -30
  1155. package/shaders/ColorifyShader.mjs +0 -28
  1156. package/shaders/ConvolutionShader.mjs +0 -55
  1157. package/shaders/CopyShader.mjs +0 -25
  1158. package/shaders/DOFMipMapShader.mjs +0 -32
  1159. package/shaders/DepthLimitedBlurShader.mjs +0 -114
  1160. package/shaders/DigitalGlitch.mjs +0 -78
  1161. package/shaders/DotScreenShader.mjs +0 -39
  1162. package/shaders/FXAAShader.mjs +0 -1098
  1163. package/shaders/FilmShader.mjs +0 -42
  1164. package/shaders/FocusShader.mjs +0 -55
  1165. package/shaders/FreiChenShader.mjs +0 -61
  1166. package/shaders/FresnelShader.mjs +0 -47
  1167. package/shaders/GammaCorrectionShader.mjs +0 -23
  1168. package/shaders/GodRaysShader.mjs +0 -146
  1169. package/shaders/HalftoneShader.mjs +0 -212
  1170. package/shaders/HorizontalBlurShader.mjs +0 -43
  1171. package/shaders/HorizontalTiltShiftShader.mjs +0 -37
  1172. package/shaders/HueSaturationShader.mjs +0 -41
  1173. package/shaders/KaleidoShader.mjs +0 -34
  1174. package/shaders/LuminosityHighPassShader.mjs +0 -37
  1175. package/shaders/LuminosityShader.mjs +0 -25
  1176. package/shaders/MirrorShader.mjs +0 -35
  1177. package/shaders/NormalMapShader.mjs +0 -31
  1178. package/shaders/ParallaxShader.mjs +0 -113
  1179. package/shaders/PixelShader.mjs +0 -28
  1180. package/shaders/RGBShiftShader.mjs +0 -30
  1181. package/shaders/SAOShader.mjs +0 -144
  1182. package/shaders/SMAAShader.mjs +0 -272
  1183. package/shaders/SSAOShader.mjs +0 -172
  1184. package/shaders/SSRShader.mjs +0 -324
  1185. package/shaders/SepiaShader.mjs +0 -29
  1186. package/shaders/SobelOperatorShader.mjs +0 -44
  1187. package/shaders/SubsurfaceScatteringShader.mjs +0 -59
  1188. package/shaders/TechnicolorShader.mjs +0 -24
  1189. package/shaders/ToneMapShader.mjs +0 -48
  1190. package/shaders/ToonShader.mjs +0 -188
  1191. package/shaders/TriangleBlurShader.mjs +0 -36
  1192. package/shaders/UnpackDepthRGBAShader.mjs +0 -26
  1193. package/shaders/VerticalBlurShader.mjs +0 -44
  1194. package/shaders/VerticalTiltShiftShader.mjs +0 -37
  1195. package/shaders/VignetteShader.mjs +0 -28
  1196. package/shaders/VolumeShader.mjs +0 -178
  1197. package/shaders/WaterRefractionShader.mjs +0 -57
  1198. package/textures/FlakesTexture.mjs +0 -30
  1199. package/types/helpers.mjs +0 -4
  1200. package/utils/BufferGeometryUtils.mjs +0 -570
  1201. package/utils/GeometryCompressionUtils.mjs +0 -547
  1202. package/utils/GeometryUtils.mjs +0 -108
  1203. package/utils/RoughnessMipmapper.mjs +0 -213
  1204. package/utils/SceneUtils.mjs +0 -36
  1205. package/utils/ShadowMapViewer.mjs +0 -114
  1206. package/utils/SkeletonUtils.mjs +0 -292
  1207. package/utils/UVsDebug.mjs +0 -85
  1208. package/utils/WorkerPool.mjs +0 -62
  1209. package/webxr/ARButton.mjs +0 -119
  1210. package/webxr/OculusHandModel.mjs +0 -71
  1211. package/webxr/OculusHandPointerModel.mjs +0 -207
  1212. package/webxr/Text2D.mjs +0 -31
  1213. package/webxr/VRButton.mjs +0 -105
  1214. package/webxr/XRControllerModelFactory.mjs +0 -146
  1215. package/webxr/XREstimatedLight.mjs +0 -126
  1216. package/webxr/XRHandMeshModel.mjs +0 -73
  1217. package/webxr/XRHandModelFactory.mjs +0 -61
  1218. 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 };