three-stdlib 2.22.9 → 2.23.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 (630) hide show
  1. package/dist/animation/AnimationClipCreator.js +49 -50
  2. package/dist/animation/AnimationClipCreator.mjs +49 -50
  3. package/dist/animation/CCDIKSolver.d.ts +9 -4
  4. package/dist/animation/CCDIKSolver.js +193 -148
  5. package/dist/animation/CCDIKSolver.mjs +194 -149
  6. package/dist/animation/MMDAnimationHelper.js +613 -515
  7. package/dist/animation/MMDAnimationHelper.mjs +613 -515
  8. package/dist/animation/MMDPhysics.d.ts +6 -1
  9. package/dist/animation/MMDPhysics.js +728 -718
  10. package/dist/animation/MMDPhysics.mjs +729 -719
  11. package/dist/cameras/CinematicCamera.d.ts +2 -2
  12. package/dist/controls/ArcballControls.d.ts +1 -1
  13. package/dist/controls/ArcballControls.js +38 -44
  14. package/dist/controls/ArcballControls.mjs +39 -45
  15. package/dist/controls/DeviceOrientationControls.js +2 -1
  16. package/dist/controls/DeviceOrientationControls.mjs +2 -1
  17. package/dist/controls/FirstPersonControls.d.ts +1 -1
  18. package/dist/controls/FirstPersonControls.js +1 -1
  19. package/dist/controls/FirstPersonControls.mjs +1 -1
  20. package/dist/controls/PointerLockControls.js +2 -2
  21. package/dist/controls/PointerLockControls.mjs +2 -2
  22. package/dist/controls/TrackballControls.d.ts +2 -2
  23. package/dist/controls/TransformControls.d.ts +1 -1
  24. package/dist/controls/experimental/CameraControls.d.ts +1 -1
  25. package/dist/csm/CSM.js +4 -4
  26. package/dist/csm/CSM.mjs +4 -4
  27. package/dist/csm/CSMFrustum.js +1 -1
  28. package/dist/csm/CSMFrustum.mjs +1 -1
  29. package/dist/csm/CSMShader.js +14 -10
  30. package/dist/csm/CSMShader.mjs +14 -10
  31. package/dist/curves/CurveExtras.js +52 -62
  32. package/dist/curves/CurveExtras.mjs +53 -63
  33. package/dist/curves/NURBSUtils.d.ts +18 -20
  34. package/dist/curves/NURBSUtils.js +17 -17
  35. package/dist/curves/NURBSUtils.mjs +17 -17
  36. package/dist/deprecated/Geometry.js +26 -26
  37. package/dist/deprecated/Geometry.mjs +27 -27
  38. package/dist/effects/AnaglyphEffect.js +95 -114
  39. package/dist/effects/AnaglyphEffect.mjs +95 -114
  40. package/dist/effects/AsciiEffect.js +144 -162
  41. package/dist/effects/AsciiEffect.mjs +144 -162
  42. package/dist/effects/OutlineEffect.js +253 -276
  43. package/dist/effects/OutlineEffect.mjs +253 -276
  44. package/dist/effects/ParallaxBarrierEffect.js +61 -60
  45. package/dist/effects/ParallaxBarrierEffect.mjs +61 -60
  46. package/dist/effects/PeppersGhostEffect.js +84 -81
  47. package/dist/effects/PeppersGhostEffect.mjs +84 -81
  48. package/dist/effects/StereoEffect.js +31 -28
  49. package/dist/effects/StereoEffect.mjs +31 -28
  50. package/dist/environments/RoomEnvironment.d.ts +6 -5
  51. package/dist/exporters/GLTFExporter.d.ts +109 -441
  52. package/dist/exporters/GLTFExporter.js +915 -581
  53. package/dist/exporters/GLTFExporter.mjs +915 -581
  54. package/dist/geometries/ConvexGeometry.js +0 -3
  55. package/dist/geometries/ConvexGeometry.mjs +0 -3
  56. package/dist/geometries/LightningStrike.d.ts +3 -3
  57. package/dist/geometries/LightningStrike.js +80 -75
  58. package/dist/geometries/LightningStrike.mjs +80 -75
  59. package/dist/geometries/ParametricGeometries.js +75 -74
  60. package/dist/geometries/ParametricGeometries.mjs +75 -74
  61. package/dist/geometries/RoundedBoxGeometry.js +1 -1
  62. package/dist/geometries/RoundedBoxGeometry.mjs +1 -1
  63. package/dist/geometries/TextGeometry.d.ts +1 -1
  64. package/dist/helpers/RectAreaLightHelper.d.ts +4 -3
  65. package/dist/helpers/RectAreaLightHelper.js +2 -2
  66. package/dist/helpers/RectAreaLightHelper.mjs +2 -2
  67. package/dist/helpers/VertexNormalsHelper.d.ts +3 -0
  68. package/dist/helpers/VertexNormalsHelper.js +15 -22
  69. package/dist/helpers/VertexNormalsHelper.mjs +16 -23
  70. package/dist/helpers/VertexTangentsHelper.d.ts +3 -0
  71. package/dist/helpers/VertexTangentsHelper.js +12 -14
  72. package/dist/helpers/VertexTangentsHelper.mjs +12 -14
  73. package/dist/index.d.ts +1 -66
  74. package/dist/index.js +5 -370
  75. package/dist/index.mjs +9 -374
  76. package/dist/interactive/InteractiveGroup.js +1 -1
  77. package/dist/interactive/InteractiveGroup.mjs +1 -1
  78. package/dist/interactive/SelectionBox.js +122 -125
  79. package/dist/interactive/SelectionBox.mjs +122 -125
  80. package/dist/interactive/SelectionHelper.js +45 -48
  81. package/dist/interactive/SelectionHelper.mjs +45 -48
  82. package/dist/libs/MeshoptDecoder.d.ts +1 -1
  83. package/dist/libs/MotionControllers.d.ts +15 -14
  84. package/dist/libs/MotionControllers.js +10 -10
  85. package/dist/libs/MotionControllers.mjs +10 -10
  86. package/dist/lights/LightProbeGenerator.js +43 -43
  87. package/dist/lights/LightProbeGenerator.mjs +43 -43
  88. package/dist/lights/RectAreaLightUniformsLib.js +9 -5
  89. package/dist/lights/RectAreaLightUniformsLib.mjs +9 -5
  90. package/dist/lines/LineMaterial.js +271 -271
  91. package/dist/lines/LineMaterial.mjs +272 -272
  92. package/dist/lines/LineSegments2.js +12 -12
  93. package/dist/lines/LineSegments2.mjs +12 -12
  94. package/dist/lines/LineSegmentsGeometry.js +2 -2
  95. package/dist/lines/LineSegmentsGeometry.mjs +2 -2
  96. package/dist/lines/Wireframe.js +2 -2
  97. package/dist/lines/Wireframe.mjs +2 -2
  98. package/dist/loaders/3DMLoader.d.ts +2 -1
  99. package/dist/loaders/3MFLoader.d.ts +2 -1
  100. package/dist/loaders/AMFLoader.d.ts +2 -1
  101. package/dist/loaders/AssimpLoader.d.ts +20 -0
  102. package/dist/loaders/AssimpLoader.js +520 -482
  103. package/dist/loaders/AssimpLoader.mjs +520 -482
  104. package/dist/loaders/BVHLoader.d.ts +2 -1
  105. package/dist/loaders/BasisTextureLoader.d.ts +2 -1
  106. package/dist/loaders/BasisTextureLoader.js +23 -14
  107. package/dist/loaders/BasisTextureLoader.mjs +24 -15
  108. package/dist/loaders/ColladaLoader.d.ts +2 -1
  109. package/dist/loaders/DRACOLoader.d.ts +2 -1
  110. package/dist/loaders/FBXLoader.d.ts +2 -1
  111. package/dist/loaders/FBXLoader.js +2 -2
  112. package/dist/loaders/FBXLoader.mjs +2 -2
  113. package/dist/loaders/FontLoader.d.ts +4 -4
  114. package/dist/loaders/FontLoader.js +2 -1
  115. package/dist/loaders/FontLoader.mjs +2 -1
  116. package/dist/loaders/GCodeLoader.d.ts +2 -1
  117. package/dist/loaders/GLTFLoader.d.ts +11 -9
  118. package/dist/loaders/GLTFLoader.js +2 -2
  119. package/dist/loaders/GLTFLoader.mjs +2 -2
  120. package/dist/loaders/HDRCubeTextureLoader.d.ts +2 -1
  121. package/dist/loaders/KMZLoader.d.ts +2 -1
  122. package/dist/loaders/KTX2Loader.js +34 -15
  123. package/dist/loaders/KTX2Loader.mjs +35 -16
  124. package/dist/loaders/LDrawLoader.d.ts +2 -1
  125. package/dist/loaders/LDrawLoader.js +3 -3
  126. package/dist/loaders/LDrawLoader.mjs +3 -3
  127. package/dist/loaders/LUT3dlLoader.d.ts +3 -2
  128. package/dist/loaders/LUTCubeLoader.d.ts +3 -2
  129. package/dist/loaders/LWOLoader.d.ts +2 -1
  130. package/dist/loaders/LottieLoader.d.ts +2 -1
  131. package/dist/loaders/MD2Loader.d.ts +2 -1
  132. package/dist/loaders/MDDLoader.d.ts +2 -1
  133. package/dist/loaders/MMDLoader.d.ts +2 -1
  134. package/dist/loaders/MTLLoader.d.ts +2 -1
  135. package/dist/loaders/OBJLoader.d.ts +2 -1
  136. package/dist/loaders/OBJLoader.js +5 -5
  137. package/dist/loaders/OBJLoader.mjs +5 -5
  138. package/dist/loaders/PCDLoader.d.ts +2 -1
  139. package/dist/loaders/PDBLoader.d.ts +2 -1
  140. package/dist/loaders/PLYLoader.d.ts +2 -1
  141. package/dist/loaders/PRWMLoader.d.ts +2 -1
  142. package/dist/loaders/RGBMLoader.js +924 -918
  143. package/dist/loaders/RGBMLoader.mjs +924 -918
  144. package/dist/loaders/STLLoader.d.ts +2 -1
  145. package/dist/loaders/SVGLoader.d.ts +2 -1
  146. package/dist/loaders/TDSLoader.d.ts +2 -1
  147. package/dist/loaders/TTFLoader.d.ts +2 -1
  148. package/dist/loaders/TiltLoader.d.ts +2 -1
  149. package/dist/loaders/TiltLoader.js +3 -1
  150. package/dist/loaders/TiltLoader.mjs +3 -1
  151. package/dist/loaders/VOXLoader.d.ts +4 -2
  152. package/dist/loaders/VRMLLoader.d.ts +2 -1
  153. package/dist/loaders/VRMLoader.d.ts +20 -0
  154. package/dist/loaders/VTKLoader.d.ts +2 -1
  155. package/dist/loaders/XLoader.d.ts +20 -0
  156. package/dist/loaders/XLoader.js +1 -1
  157. package/dist/loaders/XLoader.mjs +1 -1
  158. package/dist/loaders/XYZLoader.d.ts +2 -1
  159. package/dist/loaders/lwo/IFFParser.js +104 -110
  160. package/dist/loaders/lwo/IFFParser.mjs +104 -110
  161. package/dist/loaders/lwo/LWO2Parser.js +18 -33
  162. package/dist/loaders/lwo/LWO2Parser.mjs +18 -33
  163. package/dist/loaders/lwo/LWO3Parser.js +17 -33
  164. package/dist/loaders/lwo/LWO3Parser.mjs +17 -33
  165. package/dist/math/Capsule.d.ts +1 -1
  166. package/dist/math/Capsule.js +90 -92
  167. package/dist/math/Capsule.mjs +90 -92
  168. package/dist/math/ColorConverter.js +26 -36
  169. package/dist/math/ColorConverter.mjs +26 -36
  170. package/dist/math/ConvexHull.js +16 -17
  171. package/dist/math/ConvexHull.mjs +17 -18
  172. package/dist/math/ImprovedNoise.js +41 -39
  173. package/dist/math/ImprovedNoise.mjs +41 -39
  174. package/dist/math/Lut.js +65 -63
  175. package/dist/math/Lut.mjs +66 -64
  176. package/dist/math/MeshSurfaceSampler.d.ts +3 -0
  177. package/dist/math/MeshSurfaceSampler.js +85 -89
  178. package/dist/math/MeshSurfaceSampler.mjs +85 -89
  179. package/dist/math/OBB.js +68 -88
  180. package/dist/math/OBB.mjs +68 -88
  181. package/dist/math/Octree.js +240 -245
  182. package/dist/math/Octree.mjs +240 -245
  183. package/dist/misc/ConvexObjectBreaker.js +114 -120
  184. package/dist/misc/ConvexObjectBreaker.mjs +115 -121
  185. package/dist/misc/GPUComputationRenderer.d.ts +1 -0
  186. package/dist/misc/GPUComputationRenderer.js +191 -157
  187. package/dist/misc/GPUComputationRenderer.mjs +192 -158
  188. package/dist/misc/Gyroscope.js +16 -18
  189. package/dist/misc/Gyroscope.mjs +17 -19
  190. package/dist/misc/MD2Character.js +88 -86
  191. package/dist/misc/MD2Character.mjs +89 -87
  192. package/dist/misc/MD2CharacterComplex.js +106 -105
  193. package/dist/misc/MD2CharacterComplex.mjs +107 -106
  194. package/dist/misc/MorphAnimMesh.d.ts +1 -1
  195. package/dist/misc/MorphAnimMesh.js +33 -33
  196. package/dist/misc/MorphAnimMesh.mjs +33 -33
  197. package/dist/misc/MorphBlendMesh.js +68 -68
  198. package/dist/misc/MorphBlendMesh.mjs +68 -68
  199. package/dist/misc/ProgressiveLightmap.d.ts +1 -2
  200. package/dist/misc/RollerCoaster.js +321 -314
  201. package/dist/misc/RollerCoaster.mjs +322 -315
  202. package/dist/misc/Volume.d.ts +1 -1
  203. package/dist/misc/Volume.js +169 -166
  204. package/dist/misc/Volume.mjs +170 -167
  205. package/dist/misc/VolumeSlice.js +50 -51
  206. package/dist/misc/VolumeSlice.mjs +50 -51
  207. package/dist/modifiers/CurveModifier.d.ts +2 -2
  208. package/dist/modifiers/CurveModifier.js +1 -1
  209. package/dist/modifiers/CurveModifier.mjs +1 -1
  210. package/dist/modifiers/SimplifyModifier.js +2 -1
  211. package/dist/modifiers/SimplifyModifier.mjs +2 -1
  212. package/dist/objects/Lensflare.js +32 -21
  213. package/dist/objects/Lensflare.mjs +33 -22
  214. package/dist/objects/LightningStorm.d.ts +3 -3
  215. package/dist/objects/LightningStorm.js +3 -3
  216. package/dist/objects/LightningStorm.mjs +3 -3
  217. package/dist/objects/MarchingCubes.d.ts +1 -0
  218. package/dist/objects/MarchingCubes.js +4362 -10
  219. package/dist/objects/MarchingCubes.mjs +4363 -11
  220. package/dist/objects/Reflector.d.ts +5 -2
  221. package/dist/objects/Reflector.js +39 -12
  222. package/dist/objects/Reflector.mjs +40 -13
  223. package/dist/objects/ReflectorForSSRPass.js +25 -21
  224. package/dist/objects/ReflectorForSSRPass.mjs +26 -22
  225. package/dist/objects/ReflectorRTT.d.ts +6 -0
  226. package/dist/objects/Refractor.d.ts +5 -2
  227. package/dist/objects/Refractor.js +39 -12
  228. package/dist/objects/Refractor.mjs +40 -13
  229. package/dist/objects/ShadowMesh.d.ts +6 -3
  230. package/dist/objects/ShadowMesh.js +7 -3
  231. package/dist/objects/ShadowMesh.mjs +8 -4
  232. package/dist/objects/Sky.js +181 -137
  233. package/dist/objects/Sky.mjs +182 -138
  234. package/dist/objects/Water.d.ts +3 -3
  235. package/dist/objects/Water.js +3 -2
  236. package/dist/objects/Water.mjs +3 -2
  237. package/dist/objects/Water2.d.ts +2 -2
  238. package/dist/objects/Water2.js +16 -18
  239. package/dist/objects/Water2.mjs +17 -19
  240. package/dist/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
  241. package/dist/postprocessing/AdaptiveToneMappingPass.js +105 -112
  242. package/dist/postprocessing/AdaptiveToneMappingPass.mjs +107 -114
  243. package/dist/postprocessing/BokehPass.d.ts +1 -1
  244. package/dist/postprocessing/ClearPass.d.ts +3 -3
  245. package/dist/postprocessing/CubeTexturePass.js +37 -33
  246. package/dist/postprocessing/CubeTexturePass.mjs +37 -33
  247. package/dist/postprocessing/HalftonePass.d.ts +1 -1
  248. package/dist/postprocessing/LUTPass.d.ts +3 -3
  249. package/dist/postprocessing/RenderPixelatedPass.d.ts +28 -0
  250. package/dist/postprocessing/SAOPass.d.ts +5 -6
  251. package/dist/postprocessing/SAOPass.js +151 -145
  252. package/dist/postprocessing/SAOPass.mjs +153 -147
  253. package/dist/postprocessing/SSAARenderPass.d.ts +5 -5
  254. package/dist/postprocessing/SSAARenderPass.js +78 -55
  255. package/dist/postprocessing/SSAARenderPass.mjs +80 -57
  256. package/dist/postprocessing/SSAOPass.d.ts +4 -5
  257. package/dist/postprocessing/SSAOPass.js +17 -10
  258. package/dist/postprocessing/SSAOPass.mjs +17 -10
  259. package/dist/postprocessing/SSRPass.d.ts +6 -7
  260. package/dist/postprocessing/SSRPass.js +235 -262
  261. package/dist/postprocessing/SSRPass.mjs +237 -264
  262. package/dist/postprocessing/TAARenderPass.d.ts +2 -2
  263. package/dist/postprocessing/TAARenderPass.js +106 -27
  264. package/dist/postprocessing/TAARenderPass.mjs +107 -28
  265. package/dist/postprocessing/TexturePass.d.ts +2 -2
  266. package/dist/postprocessing/TexturePass.js +24 -22
  267. package/dist/postprocessing/TexturePass.mjs +25 -23
  268. package/dist/postprocessing/UnrealBloomPass.js +175 -118
  269. package/dist/postprocessing/UnrealBloomPass.mjs +177 -120
  270. package/dist/renderers/CSS2DRenderer.d.ts +2 -1
  271. package/dist/renderers/CSS2DRenderer.js +5 -4
  272. package/dist/renderers/CSS2DRenderer.mjs +6 -5
  273. package/dist/renderers/CSS3DRenderer.d.ts +1 -1
  274. package/dist/renderers/CSS3DRenderer.js +147 -113
  275. package/dist/renderers/CSS3DRenderer.mjs +148 -114
  276. package/dist/renderers/Projector.js +377 -389
  277. package/dist/renderers/Projector.mjs +377 -389
  278. package/dist/renderers/SVGRenderer.js +280 -275
  279. package/dist/renderers/SVGRenderer.mjs +280 -275
  280. package/dist/shaders/ACESFilmicToneMappingShader.d.ts +1 -1
  281. package/dist/shaders/AfterimageShader.d.ts +1 -1
  282. package/dist/shaders/BasicShader.d.ts +1 -1
  283. package/dist/shaders/BleachBypassShader.d.ts +1 -1
  284. package/dist/shaders/BokehShader.d.ts +2 -2
  285. package/dist/shaders/BokehShader2.d.ts +2 -2
  286. package/dist/shaders/BokehShader2.js +1 -1
  287. package/dist/shaders/BokehShader2.mjs +1 -1
  288. package/dist/shaders/ColorCorrectionShader.js +3 -3
  289. package/dist/shaders/ColorCorrectionShader.mjs +3 -3
  290. package/dist/shaders/ColorifyShader.js +1 -1
  291. package/dist/shaders/ColorifyShader.mjs +1 -1
  292. package/dist/shaders/ConvolutionShader.d.ts +2 -2
  293. package/dist/shaders/ConvolutionShader.js +1 -1
  294. package/dist/shaders/ConvolutionShader.mjs +1 -1
  295. package/dist/shaders/CopyShader.d.ts +1 -1
  296. package/dist/shaders/DepthLimitedBlurShader.d.ts +2 -2
  297. package/dist/shaders/DepthLimitedBlurShader.js +2 -2
  298. package/dist/shaders/DepthLimitedBlurShader.mjs +2 -2
  299. package/dist/shaders/DotScreenShader.js +2 -2
  300. package/dist/shaders/DotScreenShader.mjs +2 -2
  301. package/dist/shaders/FXAAShader.js +1 -1
  302. package/dist/shaders/FXAAShader.mjs +1 -1
  303. package/dist/shaders/FreiChenShader.js +1 -1
  304. package/dist/shaders/FreiChenShader.mjs +1 -1
  305. package/dist/shaders/GammaCorrectionShader.d.ts +1 -1
  306. package/dist/shaders/GodRaysShader.js +4 -4
  307. package/dist/shaders/GodRaysShader.mjs +4 -4
  308. package/dist/shaders/HorizontalBlurShader.d.ts +1 -1
  309. package/dist/shaders/LuminosityHighPassShader.js +1 -1
  310. package/dist/shaders/LuminosityHighPassShader.mjs +1 -1
  311. package/dist/shaders/NormalMapShader.js +2 -2
  312. package/dist/shaders/NormalMapShader.mjs +2 -2
  313. package/dist/shaders/SAOShader.d.ts +2 -2
  314. package/dist/shaders/SAOShader.js +3 -3
  315. package/dist/shaders/SAOShader.mjs +3 -3
  316. package/dist/shaders/SMAAShader.js +3 -3
  317. package/dist/shaders/SMAAShader.mjs +3 -3
  318. package/dist/shaders/SSAOShader.js +4 -4
  319. package/dist/shaders/SSAOShader.mjs +4 -4
  320. package/dist/shaders/SSRShader.js +4 -4
  321. package/dist/shaders/SSRShader.mjs +4 -4
  322. package/dist/shaders/SobelOperatorShader.js +1 -1
  323. package/dist/shaders/SobelOperatorShader.mjs +1 -1
  324. package/dist/shaders/SubsurfaceScatteringShader.d.ts +2 -2
  325. package/dist/shaders/SubsurfaceScatteringShader.js +91 -52
  326. package/dist/shaders/SubsurfaceScatteringShader.mjs +91 -52
  327. package/dist/shaders/ToonShader.js +25 -25
  328. package/dist/shaders/ToonShader.mjs +25 -25
  329. package/dist/shaders/TriangleBlurShader.js +1 -1
  330. package/dist/shaders/TriangleBlurShader.mjs +1 -1
  331. package/dist/shaders/VerticalBlurShader.d.ts +1 -1
  332. package/dist/shaders/VolumeShader.js +2 -2
  333. package/dist/shaders/VolumeShader.mjs +2 -2
  334. package/dist/shaders/types.d.ts +2 -2
  335. package/dist/types/Loader.d.ts +4 -0
  336. package/dist/types/Loader.js +26 -0
  337. package/dist/types/Loader.mjs +9 -0
  338. package/dist/types/shared.d.ts +2 -2
  339. package/dist/types/utils.d.ts +1 -1
  340. package/dist/utils/BufferGeometryUtils.d.ts +2 -2
  341. package/dist/utils/BufferGeometryUtils.js +1 -1
  342. package/dist/utils/BufferGeometryUtils.mjs +1 -1
  343. package/dist/utils/RoughnessMipmapper.d.ts +8 -0
  344. package/dist/utils/RoughnessMipmapper.js +79 -75
  345. package/dist/utils/RoughnessMipmapper.mjs +79 -75
  346. package/dist/utils/ShadowMapViewer.js +103 -106
  347. package/dist/utils/ShadowMapViewer.mjs +103 -106
  348. package/dist/utils/SkeletonUtils.d.ts +5 -21
  349. package/dist/utils/SkeletonUtils.js +182 -263
  350. package/dist/utils/SkeletonUtils.mjs +183 -264
  351. package/dist/utils/UVsDebug.js +37 -42
  352. package/dist/utils/UVsDebug.mjs +37 -42
  353. package/dist/webxr/ARButton.d.ts +2 -1
  354. package/dist/webxr/OculusHandModel.d.ts +2 -1
  355. package/dist/webxr/OculusHandPointerModel.d.ts +2 -2
  356. package/dist/webxr/OculusHandPointerModel.js +2 -2
  357. package/dist/webxr/OculusHandPointerModel.mjs +2 -2
  358. package/dist/webxr/VRButton.d.ts +2 -1
  359. package/dist/webxr/XRHandPrimitiveModel.js +2 -2
  360. package/dist/webxr/XRHandPrimitiveModel.mjs +2 -2
  361. package/package.json +5 -6
  362. package/dist/custom.d.ts +0 -5
  363. package/dist/loaders/NodeMaterialLoader.js +0 -146
  364. package/dist/loaders/NodeMaterialLoader.mjs +0 -146
  365. package/dist/nodes/Nodes.js +0 -347
  366. package/dist/nodes/Nodes.mjs +0 -347
  367. package/dist/nodes/ShaderNode.js +0 -408
  368. package/dist/nodes/ShaderNode.mjs +0 -408
  369. package/dist/nodes/accessors/BufferNode.js +0 -14
  370. package/dist/nodes/accessors/BufferNode.mjs +0 -15
  371. package/dist/nodes/accessors/CameraNode.js +0 -43
  372. package/dist/nodes/accessors/CameraNode.mjs +0 -44
  373. package/dist/nodes/accessors/CubeTextureNode.js +0 -41
  374. package/dist/nodes/accessors/CubeTextureNode.mjs +0 -42
  375. package/dist/nodes/accessors/MaterialNode.js +0 -70
  376. package/dist/nodes/accessors/MaterialNode.mjs +0 -71
  377. package/dist/nodes/accessors/MaterialReferenceNode.js +0 -13
  378. package/dist/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  379. package/dist/nodes/accessors/ModelNode.js +0 -8
  380. package/dist/nodes/accessors/ModelNode.mjs +0 -9
  381. package/dist/nodes/accessors/ModelViewProjectionNode.js +0 -23
  382. package/dist/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  383. package/dist/nodes/accessors/NormalNode.js +0 -61
  384. package/dist/nodes/accessors/NormalNode.mjs +0 -62
  385. package/dist/nodes/accessors/Object3DNode.js +0 -75
  386. package/dist/nodes/accessors/Object3DNode.mjs +0 -76
  387. package/dist/nodes/accessors/PointUVNode.js +0 -12
  388. package/dist/nodes/accessors/PointUVNode.mjs +0 -13
  389. package/dist/nodes/accessors/PositionNode.js +0 -64
  390. package/dist/nodes/accessors/PositionNode.mjs +0 -65
  391. package/dist/nodes/accessors/ReferenceNode.js +0 -36
  392. package/dist/nodes/accessors/ReferenceNode.mjs +0 -37
  393. package/dist/nodes/accessors/ReflectNode.js +0 -42
  394. package/dist/nodes/accessors/ReflectNode.mjs +0 -43
  395. package/dist/nodes/accessors/SkinningNode.js +0 -57
  396. package/dist/nodes/accessors/SkinningNode.mjs +0 -58
  397. package/dist/nodes/accessors/TextureNode.js +0 -53
  398. package/dist/nodes/accessors/TextureNode.mjs +0 -54
  399. package/dist/nodes/accessors/UVNode.js +0 -22
  400. package/dist/nodes/accessors/UVNode.mjs +0 -23
  401. package/dist/nodes/core/ArrayUniformNode.js +0 -13
  402. package/dist/nodes/core/ArrayUniformNode.mjs +0 -14
  403. package/dist/nodes/core/AttributeNode.js +0 -29
  404. package/dist/nodes/core/AttributeNode.mjs +0 -30
  405. package/dist/nodes/core/BypassNode.js +0 -21
  406. package/dist/nodes/core/BypassNode.mjs +0 -22
  407. package/dist/nodes/core/CodeNode.js +0 -27
  408. package/dist/nodes/core/CodeNode.mjs +0 -28
  409. package/dist/nodes/core/ConstNode.js +0 -13
  410. package/dist/nodes/core/ConstNode.mjs +0 -14
  411. package/dist/nodes/core/ContextNode.js +0 -21
  412. package/dist/nodes/core/ContextNode.mjs +0 -22
  413. package/dist/nodes/core/ExpressionNode.js +0 -18
  414. package/dist/nodes/core/ExpressionNode.mjs +0 -19
  415. package/dist/nodes/core/FunctionCallNode.js +0 -36
  416. package/dist/nodes/core/FunctionCallNode.mjs +0 -37
  417. package/dist/nodes/core/FunctionNode.js +0 -55
  418. package/dist/nodes/core/FunctionNode.mjs +0 -56
  419. package/dist/nodes/core/InputNode.js +0 -37
  420. package/dist/nodes/core/InputNode.mjs +0 -38
  421. package/dist/nodes/core/Node.js +0 -138
  422. package/dist/nodes/core/Node.mjs +0 -139
  423. package/dist/nodes/core/NodeAttribute.js +0 -9
  424. package/dist/nodes/core/NodeAttribute.mjs +0 -10
  425. package/dist/nodes/core/NodeBuilder.js +0 -402
  426. package/dist/nodes/core/NodeBuilder.mjs +0 -402
  427. package/dist/nodes/core/NodeCode.js +0 -10
  428. package/dist/nodes/core/NodeCode.mjs +0 -11
  429. package/dist/nodes/core/NodeFrame.js +0 -34
  430. package/dist/nodes/core/NodeFrame.mjs +0 -35
  431. package/dist/nodes/core/NodeFunctionInput.js +0 -12
  432. package/dist/nodes/core/NodeFunctionInput.mjs +0 -13
  433. package/dist/nodes/core/NodeKeywords.js +0 -43
  434. package/dist/nodes/core/NodeKeywords.mjs +0 -44
  435. package/dist/nodes/core/NodeUniform.js +0 -17
  436. package/dist/nodes/core/NodeUniform.mjs +0 -18
  437. package/dist/nodes/core/NodeUtils.js +0 -57
  438. package/dist/nodes/core/NodeUtils.mjs +0 -57
  439. package/dist/nodes/core/NodeVar.js +0 -9
  440. package/dist/nodes/core/NodeVar.mjs +0 -10
  441. package/dist/nodes/core/NodeVary.js +0 -9
  442. package/dist/nodes/core/NodeVary.mjs +0 -10
  443. package/dist/nodes/core/PropertyNode.js +0 -20
  444. package/dist/nodes/core/PropertyNode.mjs +0 -21
  445. package/dist/nodes/core/TempNode.js +0 -24
  446. package/dist/nodes/core/TempNode.mjs +0 -25
  447. package/dist/nodes/core/UniformNode.js +0 -22
  448. package/dist/nodes/core/UniformNode.mjs +0 -23
  449. package/dist/nodes/core/VarNode.js +0 -30
  450. package/dist/nodes/core/VarNode.mjs +0 -31
  451. package/dist/nodes/core/VaryNode.js +0 -29
  452. package/dist/nodes/core/VaryNode.mjs +0 -30
  453. package/dist/nodes/core/constants.js +0 -24
  454. package/dist/nodes/core/constants.mjs +0 -24
  455. package/dist/nodes/display/ColorSpaceNode.js +0 -62
  456. package/dist/nodes/display/ColorSpaceNode.mjs +0 -62
  457. package/dist/nodes/display/NormalMapNode.js +0 -53
  458. package/dist/nodes/display/NormalMapNode.mjs +0 -54
  459. package/dist/nodes/fog/FogNode.js +0 -14
  460. package/dist/nodes/fog/FogNode.mjs +0 -15
  461. package/dist/nodes/fog/FogRangeNode.js +0 -16
  462. package/dist/nodes/fog/FogRangeNode.mjs +0 -17
  463. package/dist/nodes/functions/BSDFs.js +0 -64
  464. package/dist/nodes/functions/BSDFs.mjs +0 -64
  465. package/dist/nodes/lights/LightContextNode.js +0 -34
  466. package/dist/nodes/lights/LightContextNode.mjs +0 -35
  467. package/dist/nodes/lights/LightNode.js +0 -57
  468. package/dist/nodes/lights/LightNode.mjs +0 -58
  469. package/dist/nodes/lights/LightsNode.js +0 -58
  470. package/dist/nodes/lights/LightsNode.mjs +0 -59
  471. package/dist/nodes/loaders/NodeLoader.js +0 -195
  472. package/dist/nodes/loaders/NodeLoader.mjs +0 -196
  473. package/dist/nodes/loaders/NodeMaterialLoader.js +0 -23
  474. package/dist/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  475. package/dist/nodes/loaders/NodeObjectLoader.js +0 -39
  476. package/dist/nodes/loaders/NodeObjectLoader.mjs +0 -40
  477. package/dist/nodes/materials/LineBasicNodeMaterial.js +0 -26
  478. package/dist/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  479. package/dist/nodes/materials/Materials.js +0 -24
  480. package/dist/nodes/materials/Materials.mjs +0 -24
  481. package/dist/nodes/materials/MeshBasicNodeMaterial.js +0 -27
  482. package/dist/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  483. package/dist/nodes/materials/MeshStandardNodeMaterial.js +0 -40
  484. package/dist/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  485. package/dist/nodes/materials/NodeMaterial.js +0 -63
  486. package/dist/nodes/materials/NodeMaterial.mjs +0 -64
  487. package/dist/nodes/materials/PointsNodeMaterial.js +0 -29
  488. package/dist/nodes/materials/PointsNodeMaterial.mjs +0 -30
  489. package/dist/nodes/math/CondNode.js +0 -40
  490. package/dist/nodes/math/CondNode.mjs +0 -41
  491. package/dist/nodes/math/MathNode.js +0 -165
  492. package/dist/nodes/math/MathNode.mjs +0 -166
  493. package/dist/nodes/math/OperatorNode.js +0 -102
  494. package/dist/nodes/math/OperatorNode.mjs +0 -103
  495. package/dist/nodes/procedural/CheckerNode.js +0 -20
  496. package/dist/nodes/procedural/CheckerNode.mjs +0 -21
  497. package/dist/nodes/utils/ArrayElementNode.js +0 -18
  498. package/dist/nodes/utils/ArrayElementNode.mjs +0 -19
  499. package/dist/nodes/utils/ConvertNode.js +0 -24
  500. package/dist/nodes/utils/ConvertNode.mjs +0 -25
  501. package/dist/nodes/utils/JoinNode.js +0 -25
  502. package/dist/nodes/utils/JoinNode.mjs +0 -26
  503. package/dist/nodes/utils/MatcapUVNode.js +0 -15
  504. package/dist/nodes/utils/MatcapUVNode.mjs +0 -16
  505. package/dist/nodes/utils/OscNode.js +0 -49
  506. package/dist/nodes/utils/OscNode.mjs +0 -50
  507. package/dist/nodes/utils/SplitNode.js +0 -44
  508. package/dist/nodes/utils/SplitNode.mjs +0 -45
  509. package/dist/nodes/utils/SpriteSheetUVNode.js +0 -39
  510. package/dist/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  511. package/dist/nodes/utils/TimerNode.js +0 -43
  512. package/dist/nodes/utils/TimerNode.mjs +0 -44
  513. package/dist/offscreen/jank.js +0 -26
  514. package/dist/offscreen/jank.mjs +0 -27
  515. package/dist/offscreen/offscreen.js +0 -8
  516. package/dist/offscreen/offscreen.mjs +0 -7
  517. package/dist/offscreen/scene.js +0 -68
  518. package/dist/offscreen/scene.mjs +0 -52
  519. package/dist/renderers/nodes/accessors/CameraNode.js +0 -62
  520. package/dist/renderers/nodes/accessors/CameraNode.mjs +0 -63
  521. package/dist/renderers/nodes/accessors/ModelNode.js +0 -60
  522. package/dist/renderers/nodes/accessors/ModelNode.mjs +0 -61
  523. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.js +0 -20
  524. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  525. package/dist/renderers/nodes/accessors/NormalNode.js +0 -60
  526. package/dist/renderers/nodes/accessors/NormalNode.mjs +0 -61
  527. package/dist/renderers/nodes/accessors/PositionNode.js +0 -29
  528. package/dist/renderers/nodes/accessors/PositionNode.mjs +0 -30
  529. package/dist/renderers/nodes/accessors/UVNode.js +0 -12
  530. package/dist/renderers/nodes/accessors/UVNode.mjs +0 -13
  531. package/dist/renderers/nodes/core/AttributeNode.js +0 -34
  532. package/dist/renderers/nodes/core/AttributeNode.mjs +0 -35
  533. package/dist/renderers/nodes/core/InputNode.js +0 -30
  534. package/dist/renderers/nodes/core/InputNode.mjs +0 -31
  535. package/dist/renderers/nodes/core/Node.js +0 -33
  536. package/dist/renderers/nodes/core/Node.mjs +0 -34
  537. package/dist/renderers/nodes/core/NodeAttribute.js +0 -9
  538. package/dist/renderers/nodes/core/NodeAttribute.mjs +0 -10
  539. package/dist/renderers/nodes/core/NodeBuilder.js +0 -248
  540. package/dist/renderers/nodes/core/NodeBuilder.mjs +0 -249
  541. package/dist/renderers/nodes/core/NodeFrame.js +0 -34
  542. package/dist/renderers/nodes/core/NodeFrame.mjs +0 -35
  543. package/dist/renderers/nodes/core/NodeSlot.js +0 -9
  544. package/dist/renderers/nodes/core/NodeSlot.mjs +0 -10
  545. package/dist/renderers/nodes/core/NodeUniform.js +0 -17
  546. package/dist/renderers/nodes/core/NodeUniform.mjs +0 -18
  547. package/dist/renderers/nodes/core/NodeVary.js +0 -10
  548. package/dist/renderers/nodes/core/NodeVary.mjs +0 -11
  549. package/dist/renderers/nodes/core/VaryNode.js +0 -21
  550. package/dist/renderers/nodes/core/VaryNode.mjs +0 -22
  551. package/dist/renderers/nodes/core/constants.js +0 -22
  552. package/dist/renderers/nodes/core/constants.mjs +0 -22
  553. package/dist/renderers/nodes/inputs/ColorNode.js +0 -10
  554. package/dist/renderers/nodes/inputs/ColorNode.mjs +0 -11
  555. package/dist/renderers/nodes/inputs/FloatNode.js +0 -10
  556. package/dist/renderers/nodes/inputs/FloatNode.mjs +0 -11
  557. package/dist/renderers/nodes/inputs/Matrix3Node.js +0 -11
  558. package/dist/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  559. package/dist/renderers/nodes/inputs/Matrix4Node.js +0 -11
  560. package/dist/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  561. package/dist/renderers/nodes/inputs/TextureNode.js +0 -19
  562. package/dist/renderers/nodes/inputs/TextureNode.mjs +0 -20
  563. package/dist/renderers/nodes/inputs/Vector2Node.js +0 -10
  564. package/dist/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  565. package/dist/renderers/nodes/inputs/Vector3Node.js +0 -11
  566. package/dist/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  567. package/dist/renderers/nodes/inputs/Vector4Node.js +0 -11
  568. package/dist/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  569. package/dist/renderers/nodes/math/MathNode.js +0 -54
  570. package/dist/renderers/nodes/math/MathNode.mjs +0 -55
  571. package/dist/renderers/nodes/math/OperatorNode.js +0 -41
  572. package/dist/renderers/nodes/math/OperatorNode.mjs +0 -42
  573. package/dist/renderers/nodes/utils/SwitchNode.js +0 -19
  574. package/dist/renderers/nodes/utils/SwitchNode.mjs +0 -20
  575. package/dist/renderers/nodes/utils/TimerNode.js +0 -13
  576. package/dist/renderers/nodes/utils/TimerNode.mjs +0 -14
  577. package/dist/renderers/webgpu/WebGPU.js +0 -23
  578. package/dist/renderers/webgpu/WebGPU.mjs +0 -24
  579. package/dist/renderers/webgpu/WebGPUAttributes.js +0 -68
  580. package/dist/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  581. package/dist/renderers/webgpu/WebGPUBackground.js +0 -60
  582. package/dist/renderers/webgpu/WebGPUBackground.mjs +0 -61
  583. package/dist/renderers/webgpu/WebGPUBinding.js +0 -13
  584. package/dist/renderers/webgpu/WebGPUBinding.mjs +0 -14
  585. package/dist/renderers/webgpu/WebGPUBindings.js +0 -154
  586. package/dist/renderers/webgpu/WebGPUBindings.mjs +0 -155
  587. package/dist/renderers/webgpu/WebGPUComputePipelines.js +0 -43
  588. package/dist/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  589. package/dist/renderers/webgpu/WebGPUGeometries.js +0 -40
  590. package/dist/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  591. package/dist/renderers/webgpu/WebGPUInfo.js +0 -45
  592. package/dist/renderers/webgpu/WebGPUInfo.mjs +0 -46
  593. package/dist/renderers/webgpu/WebGPUObjects.js +0 -24
  594. package/dist/renderers/webgpu/WebGPUObjects.mjs +0 -25
  595. package/dist/renderers/webgpu/WebGPUProperties.js +0 -21
  596. package/dist/renderers/webgpu/WebGPUProperties.mjs +0 -22
  597. package/dist/renderers/webgpu/WebGPURenderLists.js +0 -118
  598. package/dist/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  599. package/dist/renderers/webgpu/WebGPURenderPipelines.js +0 -545
  600. package/dist/renderers/webgpu/WebGPURenderPipelines.mjs +0 -546
  601. package/dist/renderers/webgpu/WebGPURenderer.js +0 -596
  602. package/dist/renderers/webgpu/WebGPURenderer.mjs +0 -575
  603. package/dist/renderers/webgpu/WebGPUSampledTexture.js +0 -40
  604. package/dist/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  605. package/dist/renderers/webgpu/WebGPUSampler.js +0 -14
  606. package/dist/renderers/webgpu/WebGPUSampler.mjs +0 -15
  607. package/dist/renderers/webgpu/WebGPUStorageBuffer.js +0 -14
  608. package/dist/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  609. package/dist/renderers/webgpu/WebGPUTextureRenderer.js +0 -22
  610. package/dist/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  611. package/dist/renderers/webgpu/WebGPUTextureUtils.js +0 -97
  612. package/dist/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  613. package/dist/renderers/webgpu/WebGPUTextures.js +0 -483
  614. package/dist/renderers/webgpu/WebGPUTextures.mjs +0 -484
  615. package/dist/renderers/webgpu/WebGPUUniform.js +0 -81
  616. package/dist/renderers/webgpu/WebGPUUniform.mjs +0 -81
  617. package/dist/renderers/webgpu/WebGPUUniformsGroup.js +0 -175
  618. package/dist/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  619. package/dist/renderers/webgpu/constants.js +0 -241
  620. package/dist/renderers/webgpu/constants.mjs +0 -241
  621. package/dist/renderers/webgpu/nodes/ShaderLib.js +0 -41
  622. package/dist/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  623. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.js +0 -164
  624. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  625. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.js +0 -73
  626. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  627. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +0 -14
  628. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  629. package/dist/renderers/webgpu/nodes/WebGPUNodes.js +0 -39
  630. package/dist/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
@@ -2,6 +2,35 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
4
  const ParametricGeometry = require("./ParametricGeometry.js");
5
+ class TubeGeometry extends ParametricGeometry.ParametricGeometry {
6
+ constructor(path, segments = 64, radius = 1, segmentsRadius = 8, closed = false) {
7
+ const numpoints = segments + 1;
8
+ const frames = path.computeFrenetFrames(segments, closed), tangents = frames.tangents, normals = frames.normals, binormals = frames.binormals;
9
+ const position = new THREE.Vector3();
10
+ function ParametricTube(u, v, target) {
11
+ v *= 2 * Math.PI;
12
+ const i = Math.floor(u * (numpoints - 1));
13
+ path.getPointAt(u, position);
14
+ const normal = normals[i];
15
+ const binormal = binormals[i];
16
+ const cx = -radius * Math.cos(v);
17
+ const cy = radius * Math.sin(v);
18
+ position.x += cx * normal.x + cy * binormal.x;
19
+ position.y += cx * normal.y + cy * binormal.y;
20
+ position.z += cx * normal.z + cy * binormal.z;
21
+ target.copy(position);
22
+ }
23
+ super(ParametricTube, segments, segmentsRadius);
24
+ this.tangents = tangents;
25
+ this.normals = normals;
26
+ this.binormals = binormals;
27
+ this.path = path;
28
+ this.segments = segments;
29
+ this.radius = radius;
30
+ this.segmentsRadius = segmentsRadius;
31
+ this.closed = closed;
32
+ }
33
+ }
5
34
  const ParametricGeometries = {
6
35
  klein: function(v, u, target) {
7
36
  u *= Math.PI;
@@ -46,84 +75,56 @@ const ParametricGeometries = {
46
75
  const y = (major + x) * Math.sin(u);
47
76
  x = (major + x) * Math.cos(u);
48
77
  target.set(x, y, z);
49
- }
50
- };
51
- ParametricGeometries.TubeGeometry = class TubeGeometry extends ParametricGeometry.ParametricGeometry {
52
- constructor(path, segments = 64, radius = 1, segmentsRadius = 8, closed = false) {
53
- const numpoints = segments + 1;
54
- const frames = path.computeFrenetFrames(segments, closed), tangents = frames.tangents, normals = frames.normals, binormals = frames.binormals;
55
- const position = new THREE.Vector3();
56
- function ParametricTube(u, v, target) {
57
- v *= 2 * Math.PI;
58
- const i = Math.floor(u * (numpoints - 1));
59
- path.getPointAt(u, position);
60
- const normal = normals[i];
61
- const binormal = binormals[i];
62
- const cx = -radius * Math.cos(v);
63
- const cy = radius * Math.sin(v);
64
- position.x += cx * normal.x + cy * binormal.x;
65
- position.y += cx * normal.y + cy * binormal.y;
66
- position.z += cx * normal.z + cy * binormal.z;
67
- target.copy(position);
68
- }
69
- super(ParametricTube, segments, segmentsRadius);
70
- this.tangents = tangents;
71
- this.normals = normals;
72
- this.binormals = binormals;
73
- this.path = path;
74
- this.segments = segments;
75
- this.radius = radius;
76
- this.segmentsRadius = segmentsRadius;
77
- this.closed = closed;
78
- }
79
- };
80
- ParametricGeometries.TorusKnotGeometry = class TorusKnotGeometry extends ParametricGeometries.TubeGeometry {
81
- constructor(radius = 200, tube = 40, segmentsT = 64, segmentsR = 8, p = 2, q = 3) {
82
- class TorusKnotCurve extends THREE.Curve {
83
- getPoint(t, optionalTarget = new THREE.Vector3()) {
84
- const point = optionalTarget;
85
- t *= Math.PI * 2;
86
- const r = 0.5;
87
- const x = (1 + r * Math.cos(q * t)) * Math.cos(p * t);
88
- const y = (1 + r * Math.cos(q * t)) * Math.sin(p * t);
89
- const z = r * Math.sin(q * t);
90
- return point.set(x, y, z).multiplyScalar(radius);
78
+ },
79
+ TubeGeometry,
80
+ TorusKnotGeometry: class TorusKnotGeometry extends TubeGeometry {
81
+ constructor(radius = 200, tube = 40, segmentsT = 64, segmentsR = 8, p = 2, q = 3) {
82
+ class TorusKnotCurve extends THREE.Curve {
83
+ getPoint(t, optionalTarget = new THREE.Vector3()) {
84
+ const point = optionalTarget;
85
+ t *= Math.PI * 2;
86
+ const r = 0.5;
87
+ const x = (1 + r * Math.cos(q * t)) * Math.cos(p * t);
88
+ const y = (1 + r * Math.cos(q * t)) * Math.sin(p * t);
89
+ const z = r * Math.sin(q * t);
90
+ return point.set(x, y, z).multiplyScalar(radius);
91
+ }
91
92
  }
93
+ const segments = segmentsT;
94
+ const radiusSegments = segmentsR;
95
+ const extrudePath = new TorusKnotCurve();
96
+ super(extrudePath, segments, tube, radiusSegments, true, false);
97
+ this.radius = radius;
98
+ this.tube = tube;
99
+ this.segmentsT = segmentsT;
100
+ this.segmentsR = segmentsR;
101
+ this.p = p;
102
+ this.q = q;
92
103
  }
93
- const segments = segmentsT;
94
- const radiusSegments = segmentsR;
95
- const extrudePath = new TorusKnotCurve();
96
- super(extrudePath, segments, tube, radiusSegments, true, false);
97
- this.radius = radius;
98
- this.tube = tube;
99
- this.segmentsT = segmentsT;
100
- this.segmentsR = segmentsR;
101
- this.p = p;
102
- this.q = q;
103
- }
104
- };
105
- ParametricGeometries.SphereGeometry = class SphereGeometry extends ParametricGeometry.ParametricGeometry {
106
- constructor(size, u, v) {
107
- function sphere(u2, v2, target) {
108
- u2 *= Math.PI;
109
- v2 *= 2 * Math.PI;
110
- const x = size * Math.sin(u2) * Math.cos(v2);
111
- const y = size * Math.sin(u2) * Math.sin(v2);
112
- const z = size * Math.cos(u2);
113
- target.set(x, y, z);
104
+ },
105
+ SphereGeometry: class SphereGeometry extends ParametricGeometry.ParametricGeometry {
106
+ constructor(size, u, v) {
107
+ function sphere(u2, v2, target) {
108
+ u2 *= Math.PI;
109
+ v2 *= 2 * Math.PI;
110
+ const x = size * Math.sin(u2) * Math.cos(v2);
111
+ const y = size * Math.sin(u2) * Math.sin(v2);
112
+ const z = size * Math.cos(u2);
113
+ target.set(x, y, z);
114
+ }
115
+ super(sphere, u, v);
114
116
  }
115
- super(sphere, u, v);
116
- }
117
- };
118
- ParametricGeometries.PlaneGeometry = class PlaneGeometry extends ParametricGeometry.ParametricGeometry {
119
- constructor(width, depth, segmentsWidth, segmentsDepth) {
120
- function plane(u, v, target) {
121
- const x = u * width;
122
- const y = 0;
123
- const z = v * depth;
124
- target.set(x, y, z);
117
+ },
118
+ PlaneGeometry: class PlaneGeometry extends ParametricGeometry.ParametricGeometry {
119
+ constructor(width, depth, segmentsWidth, segmentsDepth) {
120
+ function plane(u, v, target) {
121
+ const x = u * width;
122
+ const y = 0;
123
+ const z = v * depth;
124
+ target.set(x, y, z);
125
+ }
126
+ super(plane, segmentsWidth, segmentsDepth);
125
127
  }
126
- super(plane, segmentsWidth, segmentsDepth);
127
128
  }
128
129
  };
129
130
  exports.ParametricGeometries = ParametricGeometries;
@@ -1,5 +1,34 @@
1
1
  import { Vector3, Curve } from "three";
2
2
  import { ParametricGeometry } from "./ParametricGeometry.mjs";
3
+ class TubeGeometry extends ParametricGeometry {
4
+ constructor(path, segments = 64, radius = 1, segmentsRadius = 8, closed = false) {
5
+ const numpoints = segments + 1;
6
+ const frames = path.computeFrenetFrames(segments, closed), tangents = frames.tangents, normals = frames.normals, binormals = frames.binormals;
7
+ const position = new Vector3();
8
+ function ParametricTube(u, v, target) {
9
+ v *= 2 * Math.PI;
10
+ const i = Math.floor(u * (numpoints - 1));
11
+ path.getPointAt(u, position);
12
+ const normal = normals[i];
13
+ const binormal = binormals[i];
14
+ const cx = -radius * Math.cos(v);
15
+ const cy = radius * Math.sin(v);
16
+ position.x += cx * normal.x + cy * binormal.x;
17
+ position.y += cx * normal.y + cy * binormal.y;
18
+ position.z += cx * normal.z + cy * binormal.z;
19
+ target.copy(position);
20
+ }
21
+ super(ParametricTube, segments, segmentsRadius);
22
+ this.tangents = tangents;
23
+ this.normals = normals;
24
+ this.binormals = binormals;
25
+ this.path = path;
26
+ this.segments = segments;
27
+ this.radius = radius;
28
+ this.segmentsRadius = segmentsRadius;
29
+ this.closed = closed;
30
+ }
31
+ }
3
32
  const ParametricGeometries = {
4
33
  klein: function(v, u, target) {
5
34
  u *= Math.PI;
@@ -44,84 +73,56 @@ const ParametricGeometries = {
44
73
  const y = (major + x) * Math.sin(u);
45
74
  x = (major + x) * Math.cos(u);
46
75
  target.set(x, y, z);
47
- }
48
- };
49
- ParametricGeometries.TubeGeometry = class TubeGeometry extends ParametricGeometry {
50
- constructor(path, segments = 64, radius = 1, segmentsRadius = 8, closed = false) {
51
- const numpoints = segments + 1;
52
- const frames = path.computeFrenetFrames(segments, closed), tangents = frames.tangents, normals = frames.normals, binormals = frames.binormals;
53
- const position = new Vector3();
54
- function ParametricTube(u, v, target) {
55
- v *= 2 * Math.PI;
56
- const i = Math.floor(u * (numpoints - 1));
57
- path.getPointAt(u, position);
58
- const normal = normals[i];
59
- const binormal = binormals[i];
60
- const cx = -radius * Math.cos(v);
61
- const cy = radius * Math.sin(v);
62
- position.x += cx * normal.x + cy * binormal.x;
63
- position.y += cx * normal.y + cy * binormal.y;
64
- position.z += cx * normal.z + cy * binormal.z;
65
- target.copy(position);
66
- }
67
- super(ParametricTube, segments, segmentsRadius);
68
- this.tangents = tangents;
69
- this.normals = normals;
70
- this.binormals = binormals;
71
- this.path = path;
72
- this.segments = segments;
73
- this.radius = radius;
74
- this.segmentsRadius = segmentsRadius;
75
- this.closed = closed;
76
- }
77
- };
78
- ParametricGeometries.TorusKnotGeometry = class TorusKnotGeometry extends ParametricGeometries.TubeGeometry {
79
- constructor(radius = 200, tube = 40, segmentsT = 64, segmentsR = 8, p = 2, q = 3) {
80
- class TorusKnotCurve extends Curve {
81
- getPoint(t, optionalTarget = new Vector3()) {
82
- const point = optionalTarget;
83
- t *= Math.PI * 2;
84
- const r = 0.5;
85
- const x = (1 + r * Math.cos(q * t)) * Math.cos(p * t);
86
- const y = (1 + r * Math.cos(q * t)) * Math.sin(p * t);
87
- const z = r * Math.sin(q * t);
88
- return point.set(x, y, z).multiplyScalar(radius);
76
+ },
77
+ TubeGeometry,
78
+ TorusKnotGeometry: class TorusKnotGeometry extends TubeGeometry {
79
+ constructor(radius = 200, tube = 40, segmentsT = 64, segmentsR = 8, p = 2, q = 3) {
80
+ class TorusKnotCurve extends Curve {
81
+ getPoint(t, optionalTarget = new Vector3()) {
82
+ const point = optionalTarget;
83
+ t *= Math.PI * 2;
84
+ const r = 0.5;
85
+ const x = (1 + r * Math.cos(q * t)) * Math.cos(p * t);
86
+ const y = (1 + r * Math.cos(q * t)) * Math.sin(p * t);
87
+ const z = r * Math.sin(q * t);
88
+ return point.set(x, y, z).multiplyScalar(radius);
89
+ }
89
90
  }
91
+ const segments = segmentsT;
92
+ const radiusSegments = segmentsR;
93
+ const extrudePath = new TorusKnotCurve();
94
+ super(extrudePath, segments, tube, radiusSegments, true, false);
95
+ this.radius = radius;
96
+ this.tube = tube;
97
+ this.segmentsT = segmentsT;
98
+ this.segmentsR = segmentsR;
99
+ this.p = p;
100
+ this.q = q;
90
101
  }
91
- const segments = segmentsT;
92
- const radiusSegments = segmentsR;
93
- const extrudePath = new TorusKnotCurve();
94
- super(extrudePath, segments, tube, radiusSegments, true, false);
95
- this.radius = radius;
96
- this.tube = tube;
97
- this.segmentsT = segmentsT;
98
- this.segmentsR = segmentsR;
99
- this.p = p;
100
- this.q = q;
101
- }
102
- };
103
- ParametricGeometries.SphereGeometry = class SphereGeometry extends ParametricGeometry {
104
- constructor(size, u, v) {
105
- function sphere(u2, v2, target) {
106
- u2 *= Math.PI;
107
- v2 *= 2 * Math.PI;
108
- const x = size * Math.sin(u2) * Math.cos(v2);
109
- const y = size * Math.sin(u2) * Math.sin(v2);
110
- const z = size * Math.cos(u2);
111
- target.set(x, y, z);
102
+ },
103
+ SphereGeometry: class SphereGeometry extends ParametricGeometry {
104
+ constructor(size, u, v) {
105
+ function sphere(u2, v2, target) {
106
+ u2 *= Math.PI;
107
+ v2 *= 2 * Math.PI;
108
+ const x = size * Math.sin(u2) * Math.cos(v2);
109
+ const y = size * Math.sin(u2) * Math.sin(v2);
110
+ const z = size * Math.cos(u2);
111
+ target.set(x, y, z);
112
+ }
113
+ super(sphere, u, v);
112
114
  }
113
- super(sphere, u, v);
114
- }
115
- };
116
- ParametricGeometries.PlaneGeometry = class PlaneGeometry extends ParametricGeometry {
117
- constructor(width, depth, segmentsWidth, segmentsDepth) {
118
- function plane(u, v, target) {
119
- const x = u * width;
120
- const y = 0;
121
- const z = v * depth;
122
- target.set(x, y, z);
115
+ },
116
+ PlaneGeometry: class PlaneGeometry extends ParametricGeometry {
117
+ constructor(width, depth, segmentsWidth, segmentsDepth) {
118
+ function plane(u, v, target) {
119
+ const x = u * width;
120
+ const y = 0;
121
+ const z = v * depth;
122
+ target.set(x, y, z);
123
+ }
124
+ super(plane, segmentsWidth, segmentsDepth);
123
125
  }
124
- super(plane, segmentsWidth, segmentsDepth);
125
126
  }
126
127
  };
127
128
  export {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
- const tempNormal = new THREE.Vector3();
4
+ const tempNormal = /* @__PURE__ */ new THREE.Vector3();
5
5
  function getUv(faceDirVector, normal, uvAxis, projectionAxis, radius, sideLength) {
6
6
  const totArcLength = 2 * Math.PI * radius / 4;
7
7
  const centerLength = Math.max(sideLength - 2 * radius, 0);
@@ -1,5 +1,5 @@
1
1
  import { Vector3, BoxGeometry } from "three";
2
- const tempNormal = new Vector3();
2
+ const tempNormal = /* @__PURE__ */ new Vector3();
3
3
  function getUv(faceDirVector, normal, uvAxis, projectionAxis, radius, sideLength) {
4
4
  const totArcLength = 2 * Math.PI * radius / 4;
5
5
  const centerLength = Math.max(sideLength - 2 * radius, 0);
@@ -1,6 +1,6 @@
1
1
  import { ExtrudeGeometry } from 'three';
2
2
  import type { Font } from '../loaders/FontLoader';
3
- export declare type TextGeometryParameters = {
3
+ export type TextGeometryParameters = {
4
4
  bevelEnabled?: boolean;
5
5
  bevelOffset?: number;
6
6
  bevelSize?: number;
@@ -1,10 +1,11 @@
1
- import { Line, RectAreaLight, ColorRepresentation } from 'three'
1
+ import { Line, RectAreaLight, Color } from 'three'
2
2
 
3
3
  export class RectAreaLightHelper extends Line {
4
- constructor(light: RectAreaLight, color?: ColorRepresentation)
4
+ readonly type: 'RectAreaLightHelper'
5
+ constructor(light: RectAreaLight, color?: Color | string | number)
5
6
 
6
7
  light: RectAreaLight
7
- color: ColorRepresentation | undefined
8
+ color: Color | string | number | undefined
8
9
 
9
10
  dispose(): void
10
11
  }
@@ -9,9 +9,9 @@ class RectAreaLightHelper extends THREE.Line {
9
9
  geometry.computeBoundingSphere();
10
10
  const material = new THREE.LineBasicMaterial({ fog: false });
11
11
  super(geometry, material);
12
- this.type = "RectAreaLightHelper";
13
12
  this.light = light;
14
13
  this.color = color;
14
+ this.type = "RectAreaLightHelper";
15
15
  const positions2 = [1, 1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, -1, -1, 0, 1, -1, 0];
16
16
  const geometry2 = new THREE.BufferGeometry();
17
17
  geometry2.setAttribute("position", new THREE.Float32BufferAttribute(positions2, 3));
@@ -31,7 +31,7 @@ class RectAreaLightHelper extends THREE.Line {
31
31
  c.multiplyScalar(1 / max);
32
32
  this.children[0].material.color.copy(this.material.color);
33
33
  }
34
- this.matrixWorld.copy(this.light.matrixWorld).scale(this.scale);
34
+ this.matrixWorld.extractRotation(this.light.matrixWorld).scale(this.scale).copyPosition(this.light.matrixWorld);
35
35
  this.children[0].matrixWorld.copy(this.matrixWorld);
36
36
  }
37
37
  dispose() {
@@ -7,9 +7,9 @@ class RectAreaLightHelper extends Line {
7
7
  geometry.computeBoundingSphere();
8
8
  const material = new LineBasicMaterial({ fog: false });
9
9
  super(geometry, material);
10
- this.type = "RectAreaLightHelper";
11
10
  this.light = light;
12
11
  this.color = color;
12
+ this.type = "RectAreaLightHelper";
13
13
  const positions2 = [1, 1, 0, -1, 1, 0, -1, -1, 0, 1, 1, 0, -1, -1, 0, 1, -1, 0];
14
14
  const geometry2 = new BufferGeometry();
15
15
  geometry2.setAttribute("position", new Float32BufferAttribute(positions2, 3));
@@ -29,7 +29,7 @@ class RectAreaLightHelper extends Line {
29
29
  c.multiplyScalar(1 / max);
30
30
  this.children[0].material.color.copy(this.material.color);
31
31
  }
32
- this.matrixWorld.copy(this.light.matrixWorld).scale(this.scale);
32
+ this.matrixWorld.extractRotation(this.light.matrixWorld).scale(this.scale).copyPosition(this.light.matrixWorld);
33
33
  this.children[0].matrixWorld.copy(this.matrixWorld);
34
34
  }
35
35
  dispose() {
@@ -1,10 +1,13 @@
1
1
  import { Object3D, LineSegments } from 'three'
2
2
 
3
3
  export class VertexNormalsHelper extends LineSegments {
4
+ readonly type: 'VertexNormalsHelper'
4
5
  constructor(object: Object3D, size?: number, hex?: number)
5
6
 
6
7
  object: Object3D
7
8
  size: number
8
9
 
9
10
  update(): void
11
+
12
+ dispose(): void
10
13
  }
@@ -1,26 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
- const _v1 = new THREE.Vector3();
5
- const _v2 = new THREE.Vector3();
6
- const _normalMatrix = new THREE.Matrix3();
4
+ const _v1 = /* @__PURE__ */ new THREE.Vector3();
5
+ const _v2 = /* @__PURE__ */ new THREE.Vector3();
6
+ const _normalMatrix = /* @__PURE__ */ new THREE.Matrix3();
7
7
  class VertexNormalsHelper extends THREE.LineSegments {
8
- constructor(object, size, hex) {
8
+ constructor(object, size = 1, color = 16711680) {
9
9
  const geometry = new THREE.BufferGeometry();
10
- const color = hex !== void 0 ? hex : 16711680;
11
- super(geometry, new THREE.LineBasicMaterial({ color, toneMapped: false }));
12
- this.object = object;
13
- this.size = size !== void 0 ? size : 0.1;
14
- let nNormals = 0;
15
- const objGeometry = this.object.geometry;
16
- if (objGeometry && objGeometry.isGeometry) {
17
- console.error("THREE.VertexNormalsHelper no longer supports Geometry. Use BufferGeometry instead.");
18
- return;
19
- } else if (objGeometry && objGeometry.isBufferGeometry) {
20
- nNormals = objGeometry.attributes.normal.count;
21
- }
10
+ const nNormals = object.geometry.attributes.normal.count;
22
11
  const positions = new THREE.Float32BufferAttribute(nNormals * 2 * 3, 3);
23
12
  geometry.setAttribute("position", positions);
13
+ super(geometry, new THREE.LineBasicMaterial({ color, toneMapped: false }));
14
+ this.object = object;
15
+ this.size = size;
24
16
  this.type = "VertexNormalsHelper";
25
17
  this.matrixAutoUpdate = false;
26
18
  this.update();
@@ -31,16 +23,13 @@ class VertexNormalsHelper extends THREE.LineSegments {
31
23
  const matrixWorld = this.object.matrixWorld;
32
24
  const position = this.geometry.attributes.position;
33
25
  const objGeometry = this.object.geometry;
34
- if (objGeometry && objGeometry.isGeometry) {
35
- console.error("THREE.VertexNormalsHelper no longer supports Geometry. Use BufferGeometry instead.");
36
- return;
37
- } else if (objGeometry && objGeometry.isBufferGeometry) {
26
+ if (objGeometry) {
38
27
  const objPos = objGeometry.attributes.position;
39
28
  const objNorm = objGeometry.attributes.normal;
40
29
  let idx = 0;
41
30
  for (let j = 0, jl = objPos.count; j < jl; j++) {
42
- _v1.set(objPos.getX(j), objPos.getY(j), objPos.getZ(j)).applyMatrix4(matrixWorld);
43
- _v2.set(objNorm.getX(j), objNorm.getY(j), objNorm.getZ(j));
31
+ _v1.fromBufferAttribute(objPos, j).applyMatrix4(matrixWorld);
32
+ _v2.fromBufferAttribute(objNorm, j);
44
33
  _v2.applyMatrix3(_normalMatrix).normalize().multiplyScalar(this.size).add(_v1);
45
34
  position.setXYZ(idx, _v1.x, _v1.y, _v1.z);
46
35
  idx = idx + 1;
@@ -50,5 +39,9 @@ class VertexNormalsHelper extends THREE.LineSegments {
50
39
  }
51
40
  position.needsUpdate = true;
52
41
  }
42
+ dispose() {
43
+ this.geometry.dispose();
44
+ this.material.dispose();
45
+ }
53
46
  }
54
47
  exports.VertexNormalsHelper = VertexNormalsHelper;
@@ -1,24 +1,16 @@
1
- import { Vector3, Matrix3, LineSegments, BufferGeometry, LineBasicMaterial, Float32BufferAttribute } from "three";
2
- const _v1 = new Vector3();
3
- const _v2 = new Vector3();
4
- const _normalMatrix = new Matrix3();
1
+ import { Vector3, Matrix3, LineSegments, BufferGeometry, Float32BufferAttribute, LineBasicMaterial } from "three";
2
+ const _v1 = /* @__PURE__ */ new Vector3();
3
+ const _v2 = /* @__PURE__ */ new Vector3();
4
+ const _normalMatrix = /* @__PURE__ */ new Matrix3();
5
5
  class VertexNormalsHelper extends LineSegments {
6
- constructor(object, size, hex) {
6
+ constructor(object, size = 1, color = 16711680) {
7
7
  const geometry = new BufferGeometry();
8
- const color = hex !== void 0 ? hex : 16711680;
9
- super(geometry, new LineBasicMaterial({ color, toneMapped: false }));
10
- this.object = object;
11
- this.size = size !== void 0 ? size : 0.1;
12
- let nNormals = 0;
13
- const objGeometry = this.object.geometry;
14
- if (objGeometry && objGeometry.isGeometry) {
15
- console.error("THREE.VertexNormalsHelper no longer supports Geometry. Use BufferGeometry instead.");
16
- return;
17
- } else if (objGeometry && objGeometry.isBufferGeometry) {
18
- nNormals = objGeometry.attributes.normal.count;
19
- }
8
+ const nNormals = object.geometry.attributes.normal.count;
20
9
  const positions = new Float32BufferAttribute(nNormals * 2 * 3, 3);
21
10
  geometry.setAttribute("position", positions);
11
+ super(geometry, new LineBasicMaterial({ color, toneMapped: false }));
12
+ this.object = object;
13
+ this.size = size;
22
14
  this.type = "VertexNormalsHelper";
23
15
  this.matrixAutoUpdate = false;
24
16
  this.update();
@@ -29,16 +21,13 @@ class VertexNormalsHelper extends LineSegments {
29
21
  const matrixWorld = this.object.matrixWorld;
30
22
  const position = this.geometry.attributes.position;
31
23
  const objGeometry = this.object.geometry;
32
- if (objGeometry && objGeometry.isGeometry) {
33
- console.error("THREE.VertexNormalsHelper no longer supports Geometry. Use BufferGeometry instead.");
34
- return;
35
- } else if (objGeometry && objGeometry.isBufferGeometry) {
24
+ if (objGeometry) {
36
25
  const objPos = objGeometry.attributes.position;
37
26
  const objNorm = objGeometry.attributes.normal;
38
27
  let idx = 0;
39
28
  for (let j = 0, jl = objPos.count; j < jl; j++) {
40
- _v1.set(objPos.getX(j), objPos.getY(j), objPos.getZ(j)).applyMatrix4(matrixWorld);
41
- _v2.set(objNorm.getX(j), objNorm.getY(j), objNorm.getZ(j));
29
+ _v1.fromBufferAttribute(objPos, j).applyMatrix4(matrixWorld);
30
+ _v2.fromBufferAttribute(objNorm, j);
42
31
  _v2.applyMatrix3(_normalMatrix).normalize().multiplyScalar(this.size).add(_v1);
43
32
  position.setXYZ(idx, _v1.x, _v1.y, _v1.z);
44
33
  idx = idx + 1;
@@ -48,6 +37,10 @@ class VertexNormalsHelper extends LineSegments {
48
37
  }
49
38
  position.needsUpdate = true;
50
39
  }
40
+ dispose() {
41
+ this.geometry.dispose();
42
+ this.material.dispose();
43
+ }
51
44
  }
52
45
  export {
53
46
  VertexNormalsHelper
@@ -1,10 +1,13 @@
1
1
  import { Object3D, LineSegments } from 'three'
2
2
 
3
3
  export class VertexTangentsHelper extends LineSegments {
4
+ readonly type: 'VertexTangentsHelper'
4
5
  constructor(object: Object3D, size?: number, hex?: number)
5
6
 
6
7
  object: Object3D
7
8
  size: number
8
9
 
9
10
  update(): void
11
+
12
+ dispose(): void
10
13
  }
@@ -1,24 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
- const _v1 = new THREE.Vector3();
5
- const _v2 = new THREE.Vector3();
4
+ const _v1 = /* @__PURE__ */ new THREE.Vector3();
5
+ const _v2 = /* @__PURE__ */ new THREE.Vector3();
6
6
  class VertexTangentsHelper extends THREE.LineSegments {
7
- constructor(object, size, hex) {
8
- const color = hex !== void 0 ? hex : 65535;
9
- const objGeometry = object.geometry;
10
- if (!(objGeometry && objGeometry.isBufferGeometry)) {
11
- console.error("THREE.VertexTangentsHelper: geometry not an instance of THREE.BufferGeometry.", objGeometry);
12
- return;
13
- }
14
- const nTangents = objGeometry.attributes.tangent.count;
7
+ constructor(object, size = 1, color = 65535) {
15
8
  const geometry = new THREE.BufferGeometry();
9
+ const nTangents = object.geometry.attributes.tangent.count;
16
10
  const positions = new THREE.Float32BufferAttribute(nTangents * 2 * 3, 3);
17
11
  geometry.setAttribute("position", positions);
18
12
  super(geometry, new THREE.LineBasicMaterial({ color, toneMapped: false }));
19
- this.type = "VertexTangentsHelper";
20
13
  this.object = object;
21
- this.size = size !== void 0 ? size : 1;
14
+ this.size = size;
15
+ this.type = "VertexTangentsHelper";
22
16
  this.matrixAutoUpdate = false;
23
17
  this.update();
24
18
  }
@@ -31,8 +25,8 @@ class VertexTangentsHelper extends THREE.LineSegments {
31
25
  const objTan = objGeometry.attributes.tangent;
32
26
  let idx = 0;
33
27
  for (let j = 0, jl = objPos.count; j < jl; j++) {
34
- _v1.set(objPos.getX(j), objPos.getY(j), objPos.getZ(j)).applyMatrix4(matrixWorld);
35
- _v2.set(objTan.getX(j), objTan.getY(j), objTan.getZ(j));
28
+ _v1.fromBufferAttribute(objPos, j).applyMatrix4(matrixWorld);
29
+ _v2.fromBufferAttribute(objTan, j);
36
30
  _v2.transformDirection(matrixWorld).multiplyScalar(this.size).add(_v1);
37
31
  position.setXYZ(idx, _v1.x, _v1.y, _v1.z);
38
32
  idx = idx + 1;
@@ -41,5 +35,9 @@ class VertexTangentsHelper extends THREE.LineSegments {
41
35
  }
42
36
  position.needsUpdate = true;
43
37
  }
38
+ dispose() {
39
+ this.geometry.dispose();
40
+ this.material.dispose();
41
+ }
44
42
  }
45
43
  exports.VertexTangentsHelper = VertexTangentsHelper;