three-stdlib 2.16.0 → 2.16.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1219) 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 +143 -64
  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.d.ts +5 -4
  25. package/controls/FlyControls.js +160 -90
  26. package/controls/OrbitControls.cjs.js +1 -0
  27. package/controls/OrbitControls.js +481 -232
  28. package/controls/PointerLockControls.cjs.js +1 -0
  29. package/controls/PointerLockControls.js +99 -63
  30. package/controls/TrackballControls.cjs.js +1 -0
  31. package/controls/TrackballControls.js +383 -211
  32. package/controls/TransformControls.cjs.js +1 -0
  33. package/controls/TransformControls.js +782 -575
  34. package/controls/experimental/CameraControls.cjs.js +1 -0
  35. package/controls/experimental/CameraControls.js +609 -329
  36. package/csm/CSM.cjs.js +1 -0
  37. package/csm/CSM.js +108 -47
  38. package/csm/CSMFrustum.cjs.js +1 -0
  39. package/csm/CSMFrustum.js +29 -14
  40. package/csm/CSMHelper.cjs.js +1 -0
  41. package/csm/CSMHelper.js +34 -20
  42. package/csm/CSMShader.cjs.js +1 -0
  43. package/csm/CSMShader.js +11 -7
  44. package/curves/CurveExtras.cjs.js +1 -0
  45. package/curves/CurveExtras.js +115 -73
  46. package/curves/NURBSCurve.cjs.js +1 -0
  47. package/curves/NURBSCurve.js +43 -15
  48. package/curves/NURBSSurface.cjs.js +1 -0
  49. package/curves/NURBSSurface.js +27 -11
  50. package/curves/NURBSUtils.cjs.js +1 -0
  51. package/curves/NURBSUtils.js +203 -54
  52. package/custom.d.cjs.js +1 -0
  53. package/{shaders/types.mjs → custom.d.js} +0 -0
  54. package/deprecated/Geometry.cjs.js +1 -0
  55. package/deprecated/Geometry.js +486 -191
  56. package/effects/AnaglyphEffect.cjs.js +1 -0
  57. package/effects/AnaglyphEffect.js +60 -95
  58. package/effects/AsciiEffect.cjs.js +1 -0
  59. package/effects/AsciiEffect.js +110 -80
  60. package/effects/OutlineEffect.cjs.js +1 -0
  61. package/effects/OutlineEffect.js +204 -121
  62. package/effects/ParallaxBarrierEffect.cjs.js +1 -0
  63. package/effects/ParallaxBarrierEffect.js +38 -39
  64. package/effects/PeppersGhostEffect.cjs.js +1 -0
  65. package/effects/PeppersGhostEffect.js +68 -19
  66. package/effects/StereoEffect.cjs.js +1 -0
  67. package/effects/StereoEffect.js +16 -12
  68. package/environments/RoomEnvironment.cjs.js +1 -0
  69. package/environments/RoomEnvironment.js +47 -52
  70. package/exporters/ColladaExporter.cjs.js +1 -0
  71. package/exporters/ColladaExporter.js +241 -115
  72. package/exporters/DRACOExporter.cjs.js +1 -0
  73. package/exporters/DRACOExporter.js +121 -67
  74. package/exporters/GLTFExporter.cjs.js +1 -0
  75. package/exporters/GLTFExporter.js +1014 -463
  76. package/exporters/MMDExporter.cjs.js +1 -0
  77. package/exporters/MMDExporter.js +102 -44
  78. package/exporters/OBJExporter.cjs.js +1 -0
  79. package/exporters/OBJExporter.js +140 -78
  80. package/exporters/PLYExporter.cjs.js +1 -0
  81. package/exporters/PLYExporter.js +154 -93
  82. package/exporters/STLExporter.cjs.js +1 -0
  83. package/exporters/STLExporter.js +81 -30
  84. package/exporters/USDZExporter.cjs.js +1 -0
  85. package/exporters/USDZExporter.js +144 -84
  86. package/geometries/BoxLineGeometry.cjs.js +1 -0
  87. package/geometries/BoxLineGeometry.js +14 -7
  88. package/geometries/ConvexGeometry.cjs.js +1 -0
  89. package/geometries/ConvexGeometry.js +23 -14
  90. package/geometries/DecalGeometry.cjs.js +1 -0
  91. package/geometries/DecalGeometry.js +162 -108
  92. package/geometries/LightningStrike.cjs.js +1 -0
  93. package/geometries/LightningStrike.js +294 -101
  94. package/geometries/ParametricGeometries.cjs.js +1 -0
  95. package/geometries/ParametricGeometries.js +76 -26
  96. package/geometries/ParametricGeometry.cjs.js +1 -0
  97. package/geometries/ParametricGeometry.js +48 -24
  98. package/geometries/RoundedBoxGeometry.cjs.js +1 -0
  99. package/geometries/RoundedBoxGeometry.js +64 -33
  100. package/geometries/TeapotGeometry.cjs.js +1 -0
  101. package/geometries/TeapotGeometry.js +174 -1434
  102. package/geometries/TextGeometry.cjs.js +1 -0
  103. package/geometries/TextGeometry.js +17 -9
  104. package/helpers/LightProbeHelper.cjs.js +1 -0
  105. package/helpers/LightProbeHelper.js +21 -53
  106. package/helpers/PositionalAudioHelper.cjs.js +1 -0
  107. package/helpers/PositionalAudioHelper.js +30 -23
  108. package/helpers/RectAreaLightHelper.cjs.js +1 -0
  109. package/helpers/RectAreaLightHelper.js +33 -17
  110. package/helpers/VertexNormalsHelper.cjs.js +1 -0
  111. package/helpers/VertexNormalsHelper.js +41 -20
  112. package/helpers/VertexTangentsHelper.cjs.js +1 -0
  113. package/helpers/VertexTangentsHelper.js +36 -18
  114. package/index.cjs.js +1 -0
  115. package/index.js +333 -969
  116. package/interactive/InteractiveGroup.cjs.js +1 -0
  117. package/interactive/InteractiveGroup.d.ts +5 -0
  118. package/interactive/InteractiveGroup.js +87 -0
  119. package/interactive/SelectionBox.cjs.js +1 -0
  120. package/interactive/SelectionBox.js +46 -31
  121. package/interactive/SelectionHelper.cjs.js +1 -0
  122. package/interactive/SelectionHelper.js +21 -16
  123. package/libs/MeshoptDecoder.cjs.js +1 -0
  124. package/libs/MeshoptDecoder.js +58 -147
  125. package/libs/MotionControllers.cjs.js +1 -0
  126. package/libs/MotionControllers.js +208 -66
  127. package/lights/LightProbeGenerator.cjs.js +1 -0
  128. package/lights/LightProbeGenerator.js +96 -40
  129. package/lights/RectAreaLightUniformsLib.cjs.js +1 -0
  130. package/lights/RectAreaLightUniformsLib.js +9 -32842
  131. package/lines/Line2.cjs.js +1 -0
  132. package/lines/Line2.js +12 -9
  133. package/lines/LineGeometry.cjs.js +1 -0
  134. package/lines/LineGeometry.js +19 -7
  135. package/lines/LineMaterial.cjs.js +1 -0
  136. package/lines/LineMaterial.js +89 -51
  137. package/lines/LineSegments2.cjs.js +1 -0
  138. package/lines/LineSegments2.js +165 -56
  139. package/lines/LineSegmentsGeometry.cjs.js +1 -0
  140. package/lines/LineSegmentsGeometry.js +71 -29
  141. package/lines/Wireframe.cjs.js +1 -0
  142. package/lines/Wireframe.js +29 -15
  143. package/lines/WireframeGeometry2.cjs.js +1 -0
  144. package/lines/WireframeGeometry2.js +9 -8
  145. package/loaders/3DMLoader.cjs.js +1 -0
  146. package/loaders/3DMLoader.js +469 -234
  147. package/loaders/3MFLoader.cjs.js +1 -0
  148. package/loaders/3MFLoader.js +555 -340
  149. package/loaders/AMFLoader.cjs.js +1 -0
  150. package/loaders/AMFLoader.js +219 -114
  151. package/loaders/AssimpLoader.cjs.js +1 -0
  152. package/loaders/AssimpLoader.js +725 -328
  153. package/loaders/BVHLoader.cjs.js +1 -0
  154. package/loaders/BVHLoader.js +200 -94
  155. package/loaders/BasisTextureLoader.cjs.js +1 -0
  156. package/loaders/BasisTextureLoader.js +357 -229
  157. package/loaders/ColladaLoader.cjs.js +1 -0
  158. package/loaders/ColladaLoader.js +1522 -932
  159. package/loaders/DDSLoader.cjs.js +1 -0
  160. package/loaders/DDSLoader.js +108 -42
  161. package/loaders/DRACOLoader.cjs.js +1 -0
  162. package/loaders/DRACOLoader.js +210 -103
  163. package/loaders/EXRLoader.cjs.js +1 -0
  164. package/loaders/EXRLoader.js +809 -461
  165. package/loaders/FBXLoader.cjs.js +1 -0
  166. package/loaders/FBXLoader.js +1397 -842
  167. package/loaders/FontLoader.cjs.js +1 -0
  168. package/loaders/FontLoader.js +66 -33
  169. package/loaders/GCodeLoader.cjs.js +1 -0
  170. package/loaders/GCodeLoader.js +111 -63
  171. package/loaders/GLTFLoader.cjs.js +1 -0
  172. package/loaders/GLTFLoader.js +1484 -771
  173. package/loaders/HDRCubeTextureLoader.cjs.js +1 -0
  174. package/loaders/HDRCubeTextureLoader.js +50 -45
  175. package/loaders/KMZLoader.cjs.js +1 -0
  176. package/loaders/KMZLoader.js +55 -42
  177. package/loaders/KTX2Loader.cjs.js +1 -0
  178. package/loaders/KTX2Loader.js +362 -229
  179. package/loaders/KTXLoader.cjs.js +1 -0
  180. package/loaders/KTXLoader.js +99 -37
  181. package/loaders/LDrawLoader.cjs.js +1 -0
  182. package/loaders/LDrawLoader.js +746 -313
  183. package/loaders/LUT3dlLoader.cjs.js +1 -0
  184. package/loaders/LUT3dlLoader.js +62 -50
  185. package/loaders/LUTCubeLoader.cjs.js +1 -0
  186. package/loaders/LUTCubeLoader.js +56 -45
  187. package/loaders/LWOLoader.cjs.js +1 -0
  188. package/loaders/LWOLoader.js +339 -227
  189. package/loaders/LottieLoader.cjs.js +1 -0
  190. package/loaders/LottieLoader.js +38 -36
  191. package/loaders/MD2Loader.cjs.js +1 -0
  192. package/loaders/MD2Loader.js +91 -248
  193. package/loaders/MDDLoader.cjs.js +1 -0
  194. package/loaders/MDDLoader.js +45 -25
  195. package/loaders/MMDLoader.cjs.js +1 -0
  196. package/loaders/MMDLoader.js +795 -359
  197. package/loaders/MTLLoader.cjs.js +1 -0
  198. package/loaders/MTLLoader.js +201 -91
  199. package/loaders/NRRDLoader.cjs.js +1 -0
  200. package/loaders/NRRDLoader.js +263 -182
  201. package/loaders/NodeMaterialLoader.cjs.js +1 -0
  202. package/loaders/NodeMaterialLoader.js +14 -121
  203. package/loaders/OBJLoader.cjs.js +1 -0
  204. package/loaders/OBJLoader.js +283 -161
  205. package/loaders/PCDLoader.cjs.js +1 -0
  206. package/loaders/PCDLoader.js +164 -145
  207. package/loaders/PDBLoader.cjs.js +1 -0
  208. package/loaders/PDBLoader.js +63 -45
  209. package/loaders/PLYLoader.cjs.js +1 -0
  210. package/loaders/PLYLoader.js +203 -106
  211. package/loaders/PRWMLoader.cjs.js +1 -0
  212. package/loaders/PRWMLoader.js +110 -73
  213. package/loaders/PVRLoader.cjs.js +1 -0
  214. package/loaders/PVRLoader.js +93 -32
  215. package/loaders/RGBELoader.cjs.js +1 -0
  216. package/loaders/RGBELoader.js +233 -96
  217. package/loaders/RGBMLoader.cjs.js +1 -0
  218. package/loaders/RGBMLoader.js +514 -344
  219. package/loaders/STLLoader.cjs.js +1 -0
  220. package/loaders/STLLoader.js +165 -59
  221. package/loaders/SVGLoader.cjs.js +1 -0
  222. package/loaders/SVGLoader.js +851 -481
  223. package/loaders/TDSLoader.cjs.js +1 -0
  224. package/loaders/TDSLoader.js +527 -137
  225. package/loaders/TGALoader.cjs.js +1 -0
  226. package/loaders/TGALoader.js +205 -94
  227. package/loaders/TTFLoader.cjs.js +1 -0
  228. package/loaders/TTFLoader.js +79 -58
  229. package/loaders/TiltLoader.cjs.js +1 -0
  230. package/loaders/TiltLoader.js +167 -129
  231. package/loaders/VOXLoader.cjs.js +1 -0
  232. package/loaders/VOXLoader.js +84 -320
  233. package/loaders/VRMLLoader.cjs.js +1 -0
  234. package/loaders/VRMLLoader.js +1268 -786
  235. package/loaders/VRMLoader.cjs.js +1 -0
  236. package/loaders/VRMLoader.js +31 -23
  237. package/loaders/VTKLoader.cjs.js +1 -0
  238. package/loaders/VTKLoader.js +407 -219
  239. package/loaders/XLoader.cjs.js +1 -0
  240. package/loaders/XLoader.js +1259 -1083
  241. package/loaders/XYZLoader.cjs.js +1 -0
  242. package/loaders/XYZLoader.js +34 -28
  243. package/loaders/lwo/IFFParser.cjs.js +1 -0
  244. package/loaders/lwo/IFFParser.js +492 -238
  245. package/loaders/lwo/LWO2Parser.cjs.js +1 -0
  246. package/loaders/lwo/LWO2Parser.js +279 -176
  247. package/loaders/lwo/LWO3Parser.cjs.js +1 -0
  248. package/loaders/lwo/LWO3Parser.js +247 -160
  249. package/math/Capsule.cjs.js +1 -0
  250. package/math/Capsule.js +43 -56
  251. package/math/ColorConverter.cjs.js +1 -0
  252. package/math/ColorConverter.js +32 -18
  253. package/math/ConvexHull.cjs.js +1 -0
  254. package/math/ConvexHull.js +357 -97
  255. package/math/ImprovedNoise.cjs.js +1 -0
  256. package/math/ImprovedNoise.js +32 -282
  257. package/math/Lut.cjs.js +1 -0
  258. package/math/Lut.js +35 -51
  259. package/math/MeshSurfaceSampler.cjs.js +1 -0
  260. package/math/MeshSurfaceSampler.js +68 -25
  261. package/math/OBB.cjs.js +1 -0
  262. package/math/OBB.js +152 -91
  263. package/math/Octree.cjs.js +1 -0
  264. package/math/Octree.js +139 -76
  265. package/math/SimplexNoise.cjs.js +1 -0
  266. package/math/SimplexNoise.js +238 -217
  267. package/misc/ConvexObjectBreaker.cjs.js +1 -0
  268. package/misc/ConvexObjectBreaker.js +185 -79
  269. package/misc/GPUComputationRenderer.cjs.js +1 -0
  270. package/misc/GPUComputationRenderer.js +194 -69
  271. package/misc/Gyroscope.cjs.js +1 -0
  272. package/misc/Gyroscope.js +22 -16
  273. package/misc/MD2Character.cjs.js +1 -0
  274. package/misc/MD2Character.js +74 -52
  275. package/misc/MD2CharacterComplex.cjs.js +1 -0
  276. package/misc/MD2CharacterComplex.js +163 -112
  277. package/misc/MorphAnimMesh.cjs.js +1 -0
  278. package/misc/MorphAnimMesh.js +28 -20
  279. package/misc/MorphBlendMesh.cjs.js +1 -0
  280. package/misc/MorphBlendMesh.js +69 -45
  281. package/misc/ProgressiveLightmap.cjs.js +1 -0
  282. package/misc/ProgressiveLightmap.js +187 -70
  283. package/misc/RollerCoaster.cjs.js +1 -0
  284. package/misc/RollerCoaster.js +135 -106
  285. package/misc/TubePainter.cjs.js +1 -0
  286. package/misc/TubePainter.js +92 -74
  287. package/misc/Volume.cjs.js +1 -0
  288. package/misc/Volume.js +270 -108
  289. package/misc/VolumeSlice.cjs.js +1 -0
  290. package/misc/VolumeSlice.js +122 -34
  291. package/misc/WebGL.cjs.js +1 -0
  292. package/misc/WebGL.js +34 -37
  293. package/modifiers/CurveModifier.cjs.js +1 -0
  294. package/modifiers/CurveModifier.js +151 -46
  295. package/modifiers/EdgeSplitModifier.cjs.js +1 -0
  296. package/modifiers/EdgeSplitModifier.js +90 -46
  297. package/modifiers/SimplifyModifier.cjs.js +1 -0
  298. package/modifiers/SimplifyModifier.js +202 -77
  299. package/modifiers/TessellateModifier.cjs.js +1 -0
  300. package/modifiers/TessellateModifier.js +90 -65
  301. package/nodes/Nodes.cjs.js +1 -0
  302. package/nodes/Nodes.js +140 -274
  303. package/nodes/ShaderNode.cjs.js +1 -0
  304. package/nodes/ShaderNode.js +196 -296
  305. package/nodes/accessors/BufferNode.cjs.js +1 -0
  306. package/nodes/accessors/BufferNode.js +8 -4
  307. package/nodes/accessors/CameraNode.cjs.js +1 -0
  308. package/nodes/accessors/CameraNode.js +25 -20
  309. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  310. package/nodes/accessors/CubeTextureNode.js +26 -14
  311. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  312. package/nodes/accessors/MaterialNode.js +53 -43
  313. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  314. package/nodes/accessors/MaterialReferenceNode.js +6 -3
  315. package/nodes/accessors/ModelNode.cjs.js +1 -0
  316. package/nodes/accessors/ModelNode.js +5 -3
  317. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  318. package/nodes/accessors/ModelViewProjectionNode.js +13 -14
  319. package/nodes/accessors/NormalNode.cjs.js +1 -0
  320. package/nodes/accessors/NormalNode.js +39 -40
  321. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  322. package/nodes/accessors/Object3DNode.js +50 -40
  323. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  324. package/nodes/accessors/PointUVNode.js +9 -5
  325. package/nodes/accessors/PositionNode.cjs.js +1 -0
  326. package/nodes/accessors/PositionNode.js +41 -42
  327. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  328. package/nodes/accessors/ReferenceNode.js +17 -10
  329. package/nodes/accessors/ReflectNode.cjs.js +1 -0
  330. package/nodes/accessors/ReflectNode.js +26 -23
  331. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  332. package/nodes/accessors/SkinningNode.js +48 -46
  333. package/nodes/accessors/TextureNode.cjs.js +1 -0
  334. package/nodes/accessors/TextureNode.js +29 -14
  335. package/nodes/accessors/UVNode.cjs.js +1 -0
  336. package/nodes/accessors/UVNode.js +11 -5
  337. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  338. package/nodes/core/ArrayUniformNode.js +7 -3
  339. package/nodes/core/AttributeNode.cjs.js +1 -0
  340. package/nodes/core/AttributeNode.js +12 -5
  341. package/nodes/core/BypassNode.cjs.js +1 -0
  342. package/nodes/core/BypassNode.js +12 -5
  343. package/nodes/core/CodeNode.cjs.js +1 -0
  344. package/nodes/core/CodeNode.js +12 -4
  345. package/nodes/core/ConstNode.cjs.js +1 -0
  346. package/nodes/core/ConstNode.js +7 -3
  347. package/nodes/core/ContextNode.cjs.js +1 -0
  348. package/nodes/core/ContextNode.js +8 -3
  349. package/nodes/core/ExpressionNode.cjs.js +1 -0
  350. package/nodes/core/ExpressionNode.js +9 -5
  351. package/nodes/core/FunctionCallNode.cjs.js +1 -0
  352. package/nodes/core/FunctionCallNode.js +15 -6
  353. package/nodes/core/FunctionNode.cjs.js +1 -0
  354. package/nodes/core/FunctionNode.js +25 -10
  355. package/nodes/core/InputNode.cjs.js +1 -0
  356. package/nodes/core/InputNode.js +23 -12
  357. package/nodes/core/Node.cjs.js +1 -0
  358. package/nodes/core/Node.js +75 -35
  359. package/nodes/core/NodeAttribute.cjs.js +1 -0
  360. package/nodes/core/NodeAttribute.js +4 -2
  361. package/nodes/core/NodeBuilder.cjs.js +1 -0
  362. package/nodes/core/NodeBuilder.js +224 -110
  363. package/nodes/core/NodeCode.cjs.js +1 -0
  364. package/nodes/core/NodeCode.js +7 -4
  365. package/nodes/core/NodeFrame.cjs.js +1 -0
  366. package/nodes/core/NodeFrame.js +12 -9
  367. package/nodes/core/NodeFunction.cjs.js +1 -0
  368. package/nodes/core/NodeFunction.js +17 -0
  369. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  370. package/nodes/core/NodeFunctionInput.js +5 -3
  371. package/nodes/core/NodeKeywords.cjs.js +1 -0
  372. package/nodes/core/NodeKeywords.js +16 -5
  373. package/nodes/core/NodeParser.cjs.js +1 -0
  374. package/nodes/core/NodeParser.js +8 -0
  375. package/nodes/core/NodeUniform.cjs.js +1 -0
  376. package/nodes/core/NodeUniform.js +7 -3
  377. package/nodes/core/NodeUtils.cjs.js +1 -0
  378. package/nodes/core/NodeUtils.js +43 -39
  379. package/nodes/core/NodeVar.cjs.js +1 -0
  380. package/nodes/core/NodeVar.js +4 -2
  381. package/nodes/core/NodeVary.cjs.js +1 -0
  382. package/nodes/core/NodeVary.js +4 -2
  383. package/nodes/core/PropertyNode.cjs.js +1 -0
  384. package/nodes/core/PropertyNode.js +10 -4
  385. package/nodes/core/TempNode.cjs.js +1 -0
  386. package/nodes/core/TempNode.js +11 -5
  387. package/nodes/core/UniformNode.cjs.js +1 -0
  388. package/nodes/core/UniformNode.js +10 -4
  389. package/nodes/core/VarNode.cjs.js +1 -0
  390. package/nodes/core/VarNode.js +11 -3
  391. package/nodes/core/VaryNode.cjs.js +1 -0
  392. package/nodes/core/VaryNode.js +15 -6
  393. package/nodes/core/constants.cjs.js +1 -0
  394. package/nodes/core/constants.js +7 -20
  395. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  396. package/nodes/display/ColorSpaceNode.js +38 -34
  397. package/nodes/display/NormalMapNode.cjs.js +1 -0
  398. package/nodes/display/NormalMapNode.js +53 -35
  399. package/nodes/fog/FogNode.cjs.js +1 -0
  400. package/nodes/fog/FogNode.js +9 -5
  401. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  402. package/nodes/fog/FogRangeNode.js +9 -5
  403. package/nodes/functions/BSDFs.cjs.js +1 -0
  404. package/nodes/functions/BSDFs.js +118 -61
  405. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  406. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  407. package/nodes/lights/LightContextNode.cjs.js +1 -0
  408. package/nodes/lights/LightContextNode.js +23 -14
  409. package/nodes/lights/LightNode.cjs.js +1 -0
  410. package/nodes/lights/LightNode.js +31 -27
  411. package/nodes/lights/LightsNode.cjs.js +1 -0
  412. package/nodes/lights/LightsNode.js +28 -9
  413. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  414. package/nodes/loaders/NodeLoader.js +42 -27
  415. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  416. package/nodes/loaders/NodeMaterialLoader.js +10 -4
  417. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  418. package/nodes/loaders/NodeObjectLoader.js +19 -9
  419. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  420. package/nodes/materials/LineBasicNodeMaterial.js +10 -5
  421. package/nodes/materials/Materials.cjs.js +1 -0
  422. package/nodes/materials/Materials.js +17 -14
  423. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  424. package/nodes/materials/MeshBasicNodeMaterial.js +10 -5
  425. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -0
  426. package/nodes/materials/MeshStandardNodeMaterial.js +8 -5
  427. package/nodes/materials/NodeMaterial.cjs.js +1 -0
  428. package/nodes/materials/NodeMaterial.js +36 -20
  429. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  430. package/nodes/materials/PointsNodeMaterial.js +10 -5
  431. package/nodes/math/CondNode.cjs.js +1 -0
  432. package/nodes/math/CondNode.js +23 -11
  433. package/nodes/math/MathNode.cjs.js +1 -0
  434. package/nodes/math/MathNode.js +142 -98
  435. package/nodes/math/OperatorNode.cjs.js +1 -0
  436. package/nodes/math/OperatorNode.js +46 -24
  437. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  438. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  439. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  440. package/nodes/parsers/GLSLNodeParser.js +13 -0
  441. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  442. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  443. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  444. package/nodes/parsers/WGSLNodeParser.js +13 -0
  445. package/nodes/procedural/CheckerNode.cjs.js +1 -0
  446. package/nodes/procedural/CheckerNode.js +19 -13
  447. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  448. package/nodes/utils/ArrayElementNode.js +8 -4
  449. package/nodes/utils/ConvertNode.cjs.js +1 -0
  450. package/nodes/utils/ConvertNode.js +8 -3
  451. package/nodes/utils/JoinNode.cjs.js +1 -0
  452. package/nodes/utils/JoinNode.js +11 -7
  453. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  454. package/nodes/utils/MatcapUVNode.js +11 -8
  455. package/nodes/utils/OscNode.cjs.js +1 -0
  456. package/nodes/utils/OscNode.js +33 -27
  457. package/nodes/utils/SplitNode.cjs.js +1 -0
  458. package/nodes/utils/SplitNode.js +20 -6
  459. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  460. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  461. package/nodes/utils/TimerNode.cjs.js +1 -0
  462. package/nodes/utils/TimerNode.js +24 -20
  463. package/objects/GroundProjectedEnv.cjs.js +1 -0
  464. package/objects/GroundProjectedEnv.js +37 -22
  465. package/objects/Lensflare.cjs.js +1 -0
  466. package/objects/Lensflare.js +156 -86
  467. package/objects/LightningStorm.cjs.js +1 -0
  468. package/objects/LightningStorm.js +102 -38
  469. package/objects/MarchingCubes.cjs.js +1 -0
  470. package/objects/MarchingCubes.js +303 -150
  471. package/objects/Reflector.cjs.js +1 -0
  472. package/objects/Reflector.js +72 -50
  473. package/objects/ReflectorForSSRPass.cjs.js +1 -0
  474. package/objects/ReflectorForSSRPass.js +131 -80
  475. package/objects/ReflectorRTT.cjs.js +1 -0
  476. package/objects/ReflectorRTT.js +7 -6
  477. package/objects/Refractor.cjs.js +1 -0
  478. package/objects/Refractor.js +106 -64
  479. package/objects/ShadowMesh.cjs.js +1 -0
  480. package/objects/ShadowMesh.js +17 -8
  481. package/objects/Sky.cjs.js +1 -0
  482. package/objects/Sky.js +80 -119
  483. package/objects/Water.cjs.js +1 -0
  484. package/objects/Water.js +127 -83
  485. package/objects/Water2.cjs.js +1 -0
  486. package/objects/Water2.js +108 -72
  487. package/offscreen/jank.cjs.js +1 -0
  488. package/offscreen/jank.js +14 -10
  489. package/offscreen/offscreen.cjs.js +1 -0
  490. package/offscreen/offscreen.js +5 -4
  491. package/offscreen/scene.cjs.js +1 -0
  492. package/offscreen/scene.js +48 -45
  493. package/package.json +3 -3
  494. package/physics/AmmoPhysics.cjs.js +1 -0
  495. package/physics/AmmoPhysics.js +71 -30
  496. package/postprocessing/AdaptiveToneMappingPass.cjs.js +1 -0
  497. package/postprocessing/AdaptiveToneMappingPass.js +123 -97
  498. package/postprocessing/AfterimagePass.cjs.js +1 -0
  499. package/postprocessing/AfterimagePass.js +49 -28
  500. package/postprocessing/BloomPass.cjs.js +1 -0
  501. package/postprocessing/BloomPass.js +69 -43
  502. package/postprocessing/BokehPass.cjs.js +1 -0
  503. package/postprocessing/BokehPass.js +69 -39
  504. package/postprocessing/ClearPass.cjs.js +1 -0
  505. package/postprocessing/ClearPass.js +25 -10
  506. package/postprocessing/CubeTexturePass.cjs.js +1 -0
  507. package/postprocessing/CubeTexturePass.js +27 -28
  508. package/postprocessing/DotScreenPass.cjs.js +1 -0
  509. package/postprocessing/DotScreenPass.js +32 -24
  510. package/postprocessing/EffectComposer.cjs.js +1 -0
  511. package/postprocessing/EffectComposer.js +86 -39
  512. package/postprocessing/FilmPass.cjs.js +1 -0
  513. package/postprocessing/FilmPass.js +30 -25
  514. package/postprocessing/GlitchPass.cjs.js +1 -0
  515. package/postprocessing/GlitchPass.js +61 -38
  516. package/postprocessing/HalftonePass.cjs.js +1 -0
  517. package/postprocessing/HalftonePass.js +39 -19
  518. package/postprocessing/LUTPass.cjs.js +1 -0
  519. package/postprocessing/LUTPass.js +38 -13
  520. package/postprocessing/MaskPass.cjs.js +1 -0
  521. package/postprocessing/MaskPass.js +38 -19
  522. package/postprocessing/OutlinePass.cjs.js +1 -0
  523. package/postprocessing/OutlinePass.js +277 -135
  524. package/postprocessing/Pass.cjs.js +1 -0
  525. package/postprocessing/Pass.js +44 -20
  526. package/postprocessing/RenderPass.cjs.js +1 -0
  527. package/postprocessing/RenderPass.js +36 -13
  528. package/postprocessing/RenderPixelatedPass.cjs.js +1 -0
  529. package/postprocessing/RenderPixelatedPass.js +58 -44
  530. package/postprocessing/SAOPass.cjs.js +1 -0
  531. package/postprocessing/SAOPass.js +189 -154
  532. package/postprocessing/SMAAPass.cjs.js +1 -0
  533. package/postprocessing/SMAAPass.js +84 -64
  534. package/postprocessing/SSAARenderPass.cjs.js +1 -0
  535. package/postprocessing/SSAARenderPass.js +69 -121
  536. package/postprocessing/SSAOPass.cjs.js +1 -0
  537. package/postprocessing/SSAOPass.js +172 -123
  538. package/postprocessing/SSRPass.cjs.js +1 -0
  539. package/postprocessing/SSRPass.js +280 -211
  540. package/postprocessing/SavePass.cjs.js +1 -0
  541. package/postprocessing/SavePass.js +25 -20
  542. package/postprocessing/ShaderPass.cjs.js +1 -0
  543. package/postprocessing/ShaderPass.js +30 -14
  544. package/postprocessing/TAARenderPass.cjs.js +1 -0
  545. package/postprocessing/TAARenderPass.js +61 -42
  546. package/postprocessing/TexturePass.cjs.js +1 -0
  547. package/postprocessing/TexturePass.js +22 -21
  548. package/postprocessing/UnrealBloomPass.cjs.js +1 -0
  549. package/postprocessing/UnrealBloomPass.js +213 -105
  550. package/renderers/CSS2DRenderer.cjs.js +1 -0
  551. package/renderers/CSS2DRenderer.js +56 -44
  552. package/renderers/CSS3DRenderer.cjs.js +1 -0
  553. package/renderers/CSS3DRenderer.js +86 -53
  554. package/renderers/Projector.cjs.js +1 -0
  555. package/renderers/Projector.js +274 -107
  556. package/renderers/SVGRenderer.cjs.js +1 -0
  557. package/renderers/SVGRenderer.js +182 -72
  558. package/renderers/nodes/accessors/CameraNode.cjs.js +1 -0
  559. package/renderers/nodes/accessors/CameraNode.js +40 -29
  560. package/renderers/nodes/accessors/ModelNode.cjs.js +1 -0
  561. package/renderers/nodes/accessors/ModelNode.js +37 -28
  562. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  563. package/renderers/nodes/accessors/ModelViewProjectionNode.js +23 -10
  564. package/renderers/nodes/accessors/NormalNode.cjs.js +1 -0
  565. package/renderers/nodes/accessors/NormalNode.js +45 -35
  566. package/renderers/nodes/accessors/PositionNode.cjs.js +1 -0
  567. package/renderers/nodes/accessors/PositionNode.js +19 -18
  568. package/renderers/nodes/accessors/UVNode.cjs.js +1 -0
  569. package/renderers/nodes/accessors/UVNode.js +10 -5
  570. package/renderers/nodes/core/AttributeNode.cjs.js +1 -0
  571. package/renderers/nodes/core/AttributeNode.js +14 -5
  572. package/renderers/nodes/core/InputNode.cjs.js +1 -0
  573. package/renderers/nodes/core/InputNode.js +14 -4
  574. package/renderers/nodes/core/Node.cjs.js +1 -0
  575. package/renderers/nodes/core/Node.js +17 -7
  576. package/renderers/nodes/core/NodeAttribute.cjs.js +1 -0
  577. package/renderers/nodes/core/NodeAttribute.js +6 -3
  578. package/renderers/nodes/core/NodeBuilder.cjs.js +1 -0
  579. package/renderers/nodes/core/NodeBuilder.js +154 -87
  580. package/renderers/nodes/core/NodeFrame.cjs.js +1 -0
  581. package/renderers/nodes/core/NodeFrame.js +12 -9
  582. package/renderers/nodes/core/NodeSlot.cjs.js +1 -0
  583. package/renderers/nodes/core/NodeSlot.js +3 -2
  584. package/renderers/nodes/core/NodeUniform.cjs.js +1 -0
  585. package/renderers/nodes/core/NodeUniform.js +9 -4
  586. package/renderers/nodes/core/NodeVary.cjs.js +1 -0
  587. package/renderers/nodes/core/NodeVary.js +7 -4
  588. package/renderers/nodes/core/VaryNode.cjs.js +1 -0
  589. package/renderers/nodes/core/VaryNode.js +12 -6
  590. package/renderers/nodes/core/constants.cjs.js +1 -0
  591. package/renderers/nodes/core/constants.js +13 -16
  592. package/renderers/nodes/inputs/ColorNode.cjs.js +1 -0
  593. package/renderers/nodes/inputs/ColorNode.js +11 -5
  594. package/renderers/nodes/inputs/FloatNode.cjs.js +1 -0
  595. package/renderers/nodes/inputs/FloatNode.js +11 -5
  596. package/renderers/nodes/inputs/Matrix3Node.cjs.js +1 -0
  597. package/renderers/nodes/inputs/Matrix3Node.js +13 -7
  598. package/renderers/nodes/inputs/Matrix4Node.cjs.js +1 -0
  599. package/renderers/nodes/inputs/Matrix4Node.js +13 -7
  600. package/renderers/nodes/inputs/TextureNode.cjs.js +1 -0
  601. package/renderers/nodes/inputs/TextureNode.js +15 -7
  602. package/renderers/nodes/inputs/Vector2Node.cjs.js +1 -0
  603. package/renderers/nodes/inputs/Vector2Node.js +11 -5
  604. package/renderers/nodes/inputs/Vector3Node.cjs.js +1 -0
  605. package/renderers/nodes/inputs/Vector3Node.js +13 -7
  606. package/renderers/nodes/inputs/Vector4Node.cjs.js +1 -0
  607. package/renderers/nodes/inputs/Vector4Node.js +13 -7
  608. package/renderers/nodes/math/MathNode.cjs.js +1 -0
  609. package/renderers/nodes/math/MathNode.js +30 -20
  610. package/renderers/nodes/math/OperatorNode.cjs.js +1 -0
  611. package/renderers/nodes/math/OperatorNode.js +20 -4
  612. package/renderers/nodes/utils/SwitchNode.cjs.js +1 -0
  613. package/renderers/nodes/utils/SwitchNode.js +9 -4
  614. package/renderers/nodes/utils/TimerNode.cjs.js +1 -0
  615. package/renderers/nodes/utils/TimerNode.js +10 -5
  616. package/renderers/webgpu/WebGPU.cjs.js +1 -0
  617. package/renderers/webgpu/WebGPU.js +16 -14
  618. package/renderers/webgpu/WebGPUAttributes.cjs.js +1 -0
  619. package/renderers/webgpu/WebGPUAttributes.js +23 -16
  620. package/renderers/webgpu/WebGPUBackground.cjs.js +1 -0
  621. package/renderers/webgpu/WebGPUBackground.js +30 -13
  622. package/renderers/webgpu/WebGPUBinding.cjs.js +1 -0
  623. package/renderers/webgpu/WebGPUBinding.js +7 -4
  624. package/renderers/webgpu/WebGPUBindings.cjs.js +1 -0
  625. package/renderers/webgpu/WebGPUBindings.js +57 -21
  626. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +1 -0
  627. package/renderers/webgpu/WebGPUComputePipelines.js +25 -14
  628. package/renderers/webgpu/WebGPUGeometries.cjs.js +1 -0
  629. package/renderers/webgpu/WebGPUGeometries.js +15 -5
  630. package/renderers/webgpu/WebGPUInfo.cjs.js +1 -0
  631. package/renderers/webgpu/WebGPUInfo.js +8 -3
  632. package/renderers/webgpu/WebGPUObjects.cjs.js +1 -0
  633. package/renderers/webgpu/WebGPUObjects.js +10 -5
  634. package/renderers/webgpu/WebGPUProperties.cjs.js +1 -0
  635. package/renderers/webgpu/WebGPUProperties.js +11 -5
  636. package/renderers/webgpu/WebGPURenderLists.cjs.js +1 -0
  637. package/renderers/webgpu/WebGPURenderLists.js +36 -20
  638. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +1 -0
  639. package/renderers/webgpu/WebGPURenderPipelines.js +387 -260
  640. package/renderers/webgpu/WebGPURenderer.cjs.js +1 -0
  641. package/renderers/webgpu/WebGPURenderer.js +262 -124
  642. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +1 -0
  643. package/renderers/webgpu/WebGPUSampledTexture.js +31 -18
  644. package/renderers/webgpu/WebGPUSampler.cjs.js +1 -0
  645. package/renderers/webgpu/WebGPUSampler.js +12 -7
  646. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +1 -0
  647. package/renderers/webgpu/WebGPUStorageBuffer.js +12 -7
  648. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +1 -0
  649. package/renderers/webgpu/WebGPUTextureRenderer.js +11 -5
  650. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +1 -0
  651. package/renderers/webgpu/WebGPUTextureUtils.js +40 -29
  652. package/renderers/webgpu/WebGPUTextures.cjs.js +1 -0
  653. package/renderers/webgpu/WebGPUTextures.js +333 -186
  654. package/renderers/webgpu/WebGPUUniform.cjs.js +1 -0
  655. package/renderers/webgpu/WebGPUUniform.js +51 -25
  656. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +1 -0
  657. package/renderers/webgpu/WebGPUUniformsGroup.js +72 -32
  658. package/renderers/webgpu/constants.cjs.js +1 -0
  659. package/renderers/webgpu/constants.js +181 -190
  660. package/renderers/webgpu/nodes/ShaderLib.cjs.js +1 -0
  661. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  662. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +1 -0
  663. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +124 -53
  664. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +1 -0
  665. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +31 -17
  666. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +1 -0
  667. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +9 -8
  668. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +1 -0
  669. package/renderers/webgpu/nodes/WebGPUNodes.js +45 -7
  670. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -0
  671. package/shaders/ACESFilmicToneMappingShader.js +24 -44
  672. package/shaders/AfterimageShader.cjs.js +1 -0
  673. package/shaders/AfterimageShader.js +18 -28
  674. package/shaders/BasicShader.cjs.js +1 -0
  675. package/shaders/BasicShader.js +7 -9
  676. package/shaders/BleachBypassShader.cjs.js +1 -0
  677. package/shaders/BleachBypassShader.js +15 -31
  678. package/shaders/BlendShader.cjs.js +1 -0
  679. package/shaders/BlendShader.js +19 -26
  680. package/shaders/BokehShader.cjs.js +1 -0
  681. package/shaders/BokehShader.js +36 -98
  682. package/shaders/BokehShader2.cjs.js +1 -0
  683. package/shaders/BokehShader2.js +90 -261
  684. package/shaders/BrightnessContrastShader.cjs.js +1 -0
  685. package/shaders/BrightnessContrastShader.js +19 -28
  686. package/shaders/ColorCorrectionShader.cjs.js +1 -0
  687. package/shaders/ColorCorrectionShader.js +22 -26
  688. package/shaders/ColorifyShader.cjs.js +1 -0
  689. package/shaders/ColorifyShader.js +16 -24
  690. package/shaders/ConvolutionShader.cjs.js +1 -0
  691. package/shaders/ConvolutionShader.js +36 -40
  692. package/shaders/CopyShader.cjs.js +1 -0
  693. package/shaders/CopyShader.js +13 -21
  694. package/shaders/DOFMipMapShader.cjs.js +1 -0
  695. package/shaders/DOFMipMapShader.js +21 -28
  696. package/shaders/DepthLimitedBlurShader.cjs.js +1 -0
  697. package/shaders/DepthLimitedBlurShader.js +40 -85
  698. package/shaders/DigitalGlitch.cjs.js +1 -0
  699. package/shaders/DigitalGlitch.js +46 -74
  700. package/shaders/DotScreenShader.cjs.js +1 -0
  701. package/shaders/DotScreenShader.js +27 -35
  702. package/shaders/FXAAShader.cjs.js +1 -0
  703. package/shaders/FXAAShader.js +19 -1094
  704. package/shaders/FilmShader.cjs.js +1 -0
  705. package/shaders/FilmShader.js +52 -38
  706. package/shaders/FocusShader.cjs.js +1 -0
  707. package/shaders/FocusShader.js +24 -51
  708. package/shaders/FreiChenShader.cjs.js +1 -0
  709. package/shaders/FreiChenShader.js +24 -57
  710. package/shaders/FresnelShader.cjs.js +1 -0
  711. package/shaders/FresnelShader.js +22 -43
  712. package/shaders/GammaCorrectionShader.cjs.js +1 -0
  713. package/shaders/GammaCorrectionShader.js +11 -19
  714. package/shaders/GodRaysShader.cjs.js +1 -0
  715. package/shaders/GodRaysShader.js +94 -103
  716. package/shaders/HalftoneShader.cjs.js +1 -0
  717. package/shaders/HalftoneShader.js +65 -208
  718. package/shaders/HorizontalBlurShader.cjs.js +1 -0
  719. package/shaders/HorizontalBlurShader.js +23 -7
  720. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -0
  721. package/shaders/HorizontalTiltShiftShader.js +21 -33
  722. package/shaders/HueSaturationShader.cjs.js +1 -0
  723. package/shaders/HueSaturationShader.js +21 -37
  724. package/shaders/KaleidoShader.cjs.js +1 -0
  725. package/shaders/KaleidoShader.js +22 -30
  726. package/shaders/LuminosityHighPassShader.cjs.js +1 -0
  727. package/shaders/LuminosityHighPassShader.js +27 -33
  728. package/shaders/LuminosityShader.cjs.js +1 -0
  729. package/shaders/LuminosityShader.js +11 -21
  730. package/shaders/MirrorShader.cjs.js +1 -0
  731. package/shaders/MirrorShader.js +16 -31
  732. package/shaders/NormalMapShader.cjs.js +1 -0
  733. package/shaders/NormalMapShader.js +23 -27
  734. package/shaders/ParallaxShader.cjs.js +1 -0
  735. package/shaders/ParallaxShader.js +48 -107
  736. package/shaders/PixelShader.cjs.js +1 -0
  737. package/shaders/PixelShader.js +16 -24
  738. package/shaders/RGBShiftShader.cjs.js +1 -0
  739. package/shaders/RGBShiftShader.js +22 -26
  740. package/shaders/SAOShader.cjs.js +1 -0
  741. package/shaders/SAOShader.js +48 -132
  742. package/shaders/SMAAShader.cjs.js +1 -0
  743. package/shaders/SMAAShader.js +135 -256
  744. package/shaders/SSAOShader.cjs.js +1 -0
  745. package/shaders/SSAOShader.js +81 -153
  746. package/shaders/SSRShader.cjs.js +1 -0
  747. package/shaders/SSRShader.js +87 -32
  748. package/shaders/SepiaShader.cjs.js +1 -0
  749. package/shaders/SepiaShader.js +15 -25
  750. package/shaders/SobelOperatorShader.cjs.js +1 -0
  751. package/shaders/SobelOperatorShader.js +29 -40
  752. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -0
  753. package/shaders/SubsurfaceScatteringShader.js +39 -53
  754. package/shaders/TechnicolorShader.cjs.js +1 -0
  755. package/shaders/TechnicolorShader.js +13 -20
  756. package/shaders/ToneMapShader.cjs.js +1 -0
  757. package/shaders/ToneMapShader.js +28 -44
  758. package/shaders/ToonShader.cjs.js +1 -0
  759. package/shaders/ToonShader.js +96 -172
  760. package/shaders/TriangleBlurShader.cjs.js +1 -0
  761. package/shaders/TriangleBlurShader.js +23 -32
  762. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -0
  763. package/shaders/UnpackDepthRGBAShader.js +14 -22
  764. package/shaders/VerticalBlurShader.cjs.js +1 -0
  765. package/shaders/VerticalBlurShader.js +23 -7
  766. package/shaders/VerticalTiltShiftShader.cjs.js +1 -0
  767. package/shaders/VerticalTiltShiftShader.js +21 -33
  768. package/shaders/VignetteShader.cjs.js +1 -0
  769. package/shaders/VignetteShader.js +28 -24
  770. package/shaders/VolumeShader.cjs.js +1 -0
  771. package/shaders/VolumeShader.js +77 -174
  772. package/shaders/WaterRefractionShader.cjs.js +1 -0
  773. package/shaders/WaterRefractionShader.js +6 -38
  774. package/shaders/types.cjs.js +1 -0
  775. package/shaders/types.js +1 -1
  776. package/textures/FlakesTexture.cjs.js +1 -0
  777. package/textures/FlakesTexture.js +10 -8
  778. package/types/helpers.cjs.js +1 -0
  779. package/types/helpers.js +2 -3
  780. package/types/shared.cjs.js +1 -0
  781. package/types/shared.js +1 -0
  782. package/types/utils.cjs.js +1 -0
  783. package/types/utils.js +1 -0
  784. package/utils/BufferGeometryUtils.cjs.js +1 -0
  785. package/utils/BufferGeometryUtils.js +325 -251
  786. package/utils/GeometryCompressionUtils.cjs.js +1 -0
  787. package/utils/GeometryCompressionUtils.js +239 -241
  788. package/utils/GeometryUtils.cjs.js +1 -0
  789. package/utils/GeometryUtils.js +94 -41
  790. package/utils/LDrawUtils.cjs.js +1 -0
  791. package/utils/LDrawUtils.d.ts +5 -0
  792. package/utils/LDrawUtils.js +144 -0
  793. package/utils/RoughnessMipmapper.cjs.js +1 -0
  794. package/utils/RoughnessMipmapper.js +82 -38
  795. package/utils/SceneUtils.cjs.js +1 -0
  796. package/utils/SceneUtils.js +20 -15
  797. package/utils/ShadowMapViewer.cjs.js +1 -0
  798. package/utils/ShadowMapViewer.js +95 -49
  799. package/utils/SkeletonUtils.cjs.js +1 -0
  800. package/utils/SkeletonUtils.js +165 -74
  801. package/utils/UVsDebug.cjs.js +1 -0
  802. package/utils/UVsDebug.js +62 -32
  803. package/utils/WorkerPool.cjs.js +1 -0
  804. package/utils/WorkerPool.js +33 -13
  805. package/webxr/ARButton.cjs.js +1 -0
  806. package/webxr/ARButton.js +98 -72
  807. package/webxr/OculusHandModel.cjs.js +1 -0
  808. package/webxr/OculusHandModel.js +37 -18
  809. package/webxr/OculusHandPointerModel.cjs.js +1 -0
  810. package/webxr/OculusHandPointerModel.js +80 -58
  811. package/webxr/Text2D.cjs.js +1 -0
  812. package/webxr/Text2D.js +19 -37
  813. package/webxr/VRButton.cjs.js +1 -0
  814. package/webxr/VRButton.js +90 -59
  815. package/webxr/XRControllerModelFactory.cjs.js +1 -0
  816. package/webxr/XRControllerModelFactory.js +116 -58
  817. package/webxr/XREstimatedLight.cjs.js +1 -0
  818. package/webxr/XREstimatedLight.js +66 -39
  819. package/webxr/XRHandMeshModel.cjs.js +1 -0
  820. package/webxr/XRHandMeshModel.js +29 -40
  821. package/webxr/XRHandModelFactory.cjs.js +1 -0
  822. package/webxr/XRHandModelFactory.js +31 -28
  823. package/webxr/XRHandPrimitiveModel.cjs.js +1 -0
  824. package/webxr/XRHandPrimitiveModel.js +27 -41
  825. package/animation/AnimationClipCreator.mjs +0 -57
  826. package/animation/CCDIKSolver.mjs +0 -223
  827. package/animation/MMDAnimationHelper.mjs +0 -514
  828. package/animation/MMDPhysics.mjs +0 -769
  829. package/cameras/CinematicCamera.mjs +0 -129
  830. package/controls/ArcballControls.mjs +0 -1737
  831. package/controls/DeviceOrientationControls.mjs +0 -74
  832. package/controls/DragControls.mjs +0 -172
  833. package/controls/FirstPersonControls.mjs +0 -220
  834. package/controls/FlyControls.mjs +0 -239
  835. package/controls/OrbitControls.mjs +0 -731
  836. package/controls/PointerLockControls.mjs +0 -88
  837. package/controls/TrackballControls.mjs +0 -481
  838. package/controls/TransformControls.mjs +0 -1068
  839. package/controls/experimental/CameraControls.mjs +0 -673
  840. package/csm/CSM.mjs +0 -244
  841. package/csm/CSMFrustum.mjs +0 -75
  842. package/csm/CSMHelper.mjs +0 -114
  843. package/csm/CSMShader.mjs +0 -251
  844. package/curves/CurveExtras.mjs +0 -224
  845. package/curves/NURBSCurve.mjs +0 -35
  846. package/curves/NURBSSurface.mjs +0 -28
  847. package/curves/NURBSUtils.mjs +0 -226
  848. package/deprecated/Geometry.mjs +0 -966
  849. package/effects/AnaglyphEffect.mjs +0 -120
  850. package/effects/AsciiEffect.mjs +0 -173
  851. package/effects/OutlineEffect.mjs +0 -295
  852. package/effects/ParallaxBarrierEffect.mjs +0 -64
  853. package/effects/PeppersGhostEffect.mjs +0 -85
  854. package/effects/StereoEffect.mjs +0 -32
  855. package/environments/RoomEnvironment.mjs +0 -78
  856. package/exporters/ColladaExporter.mjs +0 -299
  857. package/exporters/DRACOExporter.mjs +0 -132
  858. package/exporters/GLTFExporter.mjs +0 -1381
  859. package/exporters/MMDExporter.mjs +0 -102
  860. package/exporters/OBJExporter.mjs +0 -166
  861. package/exporters/PLYExporter.mjs +0 -278
  862. package/exporters/STLExporter.mjs +0 -129
  863. package/exporters/USDZExporter.mjs +0 -328
  864. package/geometries/BoxLineGeometry.mjs +0 -45
  865. package/geometries/ConvexGeometry.mjs +0 -29
  866. package/geometries/DecalGeometry.mjs +0 -184
  867. package/geometries/LightningStrike.mjs +0 -547
  868. package/geometries/ParametricGeometries.mjs +0 -129
  869. package/geometries/ParametricGeometry.mjs +0 -63
  870. package/geometries/RoundedBoxGeometry.mjs +0 -91
  871. package/geometries/TeapotGeometry.mjs +0 -1557
  872. package/geometries/TextGeometry.mjs +0 -23
  873. package/helpers/LightProbeHelper.mjs +0 -72
  874. package/helpers/PositionalAudioHelper.mjs +0 -68
  875. package/helpers/RectAreaLightHelper.mjs +0 -44
  876. package/helpers/VertexNormalsHelper.mjs +0 -54
  877. package/helpers/VertexTangentsHelper.mjs +0 -45
  878. package/index.mjs +0 -969
  879. package/interactive/SelectionBox.mjs +0 -137
  880. package/interactive/SelectionHelper.mjs +0 -54
  881. package/libs/MeshoptDecoder.mjs +0 -210
  882. package/libs/MotionControllers.mjs +0 -261
  883. package/lights/LightProbeGenerator.mjs +0 -145
  884. package/lights/RectAreaLightUniformsLib.mjs +0 -32842
  885. package/lines/Line2.mjs +0 -13
  886. package/lines/LineGeometry.mjs +0 -44
  887. package/lines/LineMaterial.mjs +0 -539
  888. package/lines/LineSegments2.mjs +0 -202
  889. package/lines/LineSegmentsGeometry.mjs +0 -124
  890. package/lines/Wireframe.mjs +0 -31
  891. package/lines/WireframeGeometry2.mjs +0 -13
  892. package/loaders/3DMLoader.mjs +0 -802
  893. package/loaders/3MFLoader.mjs +0 -837
  894. package/loaders/AMFLoader.mjs +0 -284
  895. package/loaders/AssimpLoader.mjs +0 -1396
  896. package/loaders/BVHLoader.mjs +0 -207
  897. package/loaders/BasisTextureLoader.mjs +0 -474
  898. package/loaders/ColladaLoader.mjs +0 -2403
  899. package/loaders/DDSLoader.mjs +0 -148
  900. package/loaders/DRACOLoader.mjs +0 -340
  901. package/loaders/EXRLoader.mjs +0 -1351
  902. package/loaders/FBXLoader.mjs +0 -2362
  903. package/loaders/FontLoader.mjs +0 -111
  904. package/loaders/GCodeLoader.mjs +0 -141
  905. package/loaders/GLTFLoader.mjs +0 -2316
  906. package/loaders/HDRCubeTextureLoader.mjs +0 -77
  907. package/loaders/KMZLoader.mjs +0 -75
  908. package/loaders/KTX2Loader.mjs +0 -427
  909. package/loaders/KTXLoader.mjs +0 -87
  910. package/loaders/LDrawLoader.mjs +0 -1409
  911. package/loaders/LUT3dlLoader.mjs +0 -100
  912. package/loaders/LUTCubeLoader.mjs +0 -104
  913. package/loaders/LWOLoader.mjs +0 -625
  914. package/loaders/LottieLoader.mjs +0 -47
  915. package/loaders/MD2Loader.mjs +0 -359
  916. package/loaders/MDDLoader.mjs +0 -58
  917. package/loaders/MMDLoader.mjs +0 -998
  918. package/loaders/MTLLoader.mjs +0 -280
  919. package/loaders/NRRDLoader.mjs +0 -401
  920. package/loaders/NodeMaterialLoader.mjs +0 -146
  921. package/loaders/OBJLoader.mjs +0 -487
  922. package/loaders/PCDLoader.mjs +0 -248
  923. package/loaders/PDBLoader.mjs +0 -246
  924. package/loaders/PLYLoader.mjs +0 -317
  925. package/loaders/PRWMLoader.mjs +0 -160
  926. package/loaders/PVRLoader.mjs +0 -131
  927. package/loaders/RGBELoader.mjs +0 -244
  928. package/loaders/RGBMLoader.mjs +0 -998
  929. package/loaders/STLLoader.mjs +0 -190
  930. package/loaders/SVGLoader.mjs +0 -1709
  931. package/loaders/TDSLoader.mjs +0 -480
  932. package/loaders/TGALoader.mjs +0 -285
  933. package/loaders/TTFLoader.mjs +0 -131
  934. package/loaders/TiltLoader.mjs +0 -373
  935. package/loaders/VOXLoader.mjs +0 -431
  936. package/loaders/VRMLLoader.mjs +0 -2093
  937. package/loaders/VRMLoader.mjs +0 -38
  938. package/loaders/VTKLoader.mjs +0 -646
  939. package/loaders/XLoader.mjs +0 -1258
  940. package/loaders/XYZLoader.mjs +0 -60
  941. package/loaders/lwo/IFFParser.mjs +0 -697
  942. package/loaders/lwo/LWO2Parser.mjs +0 -327
  943. package/loaders/lwo/LWO3Parser.mjs +0 -298
  944. package/math/Capsule.mjs +0 -100
  945. package/math/ColorConverter.mjs +0 -51
  946. package/math/ConvexHull.mjs +0 -574
  947. package/math/ImprovedNoise.mjs +0 -302
  948. package/math/Lut.mjs +0 -135
  949. package/math/MeshSurfaceSampler.mjs +0 -107
  950. package/math/OBB.mjs +0 -235
  951. package/math/Octree.mjs +0 -278
  952. package/math/SimplexNoise.mjs +0 -425
  953. package/misc/ConvexObjectBreaker.mjs +0 -292
  954. package/misc/GPUComputationRenderer.mjs +0 -171
  955. package/misc/Gyroscope.mjs +0 -35
  956. package/misc/MD2Character.mjs +0 -162
  957. package/misc/MD2CharacterComplex.mjs +0 -328
  958. package/misc/MorphAnimMesh.mjs +0 -40
  959. package/misc/MorphBlendMesh.mjs +0 -179
  960. package/misc/ProgressiveLightmap.mjs +0 -166
  961. package/misc/RollerCoaster.mjs +0 -346
  962. package/misc/TubePainter.mjs +0 -123
  963. package/misc/Volume.mjs +0 -244
  964. package/misc/VolumeSlice.mjs +0 -106
  965. package/misc/WebGL.mjs +0 -74
  966. package/modifiers/CurveModifier.mjs +0 -182
  967. package/modifiers/EdgeSplitModifier.mjs +0 -162
  968. package/modifiers/SimplifyModifier.mjs +0 -282
  969. package/modifiers/TessellateModifier.mjs +0 -206
  970. package/nodes/Nodes.mjs +0 -400
  971. package/nodes/ShaderNode.mjs +0 -408
  972. package/nodes/accessors/BufferNode.mjs +0 -15
  973. package/nodes/accessors/CameraNode.mjs +0 -44
  974. package/nodes/accessors/CubeTextureNode.mjs +0 -42
  975. package/nodes/accessors/MaterialNode.mjs +0 -71
  976. package/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  977. package/nodes/accessors/ModelNode.mjs +0 -9
  978. package/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  979. package/nodes/accessors/NormalNode.mjs +0 -62
  980. package/nodes/accessors/Object3DNode.mjs +0 -76
  981. package/nodes/accessors/PointUVNode.mjs +0 -13
  982. package/nodes/accessors/PositionNode.mjs +0 -65
  983. package/nodes/accessors/ReferenceNode.mjs +0 -37
  984. package/nodes/accessors/ReflectNode.mjs +0 -43
  985. package/nodes/accessors/SkinningNode.mjs +0 -58
  986. package/nodes/accessors/TextureNode.mjs +0 -54
  987. package/nodes/accessors/UVNode.mjs +0 -23
  988. package/nodes/core/ArrayUniformNode.mjs +0 -14
  989. package/nodes/core/AttributeNode.mjs +0 -30
  990. package/nodes/core/BypassNode.mjs +0 -22
  991. package/nodes/core/CodeNode.mjs +0 -28
  992. package/nodes/core/ConstNode.mjs +0 -14
  993. package/nodes/core/ContextNode.mjs +0 -22
  994. package/nodes/core/ExpressionNode.mjs +0 -19
  995. package/nodes/core/FunctionCallNode.mjs +0 -37
  996. package/nodes/core/FunctionNode.mjs +0 -56
  997. package/nodes/core/InputNode.mjs +0 -38
  998. package/nodes/core/Node.mjs +0 -139
  999. package/nodes/core/NodeAttribute.mjs +0 -10
  1000. package/nodes/core/NodeBuilder.mjs +0 -395
  1001. package/nodes/core/NodeCode.mjs +0 -11
  1002. package/nodes/core/NodeFrame.mjs +0 -35
  1003. package/nodes/core/NodeFunctionInput.mjs +0 -13
  1004. package/nodes/core/NodeKeywords.mjs +0 -44
  1005. package/nodes/core/NodeUniform.mjs +0 -18
  1006. package/nodes/core/NodeUtils.mjs +0 -57
  1007. package/nodes/core/NodeVar.mjs +0 -10
  1008. package/nodes/core/NodeVary.mjs +0 -10
  1009. package/nodes/core/PropertyNode.mjs +0 -21
  1010. package/nodes/core/TempNode.mjs +0 -25
  1011. package/nodes/core/UniformNode.mjs +0 -23
  1012. package/nodes/core/VarNode.mjs +0 -31
  1013. package/nodes/core/VaryNode.mjs +0 -30
  1014. package/nodes/core/constants.mjs +0 -24
  1015. package/nodes/display/ColorSpaceNode.mjs +0 -63
  1016. package/nodes/display/NormalMapNode.mjs +0 -54
  1017. package/nodes/fog/FogNode.mjs +0 -15
  1018. package/nodes/fog/FogRangeNode.mjs +0 -17
  1019. package/nodes/functions/BSDFs.mjs +0 -64
  1020. package/nodes/lights/LightContextNode.mjs +0 -35
  1021. package/nodes/lights/LightNode.mjs +0 -58
  1022. package/nodes/lights/LightsNode.mjs +0 -59
  1023. package/nodes/loaders/NodeLoader.mjs +0 -66
  1024. package/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  1025. package/nodes/loaders/NodeObjectLoader.mjs +0 -40
  1026. package/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  1027. package/nodes/materials/Materials.mjs +0 -28
  1028. package/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  1029. package/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  1030. package/nodes/materials/NodeMaterial.mjs +0 -64
  1031. package/nodes/materials/PointsNodeMaterial.mjs +0 -30
  1032. package/nodes/math/CondNode.mjs +0 -38
  1033. package/nodes/math/MathNode.mjs +0 -163
  1034. package/nodes/math/OperatorNode.mjs +0 -103
  1035. package/nodes/procedural/CheckerNode.mjs +0 -21
  1036. package/nodes/utils/ArrayElementNode.mjs +0 -19
  1037. package/nodes/utils/ConvertNode.mjs +0 -25
  1038. package/nodes/utils/JoinNode.mjs +0 -26
  1039. package/nodes/utils/MatcapUVNode.mjs +0 -16
  1040. package/nodes/utils/OscNode.mjs +0 -50
  1041. package/nodes/utils/SplitNode.mjs +0 -45
  1042. package/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  1043. package/nodes/utils/TimerNode.mjs +0 -44
  1044. package/objects/GroundProjectedEnv.mjs +0 -130
  1045. package/objects/Lensflare.mjs +0 -262
  1046. package/objects/LightningStorm.mjs +0 -110
  1047. package/objects/MarchingCubes.mjs +0 -457
  1048. package/objects/Reflector.mjs +0 -166
  1049. package/objects/ReflectorForSSRPass.mjs +0 -247
  1050. package/objects/ReflectorRTT.mjs +0 -10
  1051. package/objects/Refractor.mjs +0 -178
  1052. package/objects/ShadowMesh.mjs +0 -41
  1053. package/objects/Sky.mjs +0 -124
  1054. package/objects/Water.mjs +0 -235
  1055. package/objects/Water2.mjs +0 -252
  1056. package/offscreen/jank.mjs +0 -27
  1057. package/offscreen/offscreen.mjs +0 -5
  1058. package/offscreen/scene.mjs +0 -52
  1059. package/physics/AmmoPhysics.mjs +0 -165
  1060. package/postprocessing/AdaptiveToneMappingPass.mjs +0 -221
  1061. package/postprocessing/AfterimagePass.mjs +0 -55
  1062. package/postprocessing/BloomPass.mjs +0 -90
  1063. package/postprocessing/BokehPass.mjs +0 -76
  1064. package/postprocessing/ClearPass.mjs +0 -27
  1065. package/postprocessing/CubeTexturePass.mjs +0 -49
  1066. package/postprocessing/DotScreenPass.mjs +0 -40
  1067. package/postprocessing/EffectComposer.mjs +0 -139
  1068. package/postprocessing/FilmPass.mjs +0 -42
  1069. package/postprocessing/GlitchPass.mjs +0 -75
  1070. package/postprocessing/HalftonePass.mjs +0 -44
  1071. package/postprocessing/LUTPass.mjs +0 -136
  1072. package/postprocessing/MaskPass.mjs +0 -60
  1073. package/postprocessing/OutlinePass.mjs +0 -438
  1074. package/postprocessing/Pass.mjs +0 -37
  1075. package/postprocessing/RenderPass.mjs +0 -48
  1076. package/postprocessing/RenderPixelatedPass.mjs +0 -199
  1077. package/postprocessing/SAOPass.mjs +0 -282
  1078. package/postprocessing/SMAAPass.mjs +0 -112
  1079. package/postprocessing/SSAARenderPass.mjs +0 -170
  1080. package/postprocessing/SSAOPass.mjs +0 -265
  1081. package/postprocessing/SSRPass.mjs +0 -432
  1082. package/postprocessing/SavePass.mjs +0 -37
  1083. package/postprocessing/ShaderPass.mjs +0 -39
  1084. package/postprocessing/TAARenderPass.mjs +0 -88
  1085. package/postprocessing/TexturePass.mjs +0 -39
  1086. package/postprocessing/UnrealBloomPass.mjs +0 -220
  1087. package/renderers/CSS2DRenderer.mjs +0 -112
  1088. package/renderers/CSS3DRenderer.mjs +0 -133
  1089. package/renderers/Projector.mjs +0 -511
  1090. package/renderers/SVGRenderer.mjs +0 -306
  1091. package/renderers/nodes/accessors/CameraNode.mjs +0 -63
  1092. package/renderers/nodes/accessors/ModelNode.mjs +0 -61
  1093. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  1094. package/renderers/nodes/accessors/NormalNode.mjs +0 -61
  1095. package/renderers/nodes/accessors/PositionNode.mjs +0 -30
  1096. package/renderers/nodes/accessors/UVNode.mjs +0 -13
  1097. package/renderers/nodes/core/AttributeNode.mjs +0 -35
  1098. package/renderers/nodes/core/InputNode.mjs +0 -31
  1099. package/renderers/nodes/core/Node.mjs +0 -34
  1100. package/renderers/nodes/core/NodeAttribute.mjs +0 -10
  1101. package/renderers/nodes/core/NodeBuilder.mjs +0 -243
  1102. package/renderers/nodes/core/NodeFrame.mjs +0 -35
  1103. package/renderers/nodes/core/NodeSlot.mjs +0 -10
  1104. package/renderers/nodes/core/NodeUniform.mjs +0 -18
  1105. package/renderers/nodes/core/NodeVary.mjs +0 -11
  1106. package/renderers/nodes/core/VaryNode.mjs +0 -22
  1107. package/renderers/nodes/core/constants.mjs +0 -22
  1108. package/renderers/nodes/inputs/ColorNode.mjs +0 -11
  1109. package/renderers/nodes/inputs/FloatNode.mjs +0 -11
  1110. package/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  1111. package/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  1112. package/renderers/nodes/inputs/TextureNode.mjs +0 -20
  1113. package/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  1114. package/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  1115. package/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  1116. package/renderers/nodes/math/MathNode.mjs +0 -55
  1117. package/renderers/nodes/math/OperatorNode.mjs +0 -42
  1118. package/renderers/nodes/utils/SwitchNode.mjs +0 -20
  1119. package/renderers/nodes/utils/TimerNode.mjs +0 -14
  1120. package/renderers/webgpu/WebGPU.mjs +0 -24
  1121. package/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  1122. package/renderers/webgpu/WebGPUBackground.mjs +0 -61
  1123. package/renderers/webgpu/WebGPUBinding.mjs +0 -14
  1124. package/renderers/webgpu/WebGPUBindings.mjs +0 -155
  1125. package/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  1126. package/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  1127. package/renderers/webgpu/WebGPUInfo.mjs +0 -46
  1128. package/renderers/webgpu/WebGPUObjects.mjs +0 -25
  1129. package/renderers/webgpu/WebGPUProperties.mjs +0 -22
  1130. package/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  1131. package/renderers/webgpu/WebGPURenderPipelines.mjs +0 -545
  1132. package/renderers/webgpu/WebGPURenderer.mjs +0 -574
  1133. package/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  1134. package/renderers/webgpu/WebGPUSampler.mjs +0 -15
  1135. package/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  1136. package/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  1137. package/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  1138. package/renderers/webgpu/WebGPUTextures.mjs +0 -484
  1139. package/renderers/webgpu/WebGPUUniform.mjs +0 -81
  1140. package/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  1141. package/renderers/webgpu/constants.mjs +0 -230
  1142. package/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  1143. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  1144. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  1145. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  1146. package/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
  1147. package/shaders/ACESFilmicToneMappingShader.mjs +0 -48
  1148. package/shaders/AfterimageShader.mjs +0 -32
  1149. package/shaders/BasicShader.mjs +0 -12
  1150. package/shaders/BleachBypassShader.mjs +0 -35
  1151. package/shaders/BlendShader.mjs +0 -30
  1152. package/shaders/BokehShader.mjs +0 -106
  1153. package/shaders/BokehShader2.mjs +0 -269
  1154. package/shaders/BrightnessContrastShader.mjs +0 -32
  1155. package/shaders/ColorCorrectionShader.mjs +0 -30
  1156. package/shaders/ColorifyShader.mjs +0 -28
  1157. package/shaders/ConvolutionShader.mjs +0 -55
  1158. package/shaders/CopyShader.mjs +0 -25
  1159. package/shaders/DOFMipMapShader.mjs +0 -32
  1160. package/shaders/DepthLimitedBlurShader.mjs +0 -114
  1161. package/shaders/DigitalGlitch.mjs +0 -78
  1162. package/shaders/DotScreenShader.mjs +0 -39
  1163. package/shaders/FXAAShader.mjs +0 -1098
  1164. package/shaders/FilmShader.mjs +0 -42
  1165. package/shaders/FocusShader.mjs +0 -55
  1166. package/shaders/FreiChenShader.mjs +0 -61
  1167. package/shaders/FresnelShader.mjs +0 -47
  1168. package/shaders/GammaCorrectionShader.mjs +0 -23
  1169. package/shaders/GodRaysShader.mjs +0 -146
  1170. package/shaders/HalftoneShader.mjs +0 -212
  1171. package/shaders/HorizontalBlurShader.mjs +0 -43
  1172. package/shaders/HorizontalTiltShiftShader.mjs +0 -37
  1173. package/shaders/HueSaturationShader.mjs +0 -41
  1174. package/shaders/KaleidoShader.mjs +0 -34
  1175. package/shaders/LuminosityHighPassShader.mjs +0 -37
  1176. package/shaders/LuminosityShader.mjs +0 -25
  1177. package/shaders/MirrorShader.mjs +0 -35
  1178. package/shaders/NormalMapShader.mjs +0 -31
  1179. package/shaders/ParallaxShader.mjs +0 -113
  1180. package/shaders/PixelShader.mjs +0 -28
  1181. package/shaders/RGBShiftShader.mjs +0 -30
  1182. package/shaders/SAOShader.mjs +0 -144
  1183. package/shaders/SMAAShader.mjs +0 -272
  1184. package/shaders/SSAOShader.mjs +0 -172
  1185. package/shaders/SSRShader.mjs +0 -324
  1186. package/shaders/SepiaShader.mjs +0 -29
  1187. package/shaders/SobelOperatorShader.mjs +0 -44
  1188. package/shaders/SubsurfaceScatteringShader.mjs +0 -59
  1189. package/shaders/TechnicolorShader.mjs +0 -24
  1190. package/shaders/ToneMapShader.mjs +0 -48
  1191. package/shaders/ToonShader.mjs +0 -188
  1192. package/shaders/TriangleBlurShader.mjs +0 -36
  1193. package/shaders/UnpackDepthRGBAShader.mjs +0 -26
  1194. package/shaders/VerticalBlurShader.mjs +0 -44
  1195. package/shaders/VerticalTiltShiftShader.mjs +0 -37
  1196. package/shaders/VignetteShader.mjs +0 -28
  1197. package/shaders/VolumeShader.mjs +0 -178
  1198. package/shaders/WaterRefractionShader.mjs +0 -57
  1199. package/textures/FlakesTexture.mjs +0 -30
  1200. package/types/helpers.mjs +0 -4
  1201. package/utils/BufferGeometryUtils.mjs +0 -570
  1202. package/utils/GeometryCompressionUtils.mjs +0 -547
  1203. package/utils/GeometryUtils.mjs +0 -108
  1204. package/utils/RoughnessMipmapper.mjs +0 -213
  1205. package/utils/SceneUtils.mjs +0 -36
  1206. package/utils/ShadowMapViewer.mjs +0 -114
  1207. package/utils/SkeletonUtils.mjs +0 -292
  1208. package/utils/UVsDebug.mjs +0 -85
  1209. package/utils/WorkerPool.mjs +0 -62
  1210. package/webxr/ARButton.mjs +0 -119
  1211. package/webxr/OculusHandModel.mjs +0 -71
  1212. package/webxr/OculusHandPointerModel.mjs +0 -207
  1213. package/webxr/Text2D.mjs +0 -31
  1214. package/webxr/VRButton.mjs +0 -105
  1215. package/webxr/XRControllerModelFactory.mjs +0 -146
  1216. package/webxr/XREstimatedLight.mjs +0 -126
  1217. package/webxr/XRHandMeshModel.mjs +0 -73
  1218. package/webxr/XRHandModelFactory.mjs +0 -61
  1219. package/webxr/XRHandPrimitiveModel.mjs +0 -68
@@ -1,16 +1,18 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const THREE = require("three");
4
- const _m1 = new THREE.Matrix4();
5
- const _obj = new THREE.Object3D();
6
- const _offset = new THREE.Vector3();
7
- class Geometry extends THREE.EventDispatcher {
1
+ import { Matrix4, Object3D, Vector3, EventDispatcher, MathUtils, Matrix3, Color, Box3, Sphere, BufferGeometry, BufferAttribute, Float32BufferAttribute, Vector2 } from 'three';
2
+
3
+ const _m1 = new Matrix4();
4
+
5
+ const _obj = new Object3D();
6
+
7
+ const _offset = new Vector3();
8
+
9
+ class Geometry extends EventDispatcher {
8
10
  constructor() {
9
11
  super();
10
12
  this.isGeometry = true;
11
- this.uuid = THREE.MathUtils.generateUUID();
12
- this.name = "";
13
- this.type = "Geometry";
13
+ this.uuid = MathUtils.generateUUID();
14
+ this.name = '';
15
+ this.type = 'Geometry';
14
16
  this.vertices = [];
15
17
  this.colors = [];
16
18
  this.faces = [];
@@ -21,7 +23,8 @@ class Geometry extends THREE.EventDispatcher {
21
23
  this.skinIndices = [];
22
24
  this.lineDistances = [];
23
25
  this.boundingBox = null;
24
- this.boundingSphere = null;
26
+ this.boundingSphere = null; // update flags
27
+
25
28
  this.elementsNeedUpdate = false;
26
29
  this.verticesNeedUpdate = false;
27
30
  this.uvsNeedUpdate = false;
@@ -30,113 +33,136 @@ class Geometry extends THREE.EventDispatcher {
30
33
  this.lineDistancesNeedUpdate = false;
31
34
  this.groupsNeedUpdate = false;
32
35
  }
36
+
33
37
  applyMatrix4(matrix) {
34
- const normalMatrix = new THREE.Matrix3().getNormalMatrix(matrix);
38
+ const normalMatrix = new Matrix3().getNormalMatrix(matrix);
39
+
35
40
  for (let i = 0, il = this.vertices.length; i < il; i++) {
36
41
  const vertex = this.vertices[i];
37
42
  vertex.applyMatrix4(matrix);
38
43
  }
44
+
39
45
  for (let i = 0, il = this.faces.length; i < il; i++) {
40
46
  const face = this.faces[i];
41
47
  face.normal.applyMatrix3(normalMatrix).normalize();
48
+
42
49
  for (let j = 0, jl = face.vertexNormals.length; j < jl; j++) {
43
50
  face.vertexNormals[j].applyMatrix3(normalMatrix).normalize();
44
51
  }
45
52
  }
53
+
46
54
  if (this.boundingBox !== null) {
47
55
  this.computeBoundingBox();
48
56
  }
57
+
49
58
  if (this.boundingSphere !== null) {
50
59
  this.computeBoundingSphere();
51
60
  }
61
+
52
62
  this.verticesNeedUpdate = true;
53
63
  this.normalsNeedUpdate = true;
54
64
  return this;
55
65
  }
66
+
56
67
  rotateX(angle) {
68
+ // rotate geometry around world x-axis
57
69
  _m1.makeRotationX(angle);
70
+
58
71
  this.applyMatrix4(_m1);
59
72
  return this;
60
73
  }
74
+
61
75
  rotateY(angle) {
76
+ // rotate geometry around world y-axis
62
77
  _m1.makeRotationY(angle);
78
+
63
79
  this.applyMatrix4(_m1);
64
80
  return this;
65
81
  }
82
+
66
83
  rotateZ(angle) {
84
+ // rotate geometry around world z-axis
67
85
  _m1.makeRotationZ(angle);
86
+
68
87
  this.applyMatrix4(_m1);
69
88
  return this;
70
89
  }
90
+
71
91
  translate(x, y, z) {
92
+ // translate geometry
72
93
  _m1.makeTranslation(x, y, z);
94
+
73
95
  this.applyMatrix4(_m1);
74
96
  return this;
75
97
  }
98
+
76
99
  scale(x, y, z) {
100
+ // scale geometry
77
101
  _m1.makeScale(x, y, z);
102
+
78
103
  this.applyMatrix4(_m1);
79
104
  return this;
80
105
  }
106
+
81
107
  lookAt(vector) {
82
108
  _obj.lookAt(vector);
109
+
83
110
  _obj.updateMatrix();
111
+
84
112
  this.applyMatrix4(_obj.matrix);
85
113
  return this;
86
114
  }
115
+
87
116
  fromBufferGeometry(geometry) {
88
117
  const scope = this;
89
- const index = geometry.index !== null ? geometry.index : void 0;
118
+ const index = geometry.index !== null ? geometry.index : undefined;
90
119
  const attributes = geometry.attributes;
91
- if (attributes.position === void 0) {
92
- console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion.");
120
+
121
+ if (attributes.position === undefined) {
122
+ console.error('THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion.');
93
123
  return this;
94
124
  }
125
+
95
126
  const position = attributes.position;
96
127
  const normal = attributes.normal;
97
128
  const color = attributes.color;
98
129
  const uv = attributes.uv;
99
130
  const uv2 = attributes.uv2;
100
- if (uv2 !== void 0)
101
- this.faceVertexUvs[1] = [];
131
+ if (uv2 !== undefined) this.faceVertexUvs[1] = [];
132
+
102
133
  for (let i = 0; i < position.count; i++) {
103
- scope.vertices.push(new THREE.Vector3().fromBufferAttribute(position, i));
104
- if (color !== void 0) {
105
- scope.colors.push(new THREE.Color().fromBufferAttribute(color, i));
134
+ scope.vertices.push(new Vector3().fromBufferAttribute(position, i));
135
+
136
+ if (color !== undefined) {
137
+ scope.colors.push(new Color().fromBufferAttribute(color, i));
106
138
  }
107
139
  }
140
+
108
141
  function addFace(a, b, c, materialIndex) {
109
- const vertexColors = color === void 0 ? [] : [scope.colors[a].clone(), scope.colors[b].clone(), scope.colors[c].clone()];
110
- const vertexNormals = normal === void 0 ? [] : [
111
- new THREE.Vector3().fromBufferAttribute(normal, a),
112
- new THREE.Vector3().fromBufferAttribute(normal, b),
113
- new THREE.Vector3().fromBufferAttribute(normal, c)
114
- ];
142
+ const vertexColors = color === undefined ? [] : [scope.colors[a].clone(), scope.colors[b].clone(), scope.colors[c].clone()];
143
+ const vertexNormals = normal === undefined ? [] : [new Vector3().fromBufferAttribute(normal, a), new Vector3().fromBufferAttribute(normal, b), new Vector3().fromBufferAttribute(normal, c)];
115
144
  const face = new Face3(a, b, c, vertexNormals, vertexColors, materialIndex);
116
145
  scope.faces.push(face);
117
- if (uv !== void 0) {
118
- scope.faceVertexUvs[0].push([
119
- new THREE.Vector2().fromBufferAttribute(uv, a),
120
- new THREE.Vector2().fromBufferAttribute(uv, b),
121
- new THREE.Vector2().fromBufferAttribute(uv, c)
122
- ]);
146
+
147
+ if (uv !== undefined) {
148
+ scope.faceVertexUvs[0].push([new Vector2().fromBufferAttribute(uv, a), new Vector2().fromBufferAttribute(uv, b), new Vector2().fromBufferAttribute(uv, c)]);
123
149
  }
124
- if (uv2 !== void 0) {
125
- scope.faceVertexUvs[1].push([
126
- new THREE.Vector2().fromBufferAttribute(uv2, a),
127
- new THREE.Vector2().fromBufferAttribute(uv2, b),
128
- new THREE.Vector2().fromBufferAttribute(uv2, c)
129
- ]);
150
+
151
+ if (uv2 !== undefined) {
152
+ scope.faceVertexUvs[1].push([new Vector2().fromBufferAttribute(uv2, a), new Vector2().fromBufferAttribute(uv2, b), new Vector2().fromBufferAttribute(uv2, c)]);
130
153
  }
131
154
  }
155
+
132
156
  const groups = geometry.groups;
157
+
133
158
  if (groups.length > 0) {
134
159
  for (let i = 0; i < groups.length; i++) {
135
160
  const group = groups[i];
136
161
  const start = group.start;
137
162
  const count = group.count;
163
+
138
164
  for (let j = start, jl = start + count; j < jl; j += 3) {
139
- if (index !== void 0) {
165
+ if (index !== undefined) {
140
166
  addFace(index.getX(j), index.getX(j + 1), index.getX(j + 2), group.materialIndex);
141
167
  } else {
142
168
  addFace(j, j + 1, j + 2, group.materialIndex);
@@ -144,7 +170,7 @@ class Geometry extends THREE.EventDispatcher {
144
170
  }
145
171
  }
146
172
  } else {
147
- if (index !== void 0) {
173
+ if (index !== undefined) {
148
174
  for (let i = 0; i < index.count; i += 3) {
149
175
  addFace(index.getX(i), index.getX(i + 1), index.getX(i + 2));
150
176
  }
@@ -154,33 +180,42 @@ class Geometry extends THREE.EventDispatcher {
154
180
  }
155
181
  }
156
182
  }
183
+
157
184
  this.computeFaceNormals();
185
+
158
186
  if (geometry.boundingBox !== null) {
159
187
  this.boundingBox = geometry.boundingBox.clone();
160
188
  }
189
+
161
190
  if (geometry.boundingSphere !== null) {
162
191
  this.boundingSphere = geometry.boundingSphere.clone();
163
192
  }
193
+
164
194
  return this;
165
195
  }
196
+
166
197
  center() {
167
198
  this.computeBoundingBox();
168
199
  this.boundingBox.getCenter(_offset).negate();
169
200
  this.translate(_offset.x, _offset.y, _offset.z);
170
201
  return this;
171
202
  }
203
+
172
204
  normalize() {
173
205
  this.computeBoundingSphere();
174
206
  const center = this.boundingSphere.center;
175
207
  const radius = this.boundingSphere.radius;
176
- const s = radius === 0 ? 1 : 1 / radius;
177
- const matrix = new THREE.Matrix4();
208
+ const s = radius === 0 ? 1 : 1.0 / radius;
209
+ const matrix = new Matrix4();
178
210
  matrix.set(s, 0, 0, -s * center.x, 0, s, 0, -s * center.y, 0, 0, s, -s * center.z, 0, 0, 0, 1);
179
211
  this.applyMatrix4(matrix);
180
212
  return this;
181
213
  }
214
+
182
215
  computeFaceNormals() {
183
- const cb = new THREE.Vector3(), ab = new THREE.Vector3();
216
+ const cb = new Vector3(),
217
+ ab = new Vector3();
218
+
184
219
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
185
220
  const face = this.faces[f];
186
221
  const vA = this.vertices[face.a];
@@ -193,13 +228,20 @@ class Geometry extends THREE.EventDispatcher {
193
228
  face.normal.copy(cb);
194
229
  }
195
230
  }
231
+
196
232
  computeVertexNormals(areaWeighted = true) {
197
233
  const vertices = new Array(this.vertices.length);
234
+
198
235
  for (let v = 0, vl = this.vertices.length; v < vl; v++) {
199
- vertices[v] = new THREE.Vector3();
236
+ vertices[v] = new Vector3();
200
237
  }
238
+
201
239
  if (areaWeighted) {
202
- const cb = new THREE.Vector3(), ab = new THREE.Vector3();
240
+ // vertex normals weighted by triangle areas
241
+ // http://www.iquilezles.org/www/articles/normals/normals.htm
242
+ const cb = new Vector3(),
243
+ ab = new Vector3();
244
+
203
245
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
204
246
  const face = this.faces[f];
205
247
  const vA = this.vertices[face.a];
@@ -214,6 +256,7 @@ class Geometry extends THREE.EventDispatcher {
214
256
  }
215
257
  } else {
216
258
  this.computeFaceNormals();
259
+
217
260
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
218
261
  const face = this.faces[f];
219
262
  vertices[face.a].add(face.normal);
@@ -221,12 +264,15 @@ class Geometry extends THREE.EventDispatcher {
221
264
  vertices[face.c].add(face.normal);
222
265
  }
223
266
  }
267
+
224
268
  for (let v = 0, vl = this.vertices.length; v < vl; v++) {
225
269
  vertices[v].normalize();
226
270
  }
271
+
227
272
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
228
273
  const face = this.faces[f];
229
274
  const vertexNormals = face.vertexNormals;
275
+
230
276
  if (vertexNormals.length === 3) {
231
277
  vertexNormals[0].copy(vertices[face.a]);
232
278
  vertexNormals[1].copy(vertices[face.b]);
@@ -237,15 +283,19 @@ class Geometry extends THREE.EventDispatcher {
237
283
  vertexNormals[2] = vertices[face.c].clone();
238
284
  }
239
285
  }
286
+
240
287
  if (this.faces.length > 0) {
241
288
  this.normalsNeedUpdate = true;
242
289
  }
243
290
  }
291
+
244
292
  computeFlatVertexNormals() {
245
293
  this.computeFaceNormals();
294
+
246
295
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
247
296
  const face = this.faces[f];
248
297
  const vertexNormals = face.vertexNormals;
298
+
249
299
  if (vertexNormals.length === 3) {
250
300
  vertexNormals[0].copy(face.normal);
251
301
  vertexNormals[1].copy(face.normal);
@@ -256,20 +306,27 @@ class Geometry extends THREE.EventDispatcher {
256
306
  vertexNormals[2] = face.normal.clone();
257
307
  }
258
308
  }
309
+
259
310
  if (this.faces.length > 0) {
260
311
  this.normalsNeedUpdate = true;
261
312
  }
262
313
  }
314
+
263
315
  computeMorphNormals() {
316
+ // save original normals
317
+ // - create temp variables on first access
318
+ // otherwise just copy (for faster repeated calls)
264
319
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
265
320
  const face = this.faces[f];
321
+
266
322
  if (!face.__originalFaceNormal) {
267
323
  face.__originalFaceNormal = face.normal.clone();
268
324
  } else {
269
325
  face.__originalFaceNormal.copy(face.normal);
270
326
  }
271
- if (!face.__originalVertexNormals)
272
- face.__originalVertexNormals = [];
327
+
328
+ if (!face.__originalVertexNormals) face.__originalVertexNormals = [];
329
+
273
330
  for (let i = 0, il = face.vertexNormals.length; i < il; i++) {
274
331
  if (!face.__originalVertexNormals[i]) {
275
332
  face.__originalVertexNormals[i] = face.vertexNormals[i].clone();
@@ -277,31 +334,40 @@ class Geometry extends THREE.EventDispatcher {
277
334
  face.__originalVertexNormals[i].copy(face.vertexNormals[i]);
278
335
  }
279
336
  }
280
- }
337
+ } // use temp geometry to compute face and vertex normals for each morph
338
+
339
+
281
340
  const tmpGeo = new Geometry();
282
341
  tmpGeo.faces = this.faces;
342
+
283
343
  for (let i = 0, il = this.morphTargets.length; i < il; i++) {
344
+ // create on first access
284
345
  if (!this.morphNormals[i]) {
285
346
  this.morphNormals[i] = {};
286
347
  this.morphNormals[i].faceNormals = [];
287
348
  this.morphNormals[i].vertexNormals = [];
288
349
  const dstNormalsFace = this.morphNormals[i].faceNormals;
289
350
  const dstNormalsVertex = this.morphNormals[i].vertexNormals;
351
+
290
352
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
291
- const faceNormal = new THREE.Vector3();
353
+ const faceNormal = new Vector3();
292
354
  const vertexNormals = {
293
- a: new THREE.Vector3(),
294
- b: new THREE.Vector3(),
295
- c: new THREE.Vector3()
355
+ a: new Vector3(),
356
+ b: new Vector3(),
357
+ c: new Vector3()
296
358
  };
297
359
  dstNormalsFace.push(faceNormal);
298
360
  dstNormalsVertex.push(vertexNormals);
299
361
  }
300
362
  }
301
- const morphNormals = this.morphNormals[i];
302
- tmpGeo.vertices = this.morphTargets[i].vertices;
363
+
364
+ const morphNormals = this.morphNormals[i]; // set vertices to morph target
365
+
366
+ tmpGeo.vertices = this.morphTargets[i].vertices; // compute morph normals
367
+
303
368
  tmpGeo.computeFaceNormals();
304
- tmpGeo.computeVertexNormals();
369
+ tmpGeo.computeVertexNormals(); // store morph normals
370
+
305
371
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
306
372
  const face = this.faces[f];
307
373
  const faceNormal = morphNormals.faceNormals[f];
@@ -311,113 +377,165 @@ class Geometry extends THREE.EventDispatcher {
311
377
  vertexNormals.b.copy(face.vertexNormals[1]);
312
378
  vertexNormals.c.copy(face.vertexNormals[2]);
313
379
  }
314
- }
380
+ } // restore original normals
381
+
382
+
315
383
  for (let f = 0, fl = this.faces.length; f < fl; f++) {
316
384
  const face = this.faces[f];
317
385
  face.normal = face.__originalFaceNormal;
318
386
  face.vertexNormals = face.__originalVertexNormals;
319
387
  }
320
388
  }
389
+
321
390
  computeBoundingBox() {
322
391
  if (this.boundingBox === null) {
323
- this.boundingBox = new THREE.Box3();
392
+ this.boundingBox = new Box3();
324
393
  }
394
+
325
395
  this.boundingBox.setFromPoints(this.vertices);
326
396
  }
397
+
327
398
  computeBoundingSphere() {
328
399
  if (this.boundingSphere === null) {
329
- this.boundingSphere = new THREE.Sphere();
400
+ this.boundingSphere = new Sphere();
330
401
  }
402
+
331
403
  this.boundingSphere.setFromPoints(this.vertices);
332
404
  }
405
+
333
406
  merge(geometry, matrix, materialIndexOffset = 0) {
334
407
  if (!(geometry && geometry.isGeometry)) {
335
- console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.", geometry);
408
+ console.error('THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.', geometry);
336
409
  return;
337
410
  }
411
+
338
412
  let normalMatrix;
339
- const vertexOffset = this.vertices.length, vertices1 = this.vertices, vertices2 = geometry.vertices, faces1 = this.faces, faces2 = geometry.faces, colors1 = this.colors, colors2 = geometry.colors;
340
- if (matrix !== void 0) {
341
- normalMatrix = new THREE.Matrix3().getNormalMatrix(matrix);
342
- }
413
+ const vertexOffset = this.vertices.length,
414
+ vertices1 = this.vertices,
415
+ vertices2 = geometry.vertices,
416
+ faces1 = this.faces,
417
+ faces2 = geometry.faces,
418
+ colors1 = this.colors,
419
+ colors2 = geometry.colors;
420
+
421
+ if (matrix !== undefined) {
422
+ normalMatrix = new Matrix3().getNormalMatrix(matrix);
423
+ } // vertices
424
+
425
+
343
426
  for (let i = 0, il = vertices2.length; i < il; i++) {
344
427
  const vertex = vertices2[i];
345
428
  const vertexCopy = vertex.clone();
346
- if (matrix !== void 0)
347
- vertexCopy.applyMatrix4(matrix);
429
+ if (matrix !== undefined) vertexCopy.applyMatrix4(matrix);
348
430
  vertices1.push(vertexCopy);
349
- }
431
+ } // colors
432
+
433
+
350
434
  for (let i = 0, il = colors2.length; i < il; i++) {
351
435
  colors1.push(colors2[i].clone());
352
- }
436
+ } // faces
437
+
438
+
353
439
  for (let i = 0, il = faces2.length; i < il; i++) {
354
440
  const face = faces2[i];
355
441
  let normal, color;
356
- const faceVertexNormals = face.vertexNormals, faceVertexColors = face.vertexColors;
442
+ const faceVertexNormals = face.vertexNormals,
443
+ faceVertexColors = face.vertexColors;
357
444
  const faceCopy = new Face3(face.a + vertexOffset, face.b + vertexOffset, face.c + vertexOffset);
358
445
  faceCopy.normal.copy(face.normal);
359
- if (normalMatrix !== void 0) {
446
+
447
+ if (normalMatrix !== undefined) {
360
448
  faceCopy.normal.applyMatrix3(normalMatrix).normalize();
361
449
  }
450
+
362
451
  for (let j = 0, jl = faceVertexNormals.length; j < jl; j++) {
363
452
  normal = faceVertexNormals[j].clone();
364
- if (normalMatrix !== void 0) {
453
+
454
+ if (normalMatrix !== undefined) {
365
455
  normal.applyMatrix3(normalMatrix).normalize();
366
456
  }
457
+
367
458
  faceCopy.vertexNormals.push(normal);
368
459
  }
460
+
369
461
  faceCopy.color.copy(face.color);
462
+
370
463
  for (let j = 0, jl = faceVertexColors.length; j < jl; j++) {
371
464
  color = faceVertexColors[j];
372
465
  faceCopy.vertexColors.push(color.clone());
373
466
  }
467
+
374
468
  faceCopy.materialIndex = face.materialIndex + materialIndexOffset;
375
469
  faces1.push(faceCopy);
376
- }
470
+ } // uvs
471
+
472
+
377
473
  for (let i = 0, il = geometry.faceVertexUvs.length; i < il; i++) {
378
474
  const faceVertexUvs2 = geometry.faceVertexUvs[i];
379
- if (this.faceVertexUvs[i] === void 0)
380
- this.faceVertexUvs[i] = [];
475
+ if (this.faceVertexUvs[i] === undefined) this.faceVertexUvs[i] = [];
476
+
381
477
  for (let j = 0, jl = faceVertexUvs2.length; j < jl; j++) {
382
- const uvs2 = faceVertexUvs2[j], uvsCopy = [];
478
+ const uvs2 = faceVertexUvs2[j],
479
+ uvsCopy = [];
480
+
383
481
  for (let k = 0, kl = uvs2.length; k < kl; k++) {
384
482
  uvsCopy.push(uvs2[k].clone());
385
483
  }
484
+
386
485
  this.faceVertexUvs[i].push(uvsCopy);
387
486
  }
388
487
  }
389
488
  }
489
+
390
490
  mergeMesh(mesh) {
391
491
  if (!(mesh && mesh.isMesh)) {
392
- console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.", mesh);
492
+ console.error('THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.', mesh);
393
493
  return;
394
494
  }
395
- if (mesh.matrixAutoUpdate)
396
- mesh.updateMatrix();
495
+
496
+ if (mesh.matrixAutoUpdate) mesh.updateMatrix();
397
497
  this.merge(mesh.geometry, mesh.matrix);
398
498
  }
499
+ /*
500
+ * Checks for duplicate vertices with hashmap.
501
+ * Duplicated vertices are removed
502
+ * and faces' vertices are updated.
503
+ */
504
+
505
+
399
506
  mergeVertices(precisionPoints = 4) {
400
- const verticesMap = {};
401
- const unique = [], changes = [];
507
+ const verticesMap = {}; // Hashmap for looking up vertices by position coordinates (and making sure they are unique)
508
+
509
+ const unique = [],
510
+ changes = [];
402
511
  const precision = Math.pow(10, precisionPoints);
512
+
403
513
  for (let i = 0, il = this.vertices.length; i < il; i++) {
404
514
  const v = this.vertices[i];
405
515
  const key = `${Math.round(v.x * precision)}_${Math.round(v.y * precision)}_${Math.round(v.z * precision)}`;
406
- if (verticesMap[key] === void 0) {
516
+
517
+ if (verticesMap[key] === undefined) {
407
518
  verticesMap[key] = i;
408
519
  unique.push(this.vertices[i]);
409
520
  changes[i] = unique.length - 1;
410
521
  } else {
522
+ //console.log('Duplicate vertex found. ', i, ' could be using ', verticesMap[key]);
411
523
  changes[i] = changes[verticesMap[key]];
412
524
  }
413
- }
525
+ } // if faces are completely degenerate after merging vertices, we
526
+ // have to remove them from the geometry.
527
+
528
+
414
529
  const faceIndicesToRemove = [];
530
+
415
531
  for (let i = 0, il = this.faces.length; i < il; i++) {
416
532
  const face = this.faces[i];
417
533
  face.a = changes[face.a];
418
534
  face.b = changes[face.b];
419
535
  face.c = changes[face.c];
420
- const indices = [face.a, face.b, face.c];
536
+ const indices = [face.a, face.b, face.c]; // if any duplicate vertices are found in a Face3
537
+ // we have to remove the face as nothing can be saved
538
+
421
539
  for (let n = 0; n < 3; n++) {
422
540
  if (indices[n] === indices[(n + 1) % 3]) {
423
541
  faceIndicesToRemove.push(i);
@@ -425,79 +543,94 @@ class Geometry extends THREE.EventDispatcher {
425
543
  }
426
544
  }
427
545
  }
546
+
428
547
  for (let i = faceIndicesToRemove.length - 1; i >= 0; i--) {
429
548
  const idx = faceIndicesToRemove[i];
430
549
  this.faces.splice(idx, 1);
550
+
431
551
  for (let j = 0, jl = this.faceVertexUvs.length; j < jl; j++) {
432
552
  this.faceVertexUvs[j].splice(idx, 1);
433
553
  }
434
- }
554
+ } // Use unique set of vertices
555
+
556
+
435
557
  const diff = this.vertices.length - unique.length;
436
558
  this.vertices = unique;
437
559
  return diff;
438
560
  }
561
+
439
562
  setFromPoints(points) {
440
563
  this.vertices = [];
564
+
441
565
  for (let i = 0, l = points.length; i < l; i++) {
442
566
  const point = points[i];
443
- this.vertices.push(new THREE.Vector3(point.x, point.y, point.z || 0));
567
+ this.vertices.push(new Vector3(point.x, point.y, point.z || 0));
444
568
  }
569
+
445
570
  return this;
446
571
  }
572
+
447
573
  sortFacesByMaterialIndex() {
448
574
  const faces = this.faces;
449
- const length = faces.length;
575
+ const length = faces.length; // tag faces
576
+
450
577
  for (let i = 0; i < length; i++) {
451
578
  faces[i]._id = i;
452
- }
579
+ } // sort faces
580
+
581
+
453
582
  function materialIndexSort(a, b) {
454
583
  return a.materialIndex - b.materialIndex;
455
584
  }
456
- faces.sort(materialIndexSort);
585
+
586
+ faces.sort(materialIndexSort); // sort uvs
587
+
457
588
  const uvs1 = this.faceVertexUvs[0];
458
589
  const uvs2 = this.faceVertexUvs[1];
459
590
  let newUvs1, newUvs2;
460
- if (uvs1 && uvs1.length === length)
461
- newUvs1 = [];
462
- if (uvs2 && uvs2.length === length)
463
- newUvs2 = [];
591
+ if (uvs1 && uvs1.length === length) newUvs1 = [];
592
+ if (uvs2 && uvs2.length === length) newUvs2 = [];
593
+
464
594
  for (let i = 0; i < length; i++) {
465
595
  const id = faces[i]._id;
466
- if (newUvs1)
467
- newUvs1.push(uvs1[id]);
468
- if (newUvs2)
469
- newUvs2.push(uvs2[id]);
596
+ if (newUvs1) newUvs1.push(uvs1[id]);
597
+ if (newUvs2) newUvs2.push(uvs2[id]);
470
598
  }
471
- if (newUvs1)
472
- this.faceVertexUvs[0] = newUvs1;
473
- if (newUvs2)
474
- this.faceVertexUvs[1] = newUvs2;
599
+
600
+ if (newUvs1) this.faceVertexUvs[0] = newUvs1;
601
+ if (newUvs2) this.faceVertexUvs[1] = newUvs2;
475
602
  }
603
+
476
604
  toJSON() {
477
605
  const data = {
478
606
  metadata: {
479
607
  version: 4.5,
480
- type: "Geometry",
481
- generator: "Geometry.toJSON"
608
+ type: 'Geometry',
609
+ generator: 'Geometry.toJSON'
482
610
  }
483
- };
611
+ }; // standard Geometry serialization
612
+
484
613
  data.uuid = this.uuid;
485
614
  data.type = this.type;
486
- if (this.name !== "")
487
- data.name = this.name;
488
- if (this.parameters !== void 0) {
615
+ if (this.name !== '') data.name = this.name;
616
+
617
+ if (this.parameters !== undefined) {
489
618
  const parameters = this.parameters;
619
+
490
620
  for (let key in parameters) {
491
- if (parameters[key] !== void 0)
492
- data[key] = parameters[key];
621
+ if (parameters[key] !== undefined) data[key] = parameters[key];
493
622
  }
623
+
494
624
  return data;
495
625
  }
626
+
496
627
  const vertices = [];
628
+
497
629
  for (let i = 0; i < this.vertices.length; i++) {
498
630
  const vertex = this.vertices[i];
499
631
  vertices.push(vertex.x, vertex.y, vertex.z);
500
632
  }
633
+
501
634
  const faces = [];
502
635
  const normals = [];
503
636
  const normalsHash = {};
@@ -505,17 +638,20 @@ class Geometry extends THREE.EventDispatcher {
505
638
  const colorsHash = {};
506
639
  const uvs = [];
507
640
  const uvsHash = {};
641
+
508
642
  for (let i = 0; i < this.faces.length; i++) {
509
643
  const face = this.faces[i];
510
644
  const hasMaterial = true;
511
- const hasFaceUv = false;
512
- const hasFaceVertexUv = this.faceVertexUvs[0][i] !== void 0;
645
+ const hasFaceUv = false; // deprecated
646
+
647
+ const hasFaceVertexUv = this.faceVertexUvs[0][i] !== undefined;
513
648
  const hasFaceNormal = face.normal.length() > 0;
514
649
  const hasFaceVertexNormal = face.vertexNormals.length > 0;
515
650
  const hasFaceColor = face.color.r !== 1 || face.color.g !== 1 || face.color.b !== 1;
516
651
  const hasFaceVertexColor = face.vertexColors.length > 0;
517
652
  let faceType = 0;
518
- faceType = setBit(faceType, 0, 0);
653
+ faceType = setBit(faceType, 0, 0); // isQuad
654
+
519
655
  faceType = setBit(faceType, 1, hasMaterial);
520
656
  faceType = setBit(faceType, 2, hasFaceUv);
521
657
  faceType = setBit(faceType, 3, hasFaceVertexUv);
@@ -526,69 +662,101 @@ class Geometry extends THREE.EventDispatcher {
526
662
  faces.push(faceType);
527
663
  faces.push(face.a, face.b, face.c);
528
664
  faces.push(face.materialIndex);
665
+
529
666
  if (hasFaceVertexUv) {
530
667
  const faceVertexUvs = this.faceVertexUvs[0][i];
531
668
  faces.push(getUvIndex(faceVertexUvs[0]), getUvIndex(faceVertexUvs[1]), getUvIndex(faceVertexUvs[2]));
532
669
  }
670
+
533
671
  if (hasFaceNormal) {
534
672
  faces.push(getNormalIndex(face.normal));
535
673
  }
674
+
536
675
  if (hasFaceVertexNormal) {
537
676
  const vertexNormals = face.vertexNormals;
538
677
  faces.push(getNormalIndex(vertexNormals[0]), getNormalIndex(vertexNormals[1]), getNormalIndex(vertexNormals[2]));
539
678
  }
679
+
540
680
  if (hasFaceColor) {
541
681
  faces.push(getColorIndex(face.color));
542
682
  }
683
+
543
684
  if (hasFaceVertexColor) {
544
685
  const vertexColors = face.vertexColors;
545
686
  faces.push(getColorIndex(vertexColors[0]), getColorIndex(vertexColors[1]), getColorIndex(vertexColors[2]));
546
687
  }
547
688
  }
689
+
548
690
  function setBit(value, position, enabled) {
549
691
  return enabled ? value | 1 << position : value & ~(1 << position);
550
692
  }
693
+
551
694
  function getNormalIndex(normal) {
552
695
  const hash = normal.x.toString() + normal.y.toString() + normal.z.toString();
553
- if (normalsHash[hash] !== void 0) {
696
+
697
+ if (normalsHash[hash] !== undefined) {
554
698
  return normalsHash[hash];
555
699
  }
700
+
556
701
  normalsHash[hash] = normals.length / 3;
557
702
  normals.push(normal.x, normal.y, normal.z);
558
703
  return normalsHash[hash];
559
704
  }
705
+
560
706
  function getColorIndex(color) {
561
707
  const hash = color.r.toString() + color.g.toString() + color.b.toString();
562
- if (colorsHash[hash] !== void 0) {
708
+
709
+ if (colorsHash[hash] !== undefined) {
563
710
  return colorsHash[hash];
564
711
  }
712
+
565
713
  colorsHash[hash] = colors.length;
566
714
  colors.push(color.getHex());
567
715
  return colorsHash[hash];
568
716
  }
717
+
569
718
  function getUvIndex(uv) {
570
719
  const hash = uv.x.toString() + uv.y.toString();
571
- if (uvsHash[hash] !== void 0) {
720
+
721
+ if (uvsHash[hash] !== undefined) {
572
722
  return uvsHash[hash];
573
723
  }
724
+
574
725
  uvsHash[hash] = uvs.length / 2;
575
726
  uvs.push(uv.x, uv.y);
576
727
  return uvsHash[hash];
577
728
  }
729
+
578
730
  data.data = {};
579
731
  data.data.vertices = vertices;
580
732
  data.data.normals = normals;
581
- if (colors.length > 0)
582
- data.data.colors = colors;
583
- if (uvs.length > 0)
584
- data.data.uvs = [uvs];
733
+ if (colors.length > 0) data.data.colors = colors;
734
+ if (uvs.length > 0) data.data.uvs = [uvs]; // temporal backward compatibility
735
+
585
736
  data.data.faces = faces;
586
737
  return data;
587
738
  }
739
+
588
740
  clone() {
741
+ /*
742
+ // Handle primitives
743
+ const parameters = this.parameters;
744
+ if ( parameters !== undefined ) {
745
+ const values = [];
746
+ for ( const key in parameters ) {
747
+ values.push( parameters[ key ] );
748
+ }
749
+ const geometry = Object.create( this.constructor.prototype );
750
+ this.constructor.apply( geometry, values );
751
+ return geometry;
752
+ }
753
+ return new this.constructor().copy( this );
754
+ */
589
755
  return new Geometry().copy(this);
590
756
  }
757
+
591
758
  copy(source) {
759
+ // reset
592
760
  this.vertices = [];
593
761
  this.colors = [];
594
762
  this.faces = [];
@@ -599,57 +767,87 @@ class Geometry extends THREE.EventDispatcher {
599
767
  this.skinIndices = [];
600
768
  this.lineDistances = [];
601
769
  this.boundingBox = null;
602
- this.boundingSphere = null;
603
- this.name = source.name;
770
+ this.boundingSphere = null; // name
771
+
772
+ this.name = source.name; // vertices
773
+
604
774
  const vertices = source.vertices;
775
+
605
776
  for (let i = 0, il = vertices.length; i < il; i++) {
606
777
  this.vertices.push(vertices[i].clone());
607
- }
778
+ } // colors
779
+
780
+
608
781
  const colors = source.colors;
782
+
609
783
  for (let i = 0, il = colors.length; i < il; i++) {
610
784
  this.colors.push(colors[i].clone());
611
- }
785
+ } // faces
786
+
787
+
612
788
  const faces = source.faces;
789
+
613
790
  for (let i = 0, il = faces.length; i < il; i++) {
614
791
  this.faces.push(faces[i].clone());
615
- }
792
+ } // face vertex uvs
793
+
794
+
616
795
  for (let i = 0, il = source.faceVertexUvs.length; i < il; i++) {
617
796
  const faceVertexUvs = source.faceVertexUvs[i];
618
- if (this.faceVertexUvs[i] === void 0) {
797
+
798
+ if (this.faceVertexUvs[i] === undefined) {
619
799
  this.faceVertexUvs[i] = [];
620
800
  }
801
+
621
802
  for (let j = 0, jl = faceVertexUvs.length; j < jl; j++) {
622
- const uvs = faceVertexUvs[j], uvsCopy = [];
803
+ const uvs = faceVertexUvs[j],
804
+ uvsCopy = [];
805
+
623
806
  for (let k = 0, kl = uvs.length; k < kl; k++) {
624
807
  const uv = uvs[k];
625
808
  uvsCopy.push(uv.clone());
626
809
  }
810
+
627
811
  this.faceVertexUvs[i].push(uvsCopy);
628
812
  }
629
- }
813
+ } // morph targets
814
+
815
+
630
816
  const morphTargets = source.morphTargets;
817
+
631
818
  for (let i = 0, il = morphTargets.length; i < il; i++) {
632
819
  const morphTarget = {};
633
- morphTarget.name = morphTargets[i].name;
634
- if (morphTargets[i].vertices !== void 0) {
820
+ morphTarget.name = morphTargets[i].name; // vertices
821
+
822
+ if (morphTargets[i].vertices !== undefined) {
635
823
  morphTarget.vertices = [];
824
+
636
825
  for (let j = 0, jl = morphTargets[i].vertices.length; j < jl; j++) {
637
826
  morphTarget.vertices.push(morphTargets[i].vertices[j].clone());
638
827
  }
639
- }
640
- if (morphTargets[i].normals !== void 0) {
828
+ } // normals
829
+
830
+
831
+ if (morphTargets[i].normals !== undefined) {
641
832
  morphTarget.normals = [];
833
+
642
834
  for (let j = 0, jl = morphTargets[i].normals.length; j < jl; j++) {
643
835
  morphTarget.normals.push(morphTargets[i].normals[j].clone());
644
836
  }
645
837
  }
838
+
646
839
  this.morphTargets.push(morphTarget);
647
- }
840
+ } // morph normals
841
+
842
+
648
843
  const morphNormals = source.morphNormals;
844
+
649
845
  for (let i = 0, il = morphNormals.length; i < il; i++) {
650
- const morphNormal = {};
651
- if (morphNormals[i].vertexNormals !== void 0) {
846
+ const morphNormal = {}; // vertex normals
847
+
848
+ if (morphNormals[i].vertexNormals !== undefined) {
652
849
  morphNormal.vertexNormals = [];
850
+
653
851
  for (let j = 0, jl = morphNormals[i].vertexNormals.length; j < jl; j++) {
654
852
  const srcVertexNormal = morphNormals[i].vertexNormals[j];
655
853
  const destVertexNormal = {};
@@ -658,35 +856,56 @@ class Geometry extends THREE.EventDispatcher {
658
856
  destVertexNormal.c = srcVertexNormal.c.clone();
659
857
  morphNormal.vertexNormals.push(destVertexNormal);
660
858
  }
661
- }
662
- if (morphNormals[i].faceNormals !== void 0) {
859
+ } // face normals
860
+
861
+
862
+ if (morphNormals[i].faceNormals !== undefined) {
663
863
  morphNormal.faceNormals = [];
864
+
664
865
  for (let j = 0, jl = morphNormals[i].faceNormals.length; j < jl; j++) {
665
866
  morphNormal.faceNormals.push(morphNormals[i].faceNormals[j].clone());
666
867
  }
667
868
  }
869
+
668
870
  this.morphNormals.push(morphNormal);
669
- }
871
+ } // skin weights
872
+
873
+
670
874
  const skinWeights = source.skinWeights;
875
+
671
876
  for (let i = 0, il = skinWeights.length; i < il; i++) {
672
877
  this.skinWeights.push(skinWeights[i].clone());
673
- }
878
+ } // skin indices
879
+
880
+
674
881
  const skinIndices = source.skinIndices;
882
+
675
883
  for (let i = 0, il = skinIndices.length; i < il; i++) {
676
884
  this.skinIndices.push(skinIndices[i].clone());
677
- }
885
+ } // line distances
886
+
887
+
678
888
  const lineDistances = source.lineDistances;
889
+
679
890
  for (let i = 0, il = lineDistances.length; i < il; i++) {
680
891
  this.lineDistances.push(lineDistances[i]);
681
- }
892
+ } // bounding box
893
+
894
+
682
895
  const boundingBox = source.boundingBox;
896
+
683
897
  if (boundingBox !== null) {
684
898
  this.boundingBox = boundingBox.clone();
685
- }
899
+ } // bounding sphere
900
+
901
+
686
902
  const boundingSphere = source.boundingSphere;
903
+
687
904
  if (boundingSphere !== null) {
688
905
  this.boundingSphere = boundingSphere.clone();
689
- }
906
+ } // update flags
907
+
908
+
690
909
  this.elementsNeedUpdate = source.elementsNeedUpdate;
691
910
  this.verticesNeedUpdate = source.verticesNeedUpdate;
692
911
  this.uvsNeedUpdate = source.uvsNeedUpdate;
@@ -696,94 +915,123 @@ class Geometry extends THREE.EventDispatcher {
696
915
  this.groupsNeedUpdate = source.groupsNeedUpdate;
697
916
  return this;
698
917
  }
918
+
699
919
  toBufferGeometry() {
700
920
  const geometry = new DirectGeometry().fromGeometry(this);
701
- const buffergeometry = new THREE.BufferGeometry();
921
+ const buffergeometry = new BufferGeometry();
702
922
  const positions = new Float32Array(geometry.vertices.length * 3);
703
- buffergeometry.setAttribute("position", new THREE.BufferAttribute(positions, 3).copyVector3sArray(geometry.vertices));
923
+ buffergeometry.setAttribute('position', new BufferAttribute(positions, 3).copyVector3sArray(geometry.vertices));
924
+
704
925
  if (geometry.normals.length > 0) {
705
926
  const normals = new Float32Array(geometry.normals.length * 3);
706
- buffergeometry.setAttribute("normal", new THREE.BufferAttribute(normals, 3).copyVector3sArray(geometry.normals));
927
+ buffergeometry.setAttribute('normal', new BufferAttribute(normals, 3).copyVector3sArray(geometry.normals));
707
928
  }
929
+
708
930
  if (geometry.colors.length > 0) {
709
931
  const colors = new Float32Array(geometry.colors.length * 3);
710
- buffergeometry.setAttribute("color", new THREE.BufferAttribute(colors, 3).copyColorsArray(geometry.colors));
932
+ buffergeometry.setAttribute('color', new BufferAttribute(colors, 3).copyColorsArray(geometry.colors));
711
933
  }
934
+
712
935
  if (geometry.uvs.length > 0) {
713
936
  const uvs = new Float32Array(geometry.uvs.length * 2);
714
- buffergeometry.setAttribute("uv", new THREE.BufferAttribute(uvs, 2).copyVector2sArray(geometry.uvs));
937
+ buffergeometry.setAttribute('uv', new BufferAttribute(uvs, 2).copyVector2sArray(geometry.uvs));
715
938
  }
939
+
716
940
  if (geometry.uvs2.length > 0) {
717
941
  const uvs2 = new Float32Array(geometry.uvs2.length * 2);
718
- buffergeometry.setAttribute("uv2", new THREE.BufferAttribute(uvs2, 2).copyVector2sArray(geometry.uvs2));
719
- }
720
- buffergeometry.groups = geometry.groups;
942
+ buffergeometry.setAttribute('uv2', new BufferAttribute(uvs2, 2).copyVector2sArray(geometry.uvs2));
943
+ } // groups
944
+
945
+
946
+ buffergeometry.groups = geometry.groups; // morphs
947
+
721
948
  for (let name in geometry.morphTargets) {
722
949
  const array = [];
723
950
  const morphTargets = geometry.morphTargets[name];
951
+
724
952
  for (let i = 0, l = morphTargets.length; i < l; i++) {
725
953
  const morphTarget = morphTargets[i];
726
- const attribute = new THREE.Float32BufferAttribute(morphTarget.data.length * 3, 3);
954
+ const attribute = new Float32BufferAttribute(morphTarget.data.length * 3, 3);
727
955
  attribute.name = morphTarget.name;
728
956
  array.push(attribute.copyVector3sArray(morphTarget.data));
729
957
  }
958
+
730
959
  buffergeometry.morphAttributes[name] = array;
731
- }
960
+ } // skinning
961
+
962
+
732
963
  if (geometry.skinIndices.length > 0) {
733
- const skinIndices = new THREE.Float32BufferAttribute(geometry.skinIndices.length * 4, 4);
734
- buffergeometry.setAttribute("skinIndex", skinIndices.copyVector4sArray(geometry.skinIndices));
964
+ const skinIndices = new Float32BufferAttribute(geometry.skinIndices.length * 4, 4);
965
+ buffergeometry.setAttribute('skinIndex', skinIndices.copyVector4sArray(geometry.skinIndices));
735
966
  }
967
+
736
968
  if (geometry.skinWeights.length > 0) {
737
- const skinWeights = new THREE.Float32BufferAttribute(geometry.skinWeights.length * 4, 4);
738
- buffergeometry.setAttribute("skinWeight", skinWeights.copyVector4sArray(geometry.skinWeights));
739
- }
969
+ const skinWeights = new Float32BufferAttribute(geometry.skinWeights.length * 4, 4);
970
+ buffergeometry.setAttribute('skinWeight', skinWeights.copyVector4sArray(geometry.skinWeights));
971
+ } //
972
+
973
+
740
974
  if (geometry.boundingSphere !== null) {
741
975
  buffergeometry.boundingSphere = geometry.boundingSphere.clone();
742
976
  }
977
+
743
978
  if (geometry.boundingBox !== null) {
744
979
  buffergeometry.boundingBox = geometry.boundingBox.clone();
745
980
  }
981
+
746
982
  return buffergeometry;
747
983
  }
984
+
748
985
  computeTangents() {
749
- console.error("THREE.Geometry: .computeTangents() has been removed.");
986
+ console.error('THREE.Geometry: .computeTangents() has been removed.');
750
987
  }
988
+
751
989
  computeLineDistances() {
752
- console.error(
753
- "THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead."
754
- );
990
+ console.error('THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.');
755
991
  }
992
+
756
993
  applyMatrix(matrix) {
757
- console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4().");
994
+ console.warn('THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4().');
758
995
  return this.applyMatrix4(matrix);
759
996
  }
997
+
760
998
  dispose() {
761
- this.dispatchEvent({ type: "dispose" });
999
+ this.dispatchEvent({
1000
+ type: 'dispose'
1001
+ });
762
1002
  }
1003
+
763
1004
  }
764
- Geometry.createBufferGeometryFromObject = (object) => {
765
- let buffergeometry = new THREE.BufferGeometry();
1005
+
1006
+ Geometry.createBufferGeometryFromObject = object => {
1007
+ let buffergeometry = new BufferGeometry();
766
1008
  const geometry = object.geometry;
1009
+
767
1010
  if (object.isPoints || object.isLine) {
768
- const positions = new THREE.Float32BufferAttribute(geometry.vertices.length * 3, 3);
769
- const colors = new THREE.Float32BufferAttribute(geometry.colors.length * 3, 3);
770
- buffergeometry.setAttribute("position", positions.copyVector3sArray(geometry.vertices));
771
- buffergeometry.setAttribute("color", colors.copyColorsArray(geometry.colors));
1011
+ const positions = new Float32BufferAttribute(geometry.vertices.length * 3, 3);
1012
+ const colors = new Float32BufferAttribute(geometry.colors.length * 3, 3);
1013
+ buffergeometry.setAttribute('position', positions.copyVector3sArray(geometry.vertices));
1014
+ buffergeometry.setAttribute('color', colors.copyColorsArray(geometry.colors));
1015
+
772
1016
  if (geometry.lineDistances && geometry.lineDistances.length === geometry.vertices.length) {
773
- const lineDistances = new THREE.Float32BufferAttribute(geometry.lineDistances.length, 1);
774
- buffergeometry.setAttribute("lineDistance", lineDistances.copyArray(geometry.lineDistances));
1017
+ const lineDistances = new Float32BufferAttribute(geometry.lineDistances.length, 1);
1018
+ buffergeometry.setAttribute('lineDistance', lineDistances.copyArray(geometry.lineDistances));
775
1019
  }
1020
+
776
1021
  if (geometry.boundingSphere !== null) {
777
1022
  buffergeometry.boundingSphere = geometry.boundingSphere.clone();
778
1023
  }
1024
+
779
1025
  if (geometry.boundingBox !== null) {
780
1026
  buffergeometry.boundingBox = geometry.boundingBox.clone();
781
1027
  }
782
1028
  } else if (object.isMesh) {
783
1029
  buffergeometry = geometry.toBufferGeometry();
784
1030
  }
1031
+
785
1032
  return buffergeometry;
786
1033
  };
1034
+
787
1035
  class DirectGeometry {
788
1036
  constructor() {
789
1037
  this.vertices = [];
@@ -794,158 +1042,201 @@ class DirectGeometry {
794
1042
  this.groups = [];
795
1043
  this.morphTargets = {};
796
1044
  this.skinWeights = [];
797
- this.skinIndices = [];
1045
+ this.skinIndices = []; // this.lineDistances = [];
1046
+
798
1047
  this.boundingBox = null;
799
- this.boundingSphere = null;
1048
+ this.boundingSphere = null; // update flags
1049
+
800
1050
  this.verticesNeedUpdate = false;
801
1051
  this.normalsNeedUpdate = false;
802
1052
  this.colorsNeedUpdate = false;
803
1053
  this.uvsNeedUpdate = false;
804
1054
  this.groupsNeedUpdate = false;
805
1055
  }
1056
+
806
1057
  computeGroups(geometry) {
807
1058
  const groups = [];
808
1059
  let group, i;
809
- let materialIndex = void 0;
1060
+ let materialIndex = undefined;
810
1061
  const faces = geometry.faces;
1062
+
811
1063
  for (i = 0; i < faces.length; i++) {
812
- const face = faces[i];
1064
+ const face = faces[i]; // materials
1065
+
813
1066
  if (face.materialIndex !== materialIndex) {
814
1067
  materialIndex = face.materialIndex;
815
- if (group !== void 0) {
1068
+
1069
+ if (group !== undefined) {
816
1070
  group.count = i * 3 - group.start;
817
1071
  groups.push(group);
818
1072
  }
1073
+
819
1074
  group = {
820
1075
  start: i * 3,
821
1076
  materialIndex
822
1077
  };
823
1078
  }
824
1079
  }
825
- if (group !== void 0) {
1080
+
1081
+ if (group !== undefined) {
826
1082
  group.count = i * 3 - group.start;
827
1083
  groups.push(group);
828
1084
  }
1085
+
829
1086
  this.groups = groups;
830
1087
  }
1088
+
831
1089
  fromGeometry(geometry) {
832
1090
  const faces = geometry.faces;
833
1091
  const vertices = geometry.vertices;
834
1092
  const faceVertexUvs = geometry.faceVertexUvs;
835
1093
  const hasFaceVertexUv = faceVertexUvs[0] && faceVertexUvs[0].length > 0;
836
- const hasFaceVertexUv2 = faceVertexUvs[1] && faceVertexUvs[1].length > 0;
1094
+ const hasFaceVertexUv2 = faceVertexUvs[1] && faceVertexUvs[1].length > 0; // morphs
1095
+
837
1096
  const morphTargets = geometry.morphTargets;
838
1097
  const morphTargetsLength = morphTargets.length;
839
1098
  let morphTargetsPosition;
1099
+
840
1100
  if (morphTargetsLength > 0) {
841
1101
  morphTargetsPosition = [];
1102
+
842
1103
  for (let i = 0; i < morphTargetsLength; i++) {
843
1104
  morphTargetsPosition[i] = {
844
1105
  name: morphTargets[i].name,
845
1106
  data: []
846
1107
  };
847
1108
  }
1109
+
848
1110
  this.morphTargets.position = morphTargetsPosition;
849
1111
  }
1112
+
850
1113
  const morphNormals = geometry.morphNormals;
851
1114
  const morphNormalsLength = morphNormals.length;
852
1115
  let morphTargetsNormal;
1116
+
853
1117
  if (morphNormalsLength > 0) {
854
1118
  morphTargetsNormal = [];
1119
+
855
1120
  for (let i = 0; i < morphNormalsLength; i++) {
856
1121
  morphTargetsNormal[i] = {
857
1122
  name: morphNormals[i].name,
858
1123
  data: []
859
1124
  };
860
1125
  }
1126
+
861
1127
  this.morphTargets.normal = morphTargetsNormal;
862
- }
1128
+ } // skins
1129
+
1130
+
863
1131
  const skinIndices = geometry.skinIndices;
864
1132
  const skinWeights = geometry.skinWeights;
865
1133
  const hasSkinIndices = skinIndices.length === vertices.length;
866
- const hasSkinWeights = skinWeights.length === vertices.length;
1134
+ const hasSkinWeights = skinWeights.length === vertices.length; //
1135
+
867
1136
  if (vertices.length > 0 && faces.length === 0) {
868
- console.error("THREE.DirectGeometry: Faceless geometries are not supported.");
1137
+ console.error('THREE.DirectGeometry: Faceless geometries are not supported.');
869
1138
  }
1139
+
870
1140
  for (let i = 0; i < faces.length; i++) {
871
1141
  const face = faces[i];
872
1142
  this.vertices.push(vertices[face.a], vertices[face.b], vertices[face.c]);
873
1143
  const vertexNormals = face.vertexNormals;
1144
+
874
1145
  if (vertexNormals.length === 3) {
875
1146
  this.normals.push(vertexNormals[0], vertexNormals[1], vertexNormals[2]);
876
1147
  } else {
877
1148
  const normal = face.normal;
878
1149
  this.normals.push(normal, normal, normal);
879
1150
  }
1151
+
880
1152
  const vertexColors = face.vertexColors;
1153
+
881
1154
  if (vertexColors.length === 3) {
882
1155
  this.colors.push(vertexColors[0], vertexColors[1], vertexColors[2]);
883
1156
  } else {
884
1157
  const color = face.color;
885
1158
  this.colors.push(color, color, color);
886
1159
  }
1160
+
887
1161
  if (hasFaceVertexUv === true) {
888
1162
  const vertexUvs = faceVertexUvs[0][i];
889
- if (vertexUvs !== void 0) {
1163
+
1164
+ if (vertexUvs !== undefined) {
890
1165
  this.uvs.push(vertexUvs[0], vertexUvs[1], vertexUvs[2]);
891
1166
  } else {
892
- console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ", i);
893
- this.uvs.push(new THREE.Vector2(), new THREE.Vector2(), new THREE.Vector2());
1167
+ console.warn('THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ', i);
1168
+ this.uvs.push(new Vector2(), new Vector2(), new Vector2());
894
1169
  }
895
1170
  }
1171
+
896
1172
  if (hasFaceVertexUv2 === true) {
897
1173
  const vertexUvs = faceVertexUvs[1][i];
898
- if (vertexUvs !== void 0) {
1174
+
1175
+ if (vertexUvs !== undefined) {
899
1176
  this.uvs2.push(vertexUvs[0], vertexUvs[1], vertexUvs[2]);
900
1177
  } else {
901
- console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ", i);
902
- this.uvs2.push(new THREE.Vector2(), new THREE.Vector2(), new THREE.Vector2());
1178
+ console.warn('THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ', i);
1179
+ this.uvs2.push(new Vector2(), new Vector2(), new Vector2());
903
1180
  }
904
- }
1181
+ } // morphs
1182
+
1183
+
905
1184
  for (let j = 0; j < morphTargetsLength; j++) {
906
1185
  const morphTarget = morphTargets[j].vertices;
907
1186
  morphTargetsPosition[j].data.push(morphTarget[face.a], morphTarget[face.b], morphTarget[face.c]);
908
1187
  }
1188
+
909
1189
  for (let j = 0; j < morphNormalsLength; j++) {
910
1190
  const morphNormal = morphNormals[j].vertexNormals[i];
911
1191
  morphTargetsNormal[j].data.push(morphNormal.a, morphNormal.b, morphNormal.c);
912
- }
1192
+ } // skins
1193
+
1194
+
913
1195
  if (hasSkinIndices) {
914
1196
  this.skinIndices.push(skinIndices[face.a], skinIndices[face.b], skinIndices[face.c]);
915
1197
  }
1198
+
916
1199
  if (hasSkinWeights) {
917
1200
  this.skinWeights.push(skinWeights[face.a], skinWeights[face.b], skinWeights[face.c]);
918
1201
  }
919
1202
  }
1203
+
920
1204
  this.computeGroups(geometry);
921
1205
  this.verticesNeedUpdate = geometry.verticesNeedUpdate;
922
1206
  this.normalsNeedUpdate = geometry.normalsNeedUpdate;
923
1207
  this.colorsNeedUpdate = geometry.colorsNeedUpdate;
924
1208
  this.uvsNeedUpdate = geometry.uvsNeedUpdate;
925
1209
  this.groupsNeedUpdate = geometry.groupsNeedUpdate;
1210
+
926
1211
  if (geometry.boundingSphere !== null) {
927
1212
  this.boundingSphere = geometry.boundingSphere.clone();
928
1213
  }
1214
+
929
1215
  if (geometry.boundingBox !== null) {
930
1216
  this.boundingBox = geometry.boundingBox.clone();
931
1217
  }
1218
+
932
1219
  return this;
933
1220
  }
1221
+
934
1222
  }
1223
+
935
1224
  class Face3 {
936
1225
  constructor(a, b, c, normal, color, materialIndex = 0) {
937
1226
  this.a = a;
938
1227
  this.b = b;
939
1228
  this.c = c;
940
- this.normal = normal && normal.isVector3 ? normal : new THREE.Vector3();
1229
+ this.normal = normal && normal.isVector3 ? normal : new Vector3();
941
1230
  this.vertexNormals = Array.isArray(normal) ? normal : [];
942
- this.color = color && color.isColor ? color : new THREE.Color();
1231
+ this.color = color && color.isColor ? color : new Color();
943
1232
  this.vertexColors = Array.isArray(color) ? color : [];
944
1233
  this.materialIndex = materialIndex;
945
1234
  }
1235
+
946
1236
  clone() {
947
1237
  return new this.constructor().copy(this);
948
1238
  }
1239
+
949
1240
  copy(source) {
950
1241
  this.a = source.a;
951
1242
  this.b = source.b;
@@ -953,14 +1244,18 @@ class Face3 {
953
1244
  this.normal.copy(source.normal);
954
1245
  this.color.copy(source.color);
955
1246
  this.materialIndex = source.materialIndex;
1247
+
956
1248
  for (let i = 0, il = source.vertexNormals.length; i < il; i++) {
957
1249
  this.vertexNormals[i] = source.vertexNormals[i].clone();
958
1250
  }
1251
+
959
1252
  for (let i = 0, il = source.vertexColors.length; i < il; i++) {
960
1253
  this.vertexColors[i] = source.vertexColors[i].clone();
961
1254
  }
1255
+
962
1256
  return this;
963
1257
  }
1258
+
964
1259
  }
965
- exports.Face3 = Face3;
966
- exports.Geometry = Geometry;
1260
+
1261
+ export { Face3, Geometry };