three-stdlib 2.16.0 → 2.16.2

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