super-three 0.141.0 → 0.147.0

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 (646) hide show
  1. package/README.md +9 -9
  2. package/build/three.cjs +2441 -1569
  3. package/build/three.js +2441 -1569
  4. package/build/three.min.js +1 -1
  5. package/build/three.module.js +2847 -1576
  6. package/examples/js/animation/AnimationClipCreator.js +0 -8
  7. package/examples/js/animation/CCDIKSolver.js +50 -67
  8. package/examples/js/animation/MMDAnimationHelper.js +66 -137
  9. package/examples/js/animation/MMDPhysics.js +71 -150
  10. package/examples/js/cameras/CinematicCamera.js +33 -22
  11. package/examples/js/controls/ArcballControls.js +149 -403
  12. package/examples/js/controls/DragControls.js +8 -33
  13. package/examples/js/controls/FirstPersonControls.js +32 -61
  14. package/examples/js/controls/FlyControls.js +29 -63
  15. package/examples/js/controls/OrbitControls.js +125 -103
  16. package/examples/js/controls/PointerLockControls.js +5 -22
  17. package/examples/js/controls/TrackballControls.js +33 -88
  18. package/examples/js/controls/TransformControls.js +101 -182
  19. package/examples/js/csm/CSM.js +4 -39
  20. package/examples/js/csm/CSMFrustum.js +3 -9
  21. package/examples/js/csm/CSMHelper.js +24 -4
  22. package/examples/js/csm/CSMShader.js +2 -6
  23. package/examples/js/curves/CurveExtras.js +27 -27
  24. package/examples/js/curves/NURBSCurve.js +4 -16
  25. package/examples/js/curves/NURBSSurface.js +3 -9
  26. package/examples/js/curves/NURBSUtils.js +8 -45
  27. package/examples/js/effects/AnaglyphEffect.js +6 -20
  28. package/examples/js/effects/AsciiEffect.js +32 -31
  29. package/examples/js/effects/OutlineEffect.js +30 -54
  30. package/examples/js/effects/ParallaxBarrierEffect.js +2 -15
  31. package/examples/js/effects/PeppersGhostEffect.js +14 -41
  32. package/examples/js/effects/StereoEffect.js +2 -6
  33. package/examples/js/environments/RoomEnvironment.js +32 -8
  34. package/examples/js/exporters/ColladaExporter.js +52 -78
  35. package/examples/js/exporters/DRACOExporter.js +22 -34
  36. package/examples/js/exporters/EXRExporter.js +15 -18
  37. package/examples/js/exporters/GLTFExporter.js +168 -345
  38. package/examples/js/exporters/MMDExporter.js +5 -12
  39. package/examples/js/exporters/OBJExporter.js +40 -52
  40. package/examples/js/exporters/PLYExporter.js +50 -57
  41. package/examples/js/exporters/STLExporter.js +5 -14
  42. package/examples/js/exporters/USDZExporter.js +119 -27
  43. package/examples/js/geometries/BoxLineGeometry.js +0 -1
  44. package/examples/js/geometries/ConvexGeometry.js +12 -7
  45. package/examples/js/geometries/DecalGeometry.js +53 -20
  46. package/examples/js/geometries/LightningStrike.js +54 -67
  47. package/examples/js/geometries/ParametricGeometries.js +8 -7
  48. package/examples/js/geometries/ParametricGeometry.js +23 -17
  49. package/examples/js/geometries/RoundedBoxGeometry.js +21 -19
  50. package/examples/js/geometries/TeapotGeometry.js +54 -50
  51. package/examples/js/geometries/TextGeometry.js +6 -4
  52. package/examples/js/helpers/LightProbeHelper.js +1 -2
  53. package/examples/js/helpers/OctreeHelper.js +22 -20
  54. package/examples/js/helpers/PositionalAudioHelper.js +8 -6
  55. package/examples/js/helpers/RectAreaLightHelper.js +6 -7
  56. package/examples/js/helpers/VertexNormalsHelper.js +15 -13
  57. package/examples/js/helpers/VertexTangentsHelper.js +15 -9
  58. package/examples/js/helpers/ViewHelper.js +31 -16
  59. package/examples/js/interactive/HTMLMesh.js +25 -39
  60. package/examples/js/interactive/InteractiveGroup.js +9 -14
  61. package/examples/js/interactive/SelectionBox.js +3 -70
  62. package/examples/js/interactive/SelectionHelper.js +2 -8
  63. package/examples/js/libs/ktx-parse.umd.js +1 -0
  64. package/examples/js/libs/meshopt_decoder.js +98 -32
  65. package/examples/js/lights/LightProbeGenerator.js +32 -39
  66. package/examples/js/lights/RectAreaLightUniformsLib.js +5 -1
  67. package/examples/js/lines/LineGeometry.js +3 -5
  68. package/examples/js/lines/LineMaterial.js +4 -11
  69. package/examples/js/lines/LineSegments2.js +40 -89
  70. package/examples/js/lines/LineSegmentsGeometry.js +7 -28
  71. package/examples/js/lines/Wireframe.js +2 -7
  72. package/examples/js/lines/WireframeGeometry2.js +3 -1
  73. package/examples/js/loaders/3DMLoader.js +58 -155
  74. package/examples/js/loaders/3MFLoader.js +72 -106
  75. package/examples/js/loaders/AMFLoader.js +0 -25
  76. package/examples/js/loaders/BVHLoader.js +44 -43
  77. package/examples/js/loaders/BasisTextureLoader.js +16 -46
  78. package/examples/js/loaders/ColladaLoader.js +229 -359
  79. package/examples/js/loaders/DDSLoader.js +24 -25
  80. package/examples/js/loaders/DRACOLoader.js +30 -90
  81. package/examples/js/loaders/EXRLoader.js +69 -177
  82. package/examples/js/loaders/FBXLoader.js +294 -441
  83. package/examples/js/loaders/FontLoader.js +9 -31
  84. package/examples/js/loaders/GCodeLoader.js +15 -16
  85. package/examples/js/loaders/GLTFLoader.js +458 -739
  86. package/examples/js/loaders/HDRCubeTextureLoader.js +0 -17
  87. package/examples/js/loaders/KMZLoader.js +3 -7
  88. package/examples/js/loaders/KTXLoader.js +12 -30
  89. package/examples/js/loaders/LDrawLoader.js +309 -355
  90. package/examples/js/loaders/LUT3dlLoader.js +7 -11
  91. package/examples/js/loaders/LUTCubeLoader.js +0 -8
  92. package/examples/js/loaders/LWOLoader.js +59 -124
  93. package/examples/js/loaders/LogLuvLoader.js +27 -77
  94. package/examples/js/loaders/LottieLoader.js +4 -4
  95. package/examples/js/loaders/MD2Loader.js +26 -27
  96. package/examples/js/loaders/MDDLoader.js +6 -10
  97. package/examples/js/loaders/MMDLoader.js +180 -189
  98. package/examples/js/loaders/MTLLoader.js +18 -47
  99. package/examples/js/loaders/NRRDLoader.js +44 -84
  100. package/examples/js/loaders/OBJLoader.js +56 -77
  101. package/examples/js/loaders/PCDLoader.js +92 -42
  102. package/examples/js/loaders/PDBLoader.js +17 -13
  103. package/examples/js/loaders/PLYLoader.js +65 -51
  104. package/examples/js/loaders/PRWMLoader.js +11 -22
  105. package/examples/js/loaders/PVRLoader.js +7 -16
  106. package/examples/js/loaders/RGBELoader.js +36 -61
  107. package/examples/js/loaders/RGBMLoader.js +26 -87
  108. package/examples/js/loaders/STLLoader.js +20 -27
  109. package/examples/js/loaders/SVGLoader.js +365 -236
  110. package/examples/js/loaders/TDSLoader.js +81 -118
  111. package/examples/js/loaders/TGALoader.js +39 -41
  112. package/examples/js/loaders/TIFFLoader.js +30 -0
  113. package/examples/js/loaders/TTFLoader.js +0 -8
  114. package/examples/js/loaders/TiltLoader.js +14 -15
  115. package/examples/js/loaders/VOXLoader.js +8 -16
  116. package/examples/js/loaders/VRMLLoader.js +266 -354
  117. package/examples/js/loaders/VTKLoader.js +102 -119
  118. package/examples/js/loaders/XYZLoader.js +2 -4
  119. package/examples/js/loaders/lwo/IFFParser.js +55 -136
  120. package/examples/js/loaders/lwo/LWO2Parser.js +39 -89
  121. package/examples/js/loaders/lwo/LWO3Parser.js +38 -79
  122. package/examples/js/materials/MeshGouraudMaterial.js +387 -0
  123. package/examples/js/math/Capsule.js +0 -17
  124. package/examples/js/math/ColorConverter.js +3 -53
  125. package/examples/js/math/ConvexHull.js +185 -141
  126. package/examples/js/math/ImprovedNoise.js +1 -1
  127. package/examples/js/math/Lut.js +8 -15
  128. package/examples/js/math/MeshSurfaceSampler.js +6 -28
  129. package/examples/js/math/OBB.js +90 -49
  130. package/examples/js/math/Octree.js +2 -57
  131. package/examples/js/math/SimplexNoise.js +74 -88
  132. package/examples/js/misc/ConvexObjectBreaker.js +37 -48
  133. package/examples/js/misc/GPUComputationRenderer.js +47 -14
  134. package/examples/js/misc/Gyroscope.js +5 -9
  135. package/examples/js/misc/MD2Character.js +14 -23
  136. package/examples/js/misc/MD2CharacterComplex.js +73 -54
  137. package/examples/js/misc/MorphAnimMesh.js +0 -6
  138. package/examples/js/misc/MorphBlendMesh.js +3 -30
  139. package/examples/js/misc/ProgressiveLightMap.js +47 -43
  140. package/examples/js/misc/RollerCoaster.js +17 -24
  141. package/examples/js/misc/TubePainter.js +18 -12
  142. package/examples/js/misc/Volume.js +173 -194
  143. package/examples/js/misc/VolumeSlice.js +91 -99
  144. package/examples/js/modifiers/CurveModifier.js +19 -21
  145. package/examples/js/modifiers/EdgeSplitModifier.js +0 -30
  146. package/examples/js/modifiers/SimplifyModifier.js +57 -60
  147. package/examples/js/modifiers/TessellateModifier.js +2 -9
  148. package/examples/js/objects/GroundProjectedEnv.js +181 -0
  149. package/examples/js/objects/Lensflare.js +47 -38
  150. package/examples/js/objects/LightningStorm.js +10 -13
  151. package/examples/js/objects/MarchingCubes.js +80 -59
  152. package/examples/js/objects/Reflector.js +31 -22
  153. package/examples/js/objects/ReflectorForSSRPass.js +20 -25
  154. package/examples/js/objects/Refractor.js +61 -33
  155. package/examples/js/objects/ShadowMesh.js +6 -3
  156. package/examples/js/objects/Sky.js +2 -7
  157. package/examples/js/objects/Water.js +23 -18
  158. package/examples/js/objects/Water2.js +20 -19
  159. package/examples/js/physics/AmmoPhysics.js +23 -20
  160. package/examples/js/physics/OimoPhysics.js +19 -17
  161. package/examples/js/postprocessing/AdaptiveToneMappingPass.js +13 -20
  162. package/examples/js/postprocessing/AfterimagePass.js +19 -12
  163. package/examples/js/postprocessing/BloomPass.js +38 -17
  164. package/examples/js/postprocessing/BokehPass.js +29 -12
  165. package/examples/js/postprocessing/ClearPass.js +1 -6
  166. package/examples/js/postprocessing/CubeTexturePass.js +12 -9
  167. package/examples/js/postprocessing/DotScreenPass.js +7 -5
  168. package/examples/js/postprocessing/EffectComposer.js +25 -32
  169. package/examples/js/postprocessing/FilmPass.js +7 -5
  170. package/examples/js/postprocessing/GlitchPass.js +10 -11
  171. package/examples/js/postprocessing/HalftonePass.js +9 -9
  172. package/examples/js/postprocessing/LUTPass.js +2 -15
  173. package/examples/js/postprocessing/MaskPass.js +20 -17
  174. package/examples/js/postprocessing/OutlinePass.js +49 -38
  175. package/examples/js/postprocessing/Pass.js +11 -14
  176. package/examples/js/postprocessing/RenderPass.js +3 -7
  177. package/examples/js/postprocessing/RenderPixelatedPass.js +215 -0
  178. package/examples/js/postprocessing/SAOPass.js +40 -32
  179. package/examples/js/postprocessing/SMAAPass.js +34 -17
  180. package/examples/js/postprocessing/SSAARenderPass.js +14 -14
  181. package/examples/js/postprocessing/SSAOPass.js +56 -42
  182. package/examples/js/postprocessing/SSRPass.js +78 -61
  183. package/examples/js/postprocessing/SavePass.js +14 -6
  184. package/examples/js/postprocessing/ShaderPass.js +9 -8
  185. package/examples/js/postprocessing/TAARenderPass.js +11 -9
  186. package/examples/js/postprocessing/TexturePass.js +7 -4
  187. package/examples/js/postprocessing/UnrealBloomPass.js +43 -25
  188. package/examples/js/renderers/CSS2DRenderer.js +4 -23
  189. package/examples/js/renderers/CSS3DRenderer.js +5 -26
  190. package/examples/js/renderers/Projector.js +31 -108
  191. package/examples/js/renderers/SVGRenderer.js +4 -50
  192. package/examples/js/shaders/ACESFilmicToneMappingShader.js +3 -6
  193. package/examples/js/shaders/AfterimageShader.js +3 -6
  194. package/examples/js/shaders/BasicShader.js +3 -6
  195. package/examples/js/shaders/BleachBypassShader.js +3 -6
  196. package/examples/js/shaders/BlendShader.js +3 -6
  197. package/examples/js/shaders/BokehShader.js +3 -6
  198. package/examples/js/shaders/BokehShader2.js +4 -13
  199. package/examples/js/shaders/BrightnessContrastShader.js +3 -6
  200. package/examples/js/shaders/ColorCorrectionShader.js +2 -6
  201. package/examples/js/shaders/ColorifyShader.js +2 -6
  202. package/examples/js/shaders/ConvolutionShader.js +5 -10
  203. package/examples/js/shaders/CopyShader.js +3 -6
  204. package/examples/js/shaders/DOFMipMapShader.js +3 -6
  205. package/examples/js/shaders/DepthLimitedBlurShader.js +2 -9
  206. package/examples/js/shaders/DigitalGlitch.js +3 -6
  207. package/examples/js/shaders/DotScreenShader.js +2 -6
  208. package/examples/js/shaders/FXAAShader.js +1 -3
  209. package/examples/js/shaders/FilmShader.js +3 -6
  210. package/examples/js/shaders/FocusShader.js +3 -6
  211. package/examples/js/shaders/FreiChenShader.js +2 -6
  212. package/examples/js/shaders/GammaCorrectionShader.js +3 -6
  213. package/examples/js/shaders/GodRaysShader.js +11 -24
  214. package/examples/js/shaders/HalftoneShader.js +3 -6
  215. package/examples/js/shaders/HorizontalBlurShader.js +3 -6
  216. package/examples/js/shaders/HorizontalTiltShiftShader.js +3 -6
  217. package/examples/js/shaders/HueSaturationShader.js +3 -6
  218. package/examples/js/shaders/KaleidoShader.js +3 -6
  219. package/examples/js/shaders/LuminosityHighPassShader.js +2 -6
  220. package/examples/js/shaders/LuminosityShader.js +4 -7
  221. package/examples/js/shaders/MMDToonShader.js +2 -4
  222. package/examples/js/shaders/MirrorShader.js +3 -6
  223. package/examples/js/shaders/NormalMapShader.js +2 -6
  224. package/examples/js/shaders/RGBShiftShader.js +3 -6
  225. package/examples/js/shaders/SAOShader.js +2 -6
  226. package/examples/js/shaders/SMAAShader.js +6 -18
  227. package/examples/js/shaders/SSAOShader.js +2 -6
  228. package/examples/js/shaders/SSRShader.js +6 -18
  229. package/examples/js/shaders/SepiaShader.js +3 -6
  230. package/examples/js/shaders/SobelOperatorShader.js +2 -6
  231. package/examples/js/shaders/TechnicolorShader.js +3 -6
  232. package/examples/js/shaders/ToneMapShader.js +4 -7
  233. package/examples/js/shaders/ToonShader.js +8 -24
  234. package/examples/js/shaders/TriangleBlurShader.js +2 -6
  235. package/examples/js/shaders/UnpackDepthRGBAShader.js +3 -6
  236. package/examples/js/shaders/VelocityShader.js +126 -0
  237. package/examples/js/shaders/VerticalBlurShader.js +3 -6
  238. package/examples/js/shaders/VerticalTiltShiftShader.js +3 -6
  239. package/examples/js/shaders/VignetteShader.js +3 -6
  240. package/examples/js/shaders/VolumeShader.js +2 -6
  241. package/examples/js/shaders/WaterRefractionShader.js +2 -6
  242. package/examples/js/textures/FlakesTexture.js +0 -1
  243. package/examples/js/utils/BufferGeometryUtils.js +237 -171
  244. package/examples/js/utils/CameraUtils.js +5 -20
  245. package/examples/js/utils/GPUStatsPanel.js +3 -12
  246. package/examples/js/utils/GeometryCompressionUtils.js +19 -44
  247. package/examples/js/utils/GeometryUtils.js +15 -36
  248. package/examples/js/utils/LDrawUtils.js +8 -11
  249. package/examples/js/utils/PackedPhongMaterial.js +6 -4
  250. package/examples/js/utils/SceneUtils.js +109 -14
  251. package/examples/js/utils/ShadowMapViewer.js +17 -14
  252. package/examples/js/utils/SkeletonUtils.js +13 -27
  253. package/examples/js/utils/UVsDebug.js +20 -12
  254. package/examples/js/utils/WorkerPool.js +1 -11
  255. package/examples/jsm/animation/CCDIKSolver.js +27 -3
  256. package/examples/jsm/animation/MMDPhysics.js +28 -22
  257. package/examples/jsm/capabilities/WebGPU.js +3 -1
  258. package/examples/jsm/controls/ArcballControls.js +17 -2
  259. package/examples/jsm/controls/FirstPersonControls.js +20 -27
  260. package/examples/jsm/controls/FlyControls.js +16 -24
  261. package/examples/jsm/controls/OrbitControls.js +44 -9
  262. package/examples/jsm/controls/PointerLockControls.js +0 -7
  263. package/examples/jsm/controls/TrackballControls.js +14 -5
  264. package/examples/jsm/controls/TransformControls.js +18 -16
  265. package/examples/jsm/csm/CSM.js +1 -0
  266. package/examples/jsm/csm/CSMHelper.js +30 -0
  267. package/examples/jsm/effects/AnaglyphEffect.js +2 -2
  268. package/examples/jsm/effects/OutlineEffect.js +4 -25
  269. package/examples/jsm/effects/ParallaxBarrierEffect.js +2 -2
  270. package/examples/jsm/effects/PeppersGhostEffect.js +2 -2
  271. package/examples/jsm/effects/StereoEffect.js +2 -2
  272. package/examples/jsm/environments/RoomEnvironment.js +23 -0
  273. package/examples/jsm/exporters/ColladaExporter.js +4 -13
  274. package/examples/jsm/exporters/DRACOExporter.js +0 -13
  275. package/examples/jsm/exporters/GLTFExporter.js +29 -110
  276. package/examples/jsm/exporters/KTX2Exporter.js +29 -29
  277. package/examples/jsm/exporters/OBJExporter.js +0 -18
  278. package/examples/jsm/exporters/PLYExporter.js +14 -22
  279. package/examples/jsm/exporters/STLExporter.js +1 -9
  280. package/examples/jsm/exporters/USDZExporter.js +107 -4
  281. package/examples/jsm/geometries/ConvexGeometry.js +1 -1
  282. package/examples/jsm/geometries/ParametricGeometry.js +0 -6
  283. package/examples/jsm/helpers/OctreeHelper.js +22 -8
  284. package/examples/jsm/helpers/VertexNormalsHelper.js +7 -1
  285. package/examples/jsm/helpers/VertexTangentsHelper.js +7 -0
  286. package/examples/jsm/helpers/ViewHelper.js +24 -0
  287. package/examples/jsm/interactive/HTMLMesh.js +14 -15
  288. package/examples/jsm/interactive/InteractiveGroup.js +4 -2
  289. package/examples/jsm/interactive/SelectionHelper.js +5 -3
  290. package/examples/jsm/libs/flow.module.js +610 -160
  291. package/examples/jsm/libs/lottie_canvas.module.js +14844 -0
  292. package/examples/jsm/libs/meshopt_decoder.module.js +97 -32
  293. package/examples/jsm/libs/utif.module.js +1579 -0
  294. package/examples/jsm/libs/zstddec.module.js +1 -0
  295. package/examples/jsm/lines/LineSegments2.js +4 -0
  296. package/examples/jsm/loaders/3DMLoader.js +1 -2
  297. package/examples/jsm/loaders/ColladaLoader.js +29 -0
  298. package/examples/jsm/loaders/DRACOLoader.js +2 -28
  299. package/examples/jsm/loaders/EXRLoader.js +3 -13
  300. package/examples/jsm/loaders/FBXLoader.js +26 -3
  301. package/examples/jsm/loaders/FontLoader.js +3 -16
  302. package/examples/jsm/loaders/GLTFLoader.js +321 -464
  303. package/examples/jsm/loaders/HDRCubeTextureLoader.js +0 -13
  304. package/examples/jsm/loaders/KTX2Loader.js +254 -53
  305. package/examples/jsm/loaders/LDrawLoader.js +149 -87
  306. package/examples/jsm/loaders/LottieLoader.js +4 -2
  307. package/examples/jsm/loaders/MaterialXLoader.js +728 -0
  308. package/examples/jsm/loaders/OBJLoader.js +6 -14
  309. package/examples/jsm/loaders/PCDLoader.js +60 -14
  310. package/examples/jsm/loaders/PLYLoader.js +71 -19
  311. package/examples/jsm/loaders/RGBELoader.js +1 -1
  312. package/examples/jsm/loaders/SVGLoader.js +231 -17
  313. package/examples/jsm/loaders/TIFFLoader.js +36 -0
  314. package/examples/jsm/loaders/USDZLoader.js +633 -0
  315. package/examples/jsm/loaders/VRMLLoader.js +36 -26
  316. package/examples/jsm/loaders/VTKLoader.js +1 -1
  317. package/examples/jsm/loaders/lwo/LWO2Parser.js +6 -8
  318. package/examples/jsm/loaders/lwo/LWO3Parser.js +6 -8
  319. package/examples/jsm/materials/MeshGouraudMaterial.js +423 -0
  320. package/examples/jsm/math/ColorConverter.js +1 -49
  321. package/examples/jsm/math/ConvexHull.js +4 -4
  322. package/examples/jsm/math/Octree.js +1 -1
  323. package/examples/jsm/misc/GPUComputationRenderer.js +43 -0
  324. package/examples/jsm/misc/Volume.js +169 -171
  325. package/examples/jsm/misc/VolumeSlice.js +78 -80
  326. package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
  327. package/examples/jsm/node-editor/NodeEditor.js +91 -12
  328. package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +1 -1
  329. package/examples/jsm/node-editor/accessors/NormalEditor.js +1 -1
  330. package/examples/jsm/node-editor/accessors/PositionEditor.js +1 -1
  331. package/examples/jsm/node-editor/accessors/UVEditor.js +1 -1
  332. package/examples/jsm/node-editor/core/BaseNode.js +10 -3
  333. package/examples/jsm/node-editor/display/BlendEditor.js +1 -1
  334. package/examples/jsm/node-editor/display/NormalMapEditor.js +1 -1
  335. package/examples/jsm/node-editor/inputs/ColorEditor.js +1 -1
  336. package/examples/jsm/node-editor/inputs/FloatEditor.js +1 -1
  337. package/examples/jsm/node-editor/inputs/SliderEditor.js +1 -1
  338. package/examples/jsm/node-editor/inputs/TextureEditor.js +1 -1
  339. package/examples/jsm/node-editor/inputs/Vector2Editor.js +1 -1
  340. package/examples/jsm/node-editor/inputs/Vector3Editor.js +1 -1
  341. package/examples/jsm/node-editor/inputs/Vector4Editor.js +1 -1
  342. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +7 -10
  343. package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +1 -1
  344. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +7 -10
  345. package/examples/jsm/node-editor/math/AngleEditor.js +4 -4
  346. package/examples/jsm/node-editor/math/DotEditor.js +1 -1
  347. package/examples/jsm/node-editor/math/InvertEditor.js +3 -3
  348. package/examples/jsm/node-editor/math/LimiterEditor.js +1 -1
  349. package/examples/jsm/node-editor/math/NormalizeEditor.js +1 -1
  350. package/examples/jsm/node-editor/math/OperatorEditor.js +1 -1
  351. package/examples/jsm/node-editor/math/PowerEditor.js +1 -1
  352. package/examples/jsm/node-editor/math/TrigonometryEditor.js +1 -1
  353. package/examples/jsm/node-editor/procedural/CheckerEditor.js +1 -1
  354. package/examples/jsm/node-editor/scene/MeshEditor.js +11 -8
  355. package/examples/jsm/node-editor/utils/JoinEditor.js +1 -1
  356. package/examples/jsm/node-editor/utils/OscillatorEditor.js +1 -1
  357. package/examples/jsm/node-editor/utils/PreviewEditor.js +7 -3
  358. package/examples/jsm/node-editor/utils/SplitEditor.js +1 -1
  359. package/examples/jsm/node-editor/utils/TimerEditor.js +1 -1
  360. package/examples/jsm/nodes/Nodes.js +70 -13
  361. package/examples/jsm/nodes/accessors/BitangentNode.js +62 -0
  362. package/examples/jsm/nodes/accessors/CubeTextureNode.js +9 -5
  363. package/examples/jsm/nodes/accessors/NormalNode.js +8 -8
  364. package/examples/jsm/nodes/accessors/Object3DNode.js +1 -1
  365. package/examples/jsm/nodes/accessors/PositionNode.js +11 -5
  366. package/examples/jsm/nodes/accessors/ReferenceNode.js +1 -1
  367. package/examples/jsm/nodes/accessors/ReflectVectorNode.js +31 -0
  368. package/examples/jsm/nodes/accessors/SkinningNode.js +8 -1
  369. package/examples/jsm/nodes/accessors/TangentNode.js +95 -0
  370. package/examples/jsm/nodes/core/AttributeNode.js +32 -9
  371. package/examples/jsm/nodes/core/CodeNode.js +3 -3
  372. package/examples/jsm/nodes/core/FunctionCallNode.js +20 -5
  373. package/examples/jsm/nodes/core/FunctionNode.js +2 -2
  374. package/examples/jsm/nodes/core/Node.js +15 -13
  375. package/examples/jsm/nodes/core/NodeBuilder.js +67 -18
  376. package/examples/jsm/nodes/core/NodeFrame.js +2 -2
  377. package/examples/jsm/nodes/core/NodeUtils.js +23 -1
  378. package/examples/jsm/nodes/core/NodeVarying.js +17 -0
  379. package/examples/jsm/nodes/core/VaryingNode.js +56 -0
  380. package/examples/jsm/nodes/core/constants.js +13 -13
  381. package/examples/jsm/nodes/display/BlendModeNode.js +85 -0
  382. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +84 -0
  383. package/examples/jsm/nodes/display/NormalMapNode.js +19 -12
  384. package/examples/jsm/nodes/display/PosterizeNode.js +25 -0
  385. package/examples/jsm/nodes/display/ViewportNode.js +106 -0
  386. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +5 -5
  387. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +3 -3
  388. package/examples/jsm/nodes/functions/light/getDistanceAttenuation.js +2 -2
  389. package/examples/jsm/nodes/geometry/RangeNode.js +109 -0
  390. package/examples/jsm/nodes/gpgpu/ComputeNode.js +3 -1
  391. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +1 -1
  392. package/examples/jsm/nodes/lighting/EnvironmentNode.js +8 -7
  393. package/examples/jsm/nodes/lighting/LightingContextNode.js +4 -4
  394. package/examples/jsm/nodes/loaders/NodeLoader.js +2 -2
  395. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +33 -0
  396. package/examples/jsm/nodes/materials/Materials.js +21 -31
  397. package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +70 -0
  398. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +4 -7
  399. package/examples/jsm/nodes/materials/NodeMaterial.js +11 -3
  400. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +28 -17
  401. package/examples/jsm/nodes/materialx/DISCLAIMER.md +199 -0
  402. package/examples/jsm/nodes/materialx/MaterialXNodes.js +59 -0
  403. package/examples/jsm/nodes/materialx/lib/mx_hsv.js +56 -0
  404. package/examples/jsm/nodes/materialx/lib/mx_noise.js +617 -0
  405. package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +18 -0
  406. package/examples/jsm/nodes/math/MathNode.js +7 -17
  407. package/examples/jsm/nodes/math/OperatorNode.js +16 -3
  408. package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +21 -6
  409. package/examples/jsm/nodes/procedural/CheckerNode.js +2 -2
  410. package/examples/jsm/nodes/shadernode/ShaderNode.js +40 -25
  411. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +95 -68
  412. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +49 -6
  413. package/examples/jsm/nodes/utils/ConvertNode.js +18 -12
  414. package/examples/jsm/nodes/utils/EquirectUVNode.js +27 -0
  415. package/examples/jsm/nodes/utils/JoinNode.js +15 -9
  416. package/examples/jsm/nodes/utils/MatcapUVNode.js +2 -4
  417. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +3 -2
  418. package/examples/jsm/nodes/utils/OscNode.js +2 -2
  419. package/examples/jsm/nodes/utils/RemapNode.js +34 -0
  420. package/examples/jsm/nodes/utils/RotateUVNode.js +32 -0
  421. package/examples/jsm/nodes/utils/SplitNode.js +21 -5
  422. package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +8 -10
  423. package/examples/jsm/nodes/utils/TimerNode.js +23 -3
  424. package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +51 -0
  425. package/examples/jsm/objects/GroundProjectedEnv.js +186 -0
  426. package/examples/jsm/objects/Reflector.js +12 -5
  427. package/examples/jsm/objects/ReflectorForSSRPass.js +3 -5
  428. package/examples/jsm/objects/Refractor.js +12 -6
  429. package/examples/jsm/objects/ShadowMesh.js +8 -2
  430. package/examples/jsm/postprocessing/AfterimagePass.js +17 -4
  431. package/examples/jsm/postprocessing/BloomPass.js +22 -3
  432. package/examples/jsm/postprocessing/BokehPass.js +18 -4
  433. package/examples/jsm/postprocessing/CubeTexturePass.js +12 -5
  434. package/examples/jsm/postprocessing/DotScreenPass.js +8 -0
  435. package/examples/jsm/postprocessing/EffectComposer.js +9 -0
  436. package/examples/jsm/postprocessing/FilmPass.js +8 -0
  437. package/examples/jsm/postprocessing/GlitchPass.js +13 -1
  438. package/examples/jsm/postprocessing/HalftonePass.js +8 -0
  439. package/examples/jsm/postprocessing/OutlinePass.js +25 -3
  440. package/examples/jsm/postprocessing/Pass.js +2 -0
  441. package/examples/jsm/postprocessing/RenderPixelatedPass.js +234 -0
  442. package/examples/jsm/postprocessing/SAOPass.js +20 -0
  443. package/examples/jsm/postprocessing/SMAAPass.js +16 -0
  444. package/examples/jsm/postprocessing/SSAARenderPass.js +4 -0
  445. package/examples/jsm/postprocessing/SavePass.js +17 -1
  446. package/examples/jsm/postprocessing/ShaderPass.js +8 -0
  447. package/examples/jsm/postprocessing/TAARenderPass.js +9 -0
  448. package/examples/jsm/postprocessing/TexturePass.js +8 -0
  449. package/examples/jsm/postprocessing/UnrealBloomPass.js +16 -0
  450. package/examples/jsm/renderers/CSS2DRenderer.js +2 -2
  451. package/examples/jsm/renderers/CSS3DRenderer.js +2 -2
  452. package/examples/jsm/renderers/Projector.js +2 -24
  453. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +9 -5
  454. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +363 -231
  455. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +7 -3
  456. package/examples/jsm/renderers/webgpu/WebGPUAnimation.js +58 -0
  457. package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +63 -5
  458. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +68 -3
  459. package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +6 -0
  460. package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +6 -0
  461. package/examples/jsm/renderers/webgpu/WebGPUObjects.js +1 -1
  462. package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +17 -19
  463. package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +16 -14
  464. package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +2 -2
  465. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +113 -93
  466. package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +5 -3
  467. package/examples/jsm/renderers/webgpu/WebGPUTextures.js +2 -2
  468. package/examples/jsm/renderers/webgpu/WebGPUUtils.js +81 -0
  469. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +63 -36
  470. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +1 -1
  471. package/examples/jsm/shaders/LuminosityShader.js +1 -1
  472. package/examples/jsm/shaders/MMDToonShader.js +2 -4
  473. package/examples/jsm/shaders/ToneMapShader.js +1 -1
  474. package/examples/jsm/shaders/VelocityShader.js +128 -0
  475. package/examples/jsm/utils/BufferGeometryUtils.js +176 -43
  476. package/examples/jsm/utils/GeometryUtils.js +17 -25
  477. package/examples/jsm/utils/PackedPhongMaterial.js +0 -1
  478. package/examples/jsm/utils/SceneUtils.js +117 -12
  479. package/examples/jsm/webxr/OculusHandModel.js +3 -2
  480. package/examples/jsm/webxr/OculusHandPointerModel.js +6 -1
  481. package/examples/jsm/webxr/VRButton.js +1 -7
  482. package/examples/jsm/webxr/XRHandMeshModel.js +8 -3
  483. package/package.json +22 -18
  484. package/src/Three.Legacy.js +262 -36
  485. package/src/Three.js +4 -2
  486. package/src/animation/AnimationAction.js +6 -5
  487. package/src/animation/AnimationClip.js +1 -1
  488. package/src/animation/AnimationMixer.js +1 -1
  489. package/src/animation/AnimationUtils.js +204 -199
  490. package/src/animation/KeyframeTrack.js +1 -1
  491. package/src/animation/PropertyBinding.js +31 -5
  492. package/src/audio/AudioContext.js +5 -5
  493. package/src/cameras/CubeCamera.js +14 -21
  494. package/src/constants.js +2 -4
  495. package/src/core/BufferAttribute.js +81 -111
  496. package/src/core/BufferGeometry.js +3 -41
  497. package/src/core/InstancedBufferAttribute.js +0 -10
  498. package/src/core/InstancedBufferGeometry.js +1 -7
  499. package/src/core/InterleavedBuffer.js +1 -1
  500. package/src/core/InterleavedBufferAttribute.js +57 -8
  501. package/src/core/Object3D.js +22 -5
  502. package/src/core/Uniform.js +0 -7
  503. package/src/core/UniformsGroup.js +92 -0
  504. package/src/extras/DataUtils.js +104 -88
  505. package/src/extras/Earcut.js +67 -67
  506. package/src/extras/core/Path.js +1 -0
  507. package/src/extras/core/ShapePath.js +1 -4
  508. package/src/extras/curves/CatmullRomCurve3.js +4 -2
  509. package/src/geometries/BoxGeometry.js +1 -1
  510. package/src/geometries/CapsuleGeometry.js +1 -1
  511. package/src/geometries/CircleGeometry.js +1 -1
  512. package/src/geometries/ConeGeometry.js +1 -1
  513. package/src/geometries/CylinderGeometry.js +2 -1
  514. package/src/geometries/DodecahedronGeometry.js +1 -1
  515. package/src/geometries/EdgesGeometry.js +5 -4
  516. package/src/geometries/ExtrudeGeometry.js +2 -11
  517. package/src/geometries/IcosahedronGeometry.js +1 -1
  518. package/src/geometries/LatheGeometry.js +2 -2
  519. package/src/geometries/OctahedronGeometry.js +1 -1
  520. package/src/geometries/PlaneGeometry.js +2 -1
  521. package/src/geometries/PolyhedronGeometry.js +2 -2
  522. package/src/geometries/RingGeometry.js +1 -1
  523. package/src/geometries/ShapeGeometry.js +3 -2
  524. package/src/geometries/SphereGeometry.js +2 -1
  525. package/src/geometries/TetrahedronGeometry.js +1 -1
  526. package/src/geometries/TorusGeometry.js +2 -1
  527. package/src/geometries/TorusKnotGeometry.js +2 -1
  528. package/src/geometries/TubeGeometry.js +2 -1
  529. package/src/geometries/WireframeGeometry.js +1 -0
  530. package/src/helpers/ArrowHelper.js +9 -0
  531. package/src/helpers/Box3Helper.js +7 -0
  532. package/src/helpers/BoxHelper.js +7 -1
  533. package/src/helpers/CameraHelper.js +97 -38
  534. package/src/helpers/DirectionalLightHelper.js +6 -1
  535. package/src/helpers/GridHelper.js +7 -0
  536. package/src/helpers/HemisphereLightHelper.js +5 -1
  537. package/src/helpers/PlaneHelper.js +15 -9
  538. package/src/helpers/PointLightHelper.js +2 -1
  539. package/src/helpers/PolarGridHelper.js +25 -14
  540. package/src/helpers/SkeletonHelper.js +7 -0
  541. package/src/helpers/SpotLightHelper.js +5 -2
  542. package/src/lights/LightShadow.js +1 -2
  543. package/src/lights/PointLight.js +2 -2
  544. package/src/lights/SpotLight.js +4 -2
  545. package/src/loaders/FileLoader.js +16 -2
  546. package/src/loaders/LoadingManager.js +1 -1
  547. package/src/loaders/MaterialLoader.js +49 -7
  548. package/src/loaders/ObjectLoader.js +9 -42
  549. package/src/materials/Material.js +2 -34
  550. package/src/materials/Materials.js +0 -27
  551. package/src/materials/MeshLambertMaterial.js +28 -1
  552. package/src/materials/MeshPhysicalMaterial.js +1 -1
  553. package/src/materials/ShaderMaterial.js +3 -7
  554. package/src/math/Color.js +8 -18
  555. package/src/math/MathUtils.js +1 -7
  556. package/src/math/Matrix3.js +54 -25
  557. package/src/math/Matrix4.js +3 -27
  558. package/src/math/Quaternion.js +1 -21
  559. package/src/math/Ray.js +2 -5
  560. package/src/math/Sphere.js +36 -21
  561. package/src/math/Vector2.js +4 -24
  562. package/src/math/Vector3.js +7 -46
  563. package/src/math/Vector4.js +4 -24
  564. package/src/objects/InstancedMesh.js +7 -0
  565. package/src/objects/LOD.js +25 -6
  566. package/src/renderers/WebGL3DRenderTarget.js +1 -1
  567. package/src/renderers/WebGLArrayRenderTarget.js +1 -1
  568. package/src/renderers/WebGLCubeRenderTarget.js +1 -1
  569. package/src/renderers/WebGLMultipleRenderTargets.js +1 -1
  570. package/src/renderers/WebGLRenderTarget.js +1 -1
  571. package/src/renderers/WebGLRenderer.js +119 -69
  572. package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +12 -12
  573. package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +3 -5
  574. package/src/renderers/shaders/ShaderChunk/common.glsl.js +6 -5
  575. package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +24 -24
  576. package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -4
  577. package/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +1 -1
  578. package/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +1 -1
  579. package/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +2 -1
  580. package/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +113 -99
  581. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +34 -13
  582. package/src/renderers/shaders/ShaderChunk/lights_lambert_fragment.glsl.js +5 -0
  583. package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +28 -0
  584. package/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -2
  585. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +3 -1
  586. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +13 -1
  587. package/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -2
  588. package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +2 -4
  589. package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +2 -4
  590. package/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +1 -1
  591. package/src/renderers/shaders/ShaderChunk/packing.glsl.js +8 -0
  592. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +18 -7
  593. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +8 -3
  594. package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +9 -6
  595. package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
  596. package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +14 -10
  597. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +2 -2
  598. package/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +1 -1
  599. package/src/renderers/shaders/ShaderChunk.js +7 -2
  600. package/src/renderers/shaders/ShaderLib/background.glsl.js +7 -2
  601. package/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +62 -0
  602. package/src/renderers/shaders/ShaderLib/cube.glsl.js +4 -6
  603. package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -1
  604. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +22 -50
  605. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -1
  606. package/src/renderers/shaders/ShaderLib/vsm.glsl.js +0 -3
  607. package/src/renderers/shaders/ShaderLib.js +50 -36
  608. package/src/renderers/shaders/UniformsLib.js +13 -12
  609. package/src/renderers/shaders/UniformsUtils.js +29 -0
  610. package/src/renderers/webgl/WebGLAttributes.js +2 -0
  611. package/src/renderers/webgl/WebGLBackground.js +17 -9
  612. package/src/renderers/webgl/WebGLLights.js +37 -17
  613. package/src/renderers/webgl/WebGLMaterials.js +2 -1
  614. package/src/renderers/webgl/WebGLMorphtargets.js +0 -20
  615. package/src/renderers/webgl/WebGLProgram.js +6 -11
  616. package/src/renderers/webgl/WebGLPrograms.js +30 -26
  617. package/src/renderers/webgl/WebGLRenderLists.js +5 -4
  618. package/src/renderers/webgl/WebGLRenderStates.js +5 -4
  619. package/src/renderers/webgl/WebGLShaderCache.js +9 -6
  620. package/src/renderers/webgl/WebGLShadowMap.js +13 -16
  621. package/src/renderers/webgl/WebGLState.js +125 -41
  622. package/src/renderers/webgl/WebGLTextures.js +94 -39
  623. package/src/renderers/webgl/WebGLUniforms.js +156 -28
  624. package/src/renderers/webgl/WebGLUniformsGroups.js +372 -0
  625. package/src/renderers/webgl/WebGLUtils.js +3 -1
  626. package/src/renderers/webvr/WebVRManager.js +42 -9
  627. package/src/renderers/webvr/WebVRUtils.js +1 -1
  628. package/src/renderers/webxr/WebXRController.js +91 -50
  629. package/src/renderers/webxr/WebXRManager.js +127 -34
  630. package/src/scenes/Scene.js +24 -3
  631. package/src/textures/CompressedArrayTexture.js +18 -0
  632. package/src/textures/Source.js +1 -1
  633. package/src/textures/Texture.js +2 -1
  634. package/src/utils.js +1 -1
  635. package/examples/js/controls/experimental/CameraControls.js +0 -1048
  636. package/examples/js/libs/lottie_canvas.js +0 -12751
  637. package/examples/js/loaders/KTX2Loader.js +0 -558
  638. package/examples/js/shaders/PixelShader.js +0 -51
  639. package/examples/jsm/controls/experimental/CameraControls.js +0 -1248
  640. package/examples/jsm/nodes/accessors/ReflectNode.js +0 -70
  641. package/examples/jsm/nodes/core/NodeVary.js +0 -14
  642. package/examples/jsm/nodes/core/VaryNode.js +0 -54
  643. package/examples/jsm/package.json +0 -3
  644. package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +0 -45
  645. package/examples/jsm/shaders/PixelShader.js +0 -44
  646. package/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Port from https://github.com/mapbox/earcut (v2.2.2)
2
+ * Port from https://github.com/mapbox/earcut (v2.2.4)
3
3
  */
4
4
 
5
5
  const Earcut = {
@@ -36,11 +36,11 @@ const Earcut = {
36
36
 
37
37
  // minX, minY and invSize are later used to transform coords into integers for z-order calculation
38
38
  invSize = Math.max( maxX - minX, maxY - minY );
39
- invSize = invSize !== 0 ? 1 / invSize : 0;
39
+ invSize = invSize !== 0 ? 32767 / invSize : 0;
40
40
 
41
41
  }
42
42
 
43
- earcutLinked( outerNode, triangles, dim, minX, minY, invSize );
43
+ earcutLinked( outerNode, triangles, dim, minX, minY, invSize, 0 );
44
44
 
45
45
  return triangles;
46
46
 
@@ -125,9 +125,9 @@ function earcutLinked( ear, triangles, dim, minX, minY, invSize, pass ) {
125
125
  if ( invSize ? isEarHashed( ear, minX, minY, invSize ) : isEar( ear ) ) {
126
126
 
127
127
  // cut off the triangle
128
- triangles.push( prev.i / dim );
129
- triangles.push( ear.i / dim );
130
- triangles.push( next.i / dim );
128
+ triangles.push( prev.i / dim | 0 );
129
+ triangles.push( ear.i / dim | 0 );
130
+ triangles.push( next.i / dim | 0 );
131
131
 
132
132
  removeNode( ear );
133
133
 
@@ -182,11 +182,19 @@ function isEar( ear ) {
182
182
  if ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear
183
183
 
184
184
  // now make sure we don't have other points inside the potential ear
185
- let p = ear.next.next;
185
+ const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;
186
186
 
187
- while ( p !== ear.prev ) {
187
+ // triangle bbox; min & max are calculated like this for speed
188
+ const x0 = ax < bx ? ( ax < cx ? ax : cx ) : ( bx < cx ? bx : cx ),
189
+ y0 = ay < by ? ( ay < cy ? ay : cy ) : ( by < cy ? by : cy ),
190
+ x1 = ax > bx ? ( ax > cx ? ax : cx ) : ( bx > cx ? bx : cx ),
191
+ y1 = ay > by ? ( ay > cy ? ay : cy ) : ( by > cy ? by : cy );
192
+
193
+ let p = c.next;
194
+ while ( p !== a ) {
188
195
 
189
- if ( pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) &&
196
+ if ( p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 &&
197
+ pointInTriangle( ax, ay, bx, by, cx, cy, p.x, p.y ) &&
190
198
  area( p.prev, p, p.next ) >= 0 ) return false;
191
199
  p = p.next;
192
200
 
@@ -204,15 +212,17 @@ function isEarHashed( ear, minX, minY, invSize ) {
204
212
 
205
213
  if ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear
206
214
 
215
+ const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;
216
+
207
217
  // triangle bbox; min & max are calculated like this for speed
208
- const minTX = a.x < b.x ? ( a.x < c.x ? a.x : c.x ) : ( b.x < c.x ? b.x : c.x ),
209
- minTY = a.y < b.y ? ( a.y < c.y ? a.y : c.y ) : ( b.y < c.y ? b.y : c.y ),
210
- maxTX = a.x > b.x ? ( a.x > c.x ? a.x : c.x ) : ( b.x > c.x ? b.x : c.x ),
211
- maxTY = a.y > b.y ? ( a.y > c.y ? a.y : c.y ) : ( b.y > c.y ? b.y : c.y );
218
+ const x0 = ax < bx ? ( ax < cx ? ax : cx ) : ( bx < cx ? bx : cx ),
219
+ y0 = ay < by ? ( ay < cy ? ay : cy ) : ( by < cy ? by : cy ),
220
+ x1 = ax > bx ? ( ax > cx ? ax : cx ) : ( bx > cx ? bx : cx ),
221
+ y1 = ay > by ? ( ay > cy ? ay : cy ) : ( by > cy ? by : cy );
212
222
 
213
223
  // z-order range for the current triangle bbox;
214
- const minZ = zOrder( minTX, minTY, minX, minY, invSize ),
215
- maxZ = zOrder( maxTX, maxTY, minX, minY, invSize );
224
+ const minZ = zOrder( x0, y0, minX, minY, invSize ),
225
+ maxZ = zOrder( x1, y1, minX, minY, invSize );
216
226
 
217
227
  let p = ear.prevZ,
218
228
  n = ear.nextZ;
@@ -220,14 +230,12 @@ function isEarHashed( ear, minX, minY, invSize ) {
220
230
  // look for points inside the triangle in both directions
221
231
  while ( p && p.z >= minZ && n && n.z <= maxZ ) {
222
232
 
223
- if ( p !== ear.prev && p !== ear.next &&
224
- pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) &&
225
- area( p.prev, p, p.next ) >= 0 ) return false;
233
+ if ( p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c &&
234
+ pointInTriangle( ax, ay, bx, by, cx, cy, p.x, p.y ) && area( p.prev, p, p.next ) >= 0 ) return false;
226
235
  p = p.prevZ;
227
236
 
228
- if ( n !== ear.prev && n !== ear.next &&
229
- pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y ) &&
230
- area( n.prev, n, n.next ) >= 0 ) return false;
237
+ if ( n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c &&
238
+ pointInTriangle( ax, ay, bx, by, cx, cy, n.x, n.y ) && area( n.prev, n, n.next ) >= 0 ) return false;
231
239
  n = n.nextZ;
232
240
 
233
241
  }
@@ -235,9 +243,8 @@ function isEarHashed( ear, minX, minY, invSize ) {
235
243
  // look for remaining points in decreasing z-order
236
244
  while ( p && p.z >= minZ ) {
237
245
 
238
- if ( p !== ear.prev && p !== ear.next &&
239
- pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) &&
240
- area( p.prev, p, p.next ) >= 0 ) return false;
246
+ if ( p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c &&
247
+ pointInTriangle( ax, ay, bx, by, cx, cy, p.x, p.y ) && area( p.prev, p, p.next ) >= 0 ) return false;
241
248
  p = p.prevZ;
242
249
 
243
250
  }
@@ -245,9 +252,8 @@ function isEarHashed( ear, minX, minY, invSize ) {
245
252
  // look for remaining points in increasing z-order
246
253
  while ( n && n.z <= maxZ ) {
247
254
 
248
- if ( n !== ear.prev && n !== ear.next &&
249
- pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y ) &&
250
- area( n.prev, n, n.next ) >= 0 ) return false;
255
+ if ( n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c &&
256
+ pointInTriangle( ax, ay, bx, by, cx, cy, n.x, n.y ) && area( n.prev, n, n.next ) >= 0 ) return false;
251
257
  n = n.nextZ;
252
258
 
253
259
  }
@@ -267,9 +273,9 @@ function cureLocalIntersections( start, triangles, dim ) {
267
273
 
268
274
  if ( ! equals( a, b ) && intersects( a, p, p.next, b ) && locallyInside( a, b ) && locallyInside( b, a ) ) {
269
275
 
270
- triangles.push( a.i / dim );
271
- triangles.push( p.i / dim );
272
- triangles.push( b.i / dim );
276
+ triangles.push( a.i / dim | 0 );
277
+ triangles.push( p.i / dim | 0 );
278
+ triangles.push( b.i / dim | 0 );
273
279
 
274
280
  // remove two nodes involved
275
281
  removeNode( p );
@@ -307,8 +313,8 @@ function splitEarcut( start, triangles, dim, minX, minY, invSize ) {
307
313
  c = filterPoints( c, c.next );
308
314
 
309
315
  // run earcut on each half
310
- earcutLinked( a, triangles, dim, minX, minY, invSize );
311
- earcutLinked( c, triangles, dim, minX, minY, invSize );
316
+ earcutLinked( a, triangles, dim, minX, minY, invSize, 0 );
317
+ earcutLinked( c, triangles, dim, minX, minY, invSize, 0 );
312
318
  return;
313
319
 
314
320
  }
@@ -344,8 +350,7 @@ function eliminateHoles( data, holeIndices, outerNode, dim ) {
344
350
  // process holes from left to right
345
351
  for ( i = 0; i < queue.length; i ++ ) {
346
352
 
347
- eliminateHole( queue[ i ], outerNode );
348
- outerNode = filterPoints( outerNode, outerNode.next );
353
+ outerNode = eliminateHole( queue[ i ], outerNode );
349
354
 
350
355
  }
351
356
 
@@ -362,26 +367,29 @@ function compareX( a, b ) {
362
367
  // find a bridge between vertices that connects hole with an outer ring and link it
363
368
  function eliminateHole( hole, outerNode ) {
364
369
 
365
- outerNode = findHoleBridge( hole, outerNode );
366
- if ( outerNode ) {
367
-
368
- const b = splitPolygon( outerNode, hole );
370
+ const bridge = findHoleBridge( hole, outerNode );
371
+ if ( ! bridge ) {
369
372
 
370
- // filter collinear points around the cuts
371
- filterPoints( outerNode, outerNode.next );
372
- filterPoints( b, b.next );
373
+ return outerNode;
373
374
 
374
375
  }
375
376
 
377
+ const bridgeReverse = splitPolygon( bridge, hole );
378
+
379
+ // filter collinear points around the cuts
380
+ filterPoints( bridgeReverse, bridgeReverse.next );
381
+ return filterPoints( bridge, bridge.next );
382
+
376
383
  }
377
384
 
378
385
  // David Eberly's algorithm for finding a bridge between hole and outer polygon
379
386
  function findHoleBridge( hole, outerNode ) {
380
387
 
381
- let p = outerNode;
382
- const hx = hole.x;
383
- const hy = hole.y;
384
- let qx = - Infinity, m;
388
+ let p = outerNode,
389
+ qx = - Infinity,
390
+ m;
391
+
392
+ const hx = hole.x, hy = hole.y;
385
393
 
386
394
  // find a segment intersected by a ray from the hole's leftmost point to the left;
387
395
  // segment's endpoint with lesser x will be potential connection point
@@ -393,14 +401,8 @@ function findHoleBridge( hole, outerNode ) {
393
401
  if ( x <= hx && x > qx ) {
394
402
 
395
403
  qx = x;
396
- if ( x === hx ) {
397
-
398
- if ( hy === p.y ) return p;
399
- if ( hy === p.next.y ) return p.next;
400
-
401
- }
402
-
403
404
  m = p.x < p.next.x ? p : p.next;
405
+ if ( x === hx ) return m; // hole touches outer segment; pick leftmost endpoint
404
406
 
405
407
  }
406
408
 
@@ -412,8 +414,6 @@ function findHoleBridge( hole, outerNode ) {
412
414
 
413
415
  if ( ! m ) return null;
414
416
 
415
- if ( hx === qx ) return m; // hole touches outer segment; pick leftmost endpoint
416
-
417
417
  // look for points inside the triangle of hole point, segment intersection and endpoint;
418
418
  // if there are no points found, we have a valid connection;
419
419
  // otherwise choose the point of the minimum angle with the ray as connection point
@@ -462,7 +462,7 @@ function indexCurve( start, minX, minY, invSize ) {
462
462
  let p = start;
463
463
  do {
464
464
 
465
- if ( p.z === null ) p.z = zOrder( p.x, p.y, minX, minY, invSize );
465
+ if ( p.z === 0 ) p.z = zOrder( p.x, p.y, minX, minY, invSize );
466
466
  p.prevZ = p.prev;
467
467
  p.nextZ = p.next;
468
468
  p = p.next;
@@ -546,8 +546,8 @@ function sortLinked( list ) {
546
546
  function zOrder( x, y, minX, minY, invSize ) {
547
547
 
548
548
  // coords are transformed into non-negative 15-bit integer range
549
- x = 32767 * ( x - minX ) * invSize;
550
- y = 32767 * ( y - minY ) * invSize;
549
+ x = ( x - minX ) * invSize | 0;
550
+ y = ( y - minY ) * invSize | 0;
551
551
 
552
552
  x = ( x | ( x << 8 ) ) & 0x00FF00FF;
553
553
  x = ( x | ( x << 4 ) ) & 0x0F0F0F0F;
@@ -582,19 +582,19 @@ function getLeftmost( start ) {
582
582
  // check if a point lies within a convex triangle
583
583
  function pointInTriangle( ax, ay, bx, by, cx, cy, px, py ) {
584
584
 
585
- return ( cx - px ) * ( ay - py ) - ( ax - px ) * ( cy - py ) >= 0 &&
586
- ( ax - px ) * ( by - py ) - ( bx - px ) * ( ay - py ) >= 0 &&
587
- ( bx - px ) * ( cy - py ) - ( cx - px ) * ( by - py ) >= 0;
585
+ return ( cx - px ) * ( ay - py ) >= ( ax - px ) * ( cy - py ) &&
586
+ ( ax - px ) * ( by - py ) >= ( bx - px ) * ( ay - py ) &&
587
+ ( bx - px ) * ( cy - py ) >= ( cx - px ) * ( by - py );
588
588
 
589
589
  }
590
590
 
591
591
  // check if a diagonal between two polygon nodes is valid (lies in polygon interior)
592
592
  function isValidDiagonal( a, b ) {
593
593
 
594
- return a.next.i !== b.i && a.prev.i !== b.i && ! intersectsPolygon( a, b ) && // doesn't intersect other edges
595
- ( locallyInside( a, b ) && locallyInside( b, a ) && middleInside( a, b ) && // locally visible
596
- ( area( a.prev, a, b.prev ) || area( a, b.prev, b ) ) || // does not create opposite-facing sectors
597
- equals( a, b ) && area( a.prev, a, a.next ) > 0 && area( b.prev, b, b.next ) > 0 ); // special zero-length case
594
+ return a.next.i !== b.i && a.prev.i !== b.i && ! intersectsPolygon( a, b ) && // dones't intersect other edges
595
+ ( locallyInside( a, b ) && locallyInside( b, a ) && middleInside( a, b ) && // locally visible
596
+ ( area( a.prev, a, b.prev ) || area( a, b.prev, b ) ) || // does not create opposite-facing sectors
597
+ equals( a, b ) && area( a.prev, a, a.next ) > 0 && area( b.prev, b, b.next ) > 0 ); // special zero-length case
598
598
 
599
599
  }
600
600
 
@@ -651,7 +651,7 @@ function intersectsPolygon( a, b ) {
651
651
  do {
652
652
 
653
653
  if ( p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&
654
- intersects( p, p.next, a, b ) ) return true;
654
+ intersects( p, p.next, a, b ) ) return true;
655
655
  p = p.next;
656
656
 
657
657
  } while ( p !== a );
@@ -679,7 +679,7 @@ function middleInside( a, b ) {
679
679
  do {
680
680
 
681
681
  if ( ( ( p.y > py ) !== ( p.next.y > py ) ) && p.next.y !== p.y &&
682
- ( px < ( p.next.x - p.x ) * ( py - p.y ) / ( p.next.y - p.y ) + p.x ) )
682
+ ( px < ( p.next.x - p.x ) * ( py - p.y ) / ( p.next.y - p.y ) + p.x ) )
683
683
  inside = ! inside;
684
684
  p = p.next;
685
685
 
@@ -761,7 +761,7 @@ function Node( i, x, y ) {
761
761
  this.next = null;
762
762
 
763
763
  // z-order curve value
764
- this.z = null;
764
+ this.z = 0;
765
765
 
766
766
  // previous and next nodes in z-order
767
767
  this.prevZ = null;
@@ -11,6 +11,7 @@ class Path extends CurvePath {
11
11
  constructor( points ) {
12
12
 
13
13
  super();
14
+
14
15
  this.type = 'Path';
15
16
 
16
17
  this.currentPoint = new Vector2();
@@ -58,7 +58,7 @@ class ShapePath {
58
58
 
59
59
  }
60
60
 
61
- toShapes( isCCW, noHoles ) {
61
+ toShapes( isCCW ) {
62
62
 
63
63
  function toShapesNoHoles( inSubpaths ) {
64
64
 
@@ -144,9 +144,6 @@ class ShapePath {
144
144
  const subPaths = this.subPaths;
145
145
  if ( subPaths.length === 0 ) return [];
146
146
 
147
- if ( noHoles === true ) return toShapesNoHoles( subPaths );
148
-
149
-
150
147
  let solid, tmpPath, tmpShape;
151
148
  const shapes = [];
152
149
 
@@ -78,8 +78,10 @@ function CubicPoly() {
78
78
 
79
79
  //
80
80
 
81
- const tmp = new Vector3();
82
- const px = new CubicPoly(), py = new CubicPoly(), pz = new CubicPoly();
81
+ const tmp = /*@__PURE__*/ new Vector3();
82
+ const px = /*@__PURE__*/ new CubicPoly();
83
+ const py = /*@__PURE__*/ new CubicPoly();
84
+ const pz = /*@__PURE__*/ new CubicPoly();
83
85
 
84
86
  class CatmullRomCurve3 extends Curve {
85
87
 
@@ -167,4 +167,4 @@ class BoxGeometry extends BufferGeometry {
167
167
 
168
168
  }
169
169
 
170
- export { BoxGeometry, BoxGeometry as BoxBufferGeometry };
170
+ export { BoxGeometry };
@@ -30,4 +30,4 @@ class CapsuleGeometry extends LatheGeometry {
30
30
 
31
31
  }
32
32
 
33
- export { CapsuleGeometry, CapsuleGeometry as CapsuleBufferGeometry };
33
+ export { CapsuleGeometry };
@@ -88,4 +88,4 @@ class CircleGeometry extends BufferGeometry {
88
88
  }
89
89
 
90
90
 
91
- export { CircleGeometry, CircleGeometry as CircleBufferGeometry };
91
+ export { CircleGeometry };
@@ -28,4 +28,4 @@ class ConeGeometry extends CylinderGeometry {
28
28
 
29
29
  }
30
30
 
31
- export { ConeGeometry, ConeGeometry as ConeBufferGeometry };
31
+ export { ConeGeometry };
@@ -8,6 +8,7 @@ class CylinderGeometry extends BufferGeometry {
8
8
  constructor( radiusTop = 1, radiusBottom = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2 ) {
9
9
 
10
10
  super();
11
+
11
12
  this.type = 'CylinderGeometry';
12
13
 
13
14
  this.parameters = {
@@ -272,4 +273,4 @@ class CylinderGeometry extends BufferGeometry {
272
273
  }
273
274
 
274
275
 
275
- export { CylinderGeometry, CylinderGeometry as CylinderBufferGeometry };
276
+ export { CylinderGeometry };
@@ -63,4 +63,4 @@ class DodecahedronGeometry extends PolyhedronGeometry {
63
63
  }
64
64
 
65
65
 
66
- export { DodecahedronGeometry, DodecahedronGeometry as DodecahedronBufferGeometry };
66
+ export { DodecahedronGeometry };
@@ -4,16 +4,17 @@ import * as MathUtils from '../math/MathUtils.js';
4
4
  import { Triangle } from '../math/Triangle.js';
5
5
  import { Vector3 } from '../math/Vector3.js';
6
6
 
7
- const _v0 = new Vector3();
8
- const _v1 = new Vector3();
9
- const _normal = new Vector3();
10
- const _triangle = new Triangle();
7
+ const _v0 = /*@__PURE__*/ new Vector3();
8
+ const _v1 = /*@__PURE__*/ new Vector3();
9
+ const _normal = /*@__PURE__*/ new Vector3();
10
+ const _triangle = /*@__PURE__*/ new Triangle();
11
11
 
12
12
  class EdgesGeometry extends BufferGeometry {
13
13
 
14
14
  constructor( geometry = null, thresholdAngle = 1 ) {
15
15
 
16
16
  super();
17
+
17
18
  this.type = 'EdgesGeometry';
18
19
 
19
20
  this.parameters = {
@@ -72,7 +72,7 @@ class ExtrudeGeometry extends BufferGeometry {
72
72
 
73
73
  const curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12;
74
74
  const steps = options.steps !== undefined ? options.steps : 1;
75
- let depth = options.depth !== undefined ? options.depth : 1;
75
+ const depth = options.depth !== undefined ? options.depth : 1;
76
76
 
77
77
  let bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true;
78
78
  let bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 0.2;
@@ -84,15 +84,6 @@ class ExtrudeGeometry extends BufferGeometry {
84
84
 
85
85
  const uvgen = options.UVGenerator !== undefined ? options.UVGenerator : WorldUVGenerator;
86
86
 
87
- // deprecated options
88
-
89
- if ( options.amount !== undefined ) {
90
-
91
- console.warn( 'THREE.ExtrudeBufferGeometry: amount has been renamed to depth.' );
92
- depth = options.amount;
93
-
94
- }
95
-
96
87
  //
97
88
 
98
89
  let extrudePts, extrudeByPath = false;
@@ -810,4 +801,4 @@ function toJSON( shapes, options, data ) {
810
801
  }
811
802
 
812
803
 
813
- export { ExtrudeGeometry, ExtrudeGeometry as ExtrudeBufferGeometry };
804
+ export { ExtrudeGeometry };
@@ -39,4 +39,4 @@ class IcosahedronGeometry extends PolyhedronGeometry {
39
39
  }
40
40
 
41
41
 
42
- export { IcosahedronGeometry, IcosahedronGeometry as IcosahedronBufferGeometry };
42
+ export { IcosahedronGeometry };
@@ -6,7 +6,7 @@ import * as MathUtils from '../math/MathUtils.js';
6
6
 
7
7
  class LatheGeometry extends BufferGeometry {
8
8
 
9
- constructor( points = [ new Vector2( 0, 0.5 ), new Vector2( 0.5, 0 ), new Vector2( 0, - 0.5 ) ], segments = 12, phiStart = 0, phiLength = Math.PI * 2 ) {
9
+ constructor( points = [ new Vector2( 0, - 0.5 ), new Vector2( 0.5, 0 ), new Vector2( 0, 0.5 ) ], segments = 12, phiStart = 0, phiLength = Math.PI * 2 ) {
10
10
 
11
11
  super();
12
12
 
@@ -176,4 +176,4 @@ class LatheGeometry extends BufferGeometry {
176
176
  }
177
177
 
178
178
 
179
- export { LatheGeometry, LatheGeometry as LatheBufferGeometry };
179
+ export { LatheGeometry };
@@ -34,4 +34,4 @@ class OctahedronGeometry extends PolyhedronGeometry {
34
34
 
35
35
  }
36
36
 
37
- export { OctahedronGeometry, OctahedronGeometry as OctahedronBufferGeometry };
37
+ export { OctahedronGeometry };
@@ -6,6 +6,7 @@ class PlaneGeometry extends BufferGeometry {
6
6
  constructor( width = 1, height = 1, widthSegments = 1, heightSegments = 1 ) {
7
7
 
8
8
  super();
9
+
9
10
  this.type = 'PlaneGeometry';
10
11
 
11
12
  this.parameters = {
@@ -84,4 +85,4 @@ class PlaneGeometry extends BufferGeometry {
84
85
 
85
86
  }
86
87
 
87
- export { PlaneGeometry, PlaneGeometry as PlaneBufferGeometry };
88
+ export { PlaneGeometry };
@@ -59,7 +59,7 @@ class PolyhedronGeometry extends BufferGeometry {
59
59
  const b = new Vector3();
60
60
  const c = new Vector3();
61
61
 
62
- // iterate over all faces and apply a subdivison with the given detail value
62
+ // iterate over all faces and apply a subdivision with the given detail value
63
63
 
64
64
  for ( let i = 0; i < indices.length; i += 3 ) {
65
65
 
@@ -306,4 +306,4 @@ class PolyhedronGeometry extends BufferGeometry {
306
306
 
307
307
  }
308
308
 
309
- export { PolyhedronGeometry, PolyhedronGeometry as PolyhedronBufferGeometry };
309
+ export { PolyhedronGeometry };
@@ -115,4 +115,4 @@ class RingGeometry extends BufferGeometry {
115
115
  }
116
116
 
117
117
 
118
- export { RingGeometry, RingGeometry as RingBufferGeometry };
118
+ export { RingGeometry };
@@ -9,6 +9,7 @@ class ShapeGeometry extends BufferGeometry {
9
9
  constructor( shapes = new Shape( [ new Vector2( 0, 0.5 ), new Vector2( - 0.5, - 0.5 ), new Vector2( 0.5, - 0.5 ) ] ), curveSegments = 12 ) {
10
10
 
11
11
  super();
12
+
12
13
  this.type = 'ShapeGeometry';
13
14
 
14
15
  this.parameters = {
@@ -110,7 +111,7 @@ class ShapeGeometry extends BufferGeometry {
110
111
 
111
112
  }
112
113
 
113
- // incides
114
+ // indices
114
115
 
115
116
  for ( let i = 0, l = faces.length; i < l; i ++ ) {
116
117
 
@@ -181,4 +182,4 @@ function toJSON( shapes, data ) {
181
182
 
182
183
  }
183
184
 
184
- export { ShapeGeometry, ShapeGeometry as ShapeBufferGeometry };
185
+ export { ShapeGeometry };
@@ -7,6 +7,7 @@ class SphereGeometry extends BufferGeometry {
7
7
  constructor( radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI ) {
8
8
 
9
9
  super();
10
+
10
11
  this.type = 'SphereGeometry';
11
12
 
12
13
  this.parameters = {
@@ -123,4 +124,4 @@ class SphereGeometry extends BufferGeometry {
123
124
 
124
125
  }
125
126
 
126
- export { SphereGeometry, SphereGeometry as SphereBufferGeometry };
127
+ export { SphereGeometry };
@@ -31,4 +31,4 @@ class TetrahedronGeometry extends PolyhedronGeometry {
31
31
 
32
32
  }
33
33
 
34
- export { TetrahedronGeometry, TetrahedronGeometry as TetrahedronBufferGeometry };
34
+ export { TetrahedronGeometry };
@@ -7,6 +7,7 @@ class TorusGeometry extends BufferGeometry {
7
7
  constructor( radius = 1, tube = 0.4, radialSegments = 8, tubularSegments = 6, arc = Math.PI * 2 ) {
8
8
 
9
9
  super();
10
+
10
11
  this.type = 'TorusGeometry';
11
12
 
12
13
  this.parameters = {
@@ -106,4 +107,4 @@ class TorusGeometry extends BufferGeometry {
106
107
 
107
108
  }
108
109
 
109
- export { TorusGeometry, TorusGeometry as TorusBufferGeometry };
110
+ export { TorusGeometry };
@@ -7,6 +7,7 @@ class TorusKnotGeometry extends BufferGeometry {
7
7
  constructor( radius = 1, tube = 0.4, tubularSegments = 64, radialSegments = 8, p = 2, q = 3 ) {
8
8
 
9
9
  super();
10
+
10
11
  this.type = 'TorusKnotGeometry';
11
12
 
12
13
  this.parameters = {
@@ -153,4 +154,4 @@ class TorusKnotGeometry extends BufferGeometry {
153
154
 
154
155
  }
155
156
 
156
- export { TorusKnotGeometry, TorusKnotGeometry as TorusKnotBufferGeometry };
157
+ export { TorusKnotGeometry };
@@ -9,6 +9,7 @@ class TubeGeometry extends BufferGeometry {
9
9
  constructor( path = new Curves[ 'QuadraticBezierCurve3' ]( new Vector3( - 1, - 1, 0 ), new Vector3( - 1, 1, 0 ), new Vector3( 1, 1, 0 ) ), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false ) {
10
10
 
11
11
  super();
12
+
12
13
  this.type = 'TubeGeometry';
13
14
 
14
15
  this.parameters = {
@@ -189,4 +190,4 @@ class TubeGeometry extends BufferGeometry {
189
190
  }
190
191
 
191
192
 
192
- export { TubeGeometry, TubeGeometry as TubeBufferGeometry };
193
+ export { TubeGeometry };
@@ -7,6 +7,7 @@ class WireframeGeometry extends BufferGeometry {
7
7
  constructor( geometry = null ) {
8
8
 
9
9
  super();
10
+
10
11
  this.type = 'WireframeGeometry';
11
12
 
12
13
  this.parameters = {
@@ -99,6 +99,15 @@ class ArrowHelper extends Object3D {
99
99
 
100
100
  }
101
101
 
102
+ dispose() {
103
+
104
+ this.line.geometry.dispose();
105
+ this.line.material.dispose();
106
+ this.cone.geometry.dispose();
107
+ this.cone.material.dispose();
108
+
109
+ }
110
+
102
111
  }
103
112
 
104
113
 
@@ -44,6 +44,13 @@ class Box3Helper extends LineSegments {
44
44
 
45
45
  }
46
46
 
47
+ dispose() {
48
+
49
+ this.geometry.dispose();
50
+ this.material.dispose();
51
+
52
+ }
53
+
47
54
  }
48
55
 
49
56
  export { Box3Helper };
@@ -79,7 +79,6 @@ class BoxHelper extends LineSegments {
79
79
 
80
80
  this.geometry.computeBoundingSphere();
81
81
 
82
-
83
82
  }
84
83
 
85
84
  setFromObject( object ) {
@@ -101,6 +100,13 @@ class BoxHelper extends LineSegments {
101
100
 
102
101
  }
103
102
 
103
+ dispose() {
104
+
105
+ this.geometry.dispose();
106
+ this.material.dispose();
107
+
108
+ }
109
+
104
110
  }
105
111
 
106
112