three-stdlib 2.15.1 → 2.15.2

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