three-stdlib 2.15.2 → 2.16.1

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