three-stdlib 2.16.0 → 2.16.2

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