three-stdlib 2.15.2 → 2.16.1

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