three-stdlib 2.15.0 → 2.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1222) hide show
  1. package/animation/AnimationClipCreator.js +32 -52
  2. package/animation/AnimationClipCreator.mjs +57 -0
  3. package/animation/CCDIKSolver.js +66 -161
  4. package/animation/CCDIKSolver.mjs +234 -0
  5. package/animation/MMDAnimationHelper.js +150 -341
  6. package/animation/MMDAnimationHelper.mjs +514 -0
  7. package/animation/MMDPhysics.js +154 -361
  8. package/animation/MMDPhysics.mjs +769 -0
  9. package/cameras/CinematicCamera.js +67 -77
  10. package/cameras/CinematicCamera.mjs +129 -0
  11. package/controls/ArcballControls.js +544 -1449
  12. package/controls/ArcballControls.mjs +1737 -0
  13. package/controls/DeviceOrientationControls.js +52 -97
  14. package/controls/DeviceOrientationControls.mjs +74 -0
  15. package/controls/DragControls.js +85 -187
  16. package/controls/DragControls.mjs +172 -0
  17. package/controls/FirstPersonControls.js +123 -193
  18. package/controls/FirstPersonControls.mjs +220 -0
  19. package/controls/FlyControls.js +82 -152
  20. package/controls/FlyControls.mjs +239 -0
  21. package/controls/OrbitControls.js +232 -481
  22. package/controls/OrbitControls.mjs +731 -0
  23. package/controls/PointerLockControls.js +63 -99
  24. package/controls/PointerLockControls.mjs +88 -0
  25. package/controls/TrackballControls.js +211 -383
  26. package/controls/TrackballControls.mjs +481 -0
  27. package/controls/TransformControls.js +575 -782
  28. package/controls/TransformControls.mjs +1068 -0
  29. package/controls/experimental/CameraControls.js +329 -609
  30. package/controls/experimental/CameraControls.mjs +673 -0
  31. package/csm/CSM.js +47 -108
  32. package/csm/CSM.mjs +244 -0
  33. package/csm/CSMFrustum.js +14 -29
  34. package/csm/CSMFrustum.mjs +75 -0
  35. package/csm/CSMHelper.js +20 -34
  36. package/csm/CSMHelper.mjs +114 -0
  37. package/csm/CSMShader.js +7 -11
  38. package/csm/CSMShader.mjs +251 -0
  39. package/curves/CurveExtras.js +73 -115
  40. package/curves/CurveExtras.mjs +224 -0
  41. package/curves/NURBSCurve.js +15 -43
  42. package/curves/NURBSCurve.mjs +35 -0
  43. package/curves/NURBSSurface.js +11 -27
  44. package/curves/NURBSSurface.mjs +28 -0
  45. package/curves/NURBSUtils.js +54 -203
  46. package/curves/NURBSUtils.mjs +226 -0
  47. package/deprecated/Geometry.js +191 -486
  48. package/deprecated/Geometry.mjs +966 -0
  49. package/effects/AnaglyphEffect.js +95 -60
  50. package/effects/AnaglyphEffect.mjs +120 -0
  51. package/effects/AsciiEffect.js +80 -110
  52. package/effects/AsciiEffect.mjs +173 -0
  53. package/effects/OutlineEffect.js +121 -204
  54. package/effects/OutlineEffect.mjs +295 -0
  55. package/effects/ParallaxBarrierEffect.js +39 -38
  56. package/effects/ParallaxBarrierEffect.mjs +64 -0
  57. package/effects/PeppersGhostEffect.js +19 -68
  58. package/effects/PeppersGhostEffect.mjs +85 -0
  59. package/effects/StereoEffect.js +12 -16
  60. package/effects/StereoEffect.mjs +32 -0
  61. package/environments/RoomEnvironment.js +52 -47
  62. package/environments/RoomEnvironment.mjs +78 -0
  63. package/exporters/ColladaExporter.js +115 -241
  64. package/exporters/ColladaExporter.mjs +299 -0
  65. package/exporters/DRACOExporter.js +67 -121
  66. package/exporters/DRACOExporter.mjs +132 -0
  67. package/exporters/GLTFExporter.js +463 -1014
  68. package/exporters/GLTFExporter.mjs +1381 -0
  69. package/exporters/MMDExporter.js +44 -102
  70. package/exporters/MMDExporter.mjs +102 -0
  71. package/exporters/OBJExporter.js +78 -140
  72. package/exporters/OBJExporter.mjs +166 -0
  73. package/exporters/PLYExporter.js +93 -154
  74. package/exporters/PLYExporter.mjs +278 -0
  75. package/exporters/STLExporter.js +30 -81
  76. package/exporters/STLExporter.mjs +129 -0
  77. package/exporters/USDZExporter.js +84 -144
  78. package/exporters/USDZExporter.mjs +328 -0
  79. package/geometries/BoxLineGeometry.js +7 -14
  80. package/geometries/BoxLineGeometry.mjs +45 -0
  81. package/geometries/ConvexGeometry.js +15 -24
  82. package/geometries/ConvexGeometry.mjs +29 -0
  83. package/geometries/DecalGeometry.js +108 -162
  84. package/geometries/DecalGeometry.mjs +184 -0
  85. package/geometries/LightningStrike.js +101 -294
  86. package/geometries/LightningStrike.mjs +547 -0
  87. package/geometries/ParametricGeometries.js +26 -76
  88. package/geometries/ParametricGeometries.mjs +129 -0
  89. package/geometries/ParametricGeometry.js +24 -48
  90. package/geometries/ParametricGeometry.mjs +63 -0
  91. package/geometries/RoundedBoxGeometry.js +33 -64
  92. package/geometries/RoundedBoxGeometry.mjs +91 -0
  93. package/geometries/TeapotGeometry.js +1434 -174
  94. package/geometries/TeapotGeometry.mjs +1557 -0
  95. package/geometries/TextGeometry.js +9 -17
  96. package/geometries/TextGeometry.mjs +23 -0
  97. package/helpers/LightProbeHelper.js +53 -21
  98. package/helpers/LightProbeHelper.mjs +72 -0
  99. package/helpers/PositionalAudioHelper.js +23 -30
  100. package/helpers/PositionalAudioHelper.mjs +68 -0
  101. package/helpers/RectAreaLightHelper.js +17 -33
  102. package/helpers/RectAreaLightHelper.mjs +44 -0
  103. package/helpers/VertexNormalsHelper.js +20 -41
  104. package/helpers/VertexNormalsHelper.mjs +54 -0
  105. package/helpers/VertexTangentsHelper.js +18 -36
  106. package/helpers/VertexTangentsHelper.mjs +45 -0
  107. package/index.d.ts +54 -0
  108. package/index.js +968 -333
  109. package/index.mjs +968 -0
  110. package/interactive/SelectionBox.js +31 -46
  111. package/interactive/SelectionBox.mjs +137 -0
  112. package/interactive/SelectionHelper.js +16 -21
  113. package/interactive/SelectionHelper.mjs +54 -0
  114. package/libs/MeshoptDecoder.js +147 -58
  115. package/libs/MeshoptDecoder.mjs +210 -0
  116. package/libs/MotionControllers.js +66 -208
  117. package/libs/MotionControllers.mjs +261 -0
  118. package/lights/LightProbeGenerator.js +40 -96
  119. package/lights/LightProbeGenerator.mjs +145 -0
  120. package/lights/RectAreaLightUniformsLib.js +32842 -9
  121. package/lights/RectAreaLightUniformsLib.mjs +32842 -0
  122. package/lines/Line2.js +9 -12
  123. package/lines/Line2.mjs +13 -0
  124. package/lines/LineGeometry.js +7 -19
  125. package/lines/LineGeometry.mjs +44 -0
  126. package/lines/LineMaterial.js +51 -89
  127. package/lines/LineMaterial.mjs +539 -0
  128. package/lines/LineSegments2.js +56 -165
  129. package/lines/LineSegments2.mjs +202 -0
  130. package/lines/LineSegmentsGeometry.js +29 -71
  131. package/lines/LineSegmentsGeometry.mjs +124 -0
  132. package/lines/Wireframe.js +15 -29
  133. package/lines/Wireframe.mjs +31 -0
  134. package/lines/WireframeGeometry2.js +8 -9
  135. package/lines/WireframeGeometry2.mjs +13 -0
  136. package/loaders/3DMLoader.js +234 -469
  137. package/loaders/3DMLoader.mjs +802 -0
  138. package/loaders/3MFLoader.js +340 -555
  139. package/loaders/3MFLoader.mjs +837 -0
  140. package/loaders/AMFLoader.js +114 -219
  141. package/loaders/AMFLoader.mjs +284 -0
  142. package/loaders/AssimpLoader.js +328 -725
  143. package/loaders/AssimpLoader.mjs +1396 -0
  144. package/loaders/BVHLoader.js +94 -200
  145. package/loaders/BVHLoader.mjs +207 -0
  146. package/loaders/BasisTextureLoader.js +229 -357
  147. package/loaders/BasisTextureLoader.mjs +474 -0
  148. package/loaders/ColladaLoader.js +932 -1522
  149. package/loaders/ColladaLoader.mjs +2403 -0
  150. package/loaders/DDSLoader.js +42 -108
  151. package/loaders/DDSLoader.mjs +148 -0
  152. package/loaders/DRACOLoader.js +103 -210
  153. package/loaders/DRACOLoader.mjs +340 -0
  154. package/loaders/EXRLoader.js +461 -809
  155. package/loaders/EXRLoader.mjs +1351 -0
  156. package/loaders/FBXLoader.js +842 -1397
  157. package/loaders/FBXLoader.mjs +2362 -0
  158. package/loaders/FontLoader.js +33 -66
  159. package/loaders/FontLoader.mjs +111 -0
  160. package/loaders/GCodeLoader.js +63 -111
  161. package/loaders/GCodeLoader.mjs +141 -0
  162. package/loaders/GLTFLoader.js +771 -1484
  163. package/loaders/GLTFLoader.mjs +2316 -0
  164. package/loaders/HDRCubeTextureLoader.js +45 -50
  165. package/loaders/HDRCubeTextureLoader.mjs +77 -0
  166. package/loaders/KMZLoader.js +42 -55
  167. package/loaders/KMZLoader.mjs +75 -0
  168. package/loaders/KTX2Loader.js +229 -362
  169. package/loaders/KTX2Loader.mjs +427 -0
  170. package/loaders/KTXLoader.js +37 -99
  171. package/loaders/KTXLoader.mjs +87 -0
  172. package/loaders/LDrawLoader.js +313 -746
  173. package/loaders/LDrawLoader.mjs +1409 -0
  174. package/loaders/LUT3dlLoader.js +50 -62
  175. package/loaders/LUT3dlLoader.mjs +100 -0
  176. package/loaders/LUTCubeLoader.js +45 -56
  177. package/loaders/LUTCubeLoader.mjs +104 -0
  178. package/loaders/LWOLoader.js +227 -339
  179. package/loaders/LWOLoader.mjs +625 -0
  180. package/loaders/LottieLoader.js +36 -38
  181. package/loaders/LottieLoader.mjs +47 -0
  182. package/loaders/MD2Loader.js +248 -91
  183. package/loaders/MD2Loader.mjs +359 -0
  184. package/loaders/MDDLoader.js +25 -45
  185. package/loaders/MDDLoader.mjs +58 -0
  186. package/loaders/MMDLoader.js +359 -795
  187. package/loaders/MMDLoader.mjs +998 -0
  188. package/loaders/MTLLoader.js +91 -201
  189. package/loaders/MTLLoader.mjs +280 -0
  190. package/loaders/NRRDLoader.js +182 -263
  191. package/loaders/NRRDLoader.mjs +401 -0
  192. package/loaders/NodeMaterialLoader.js +121 -14
  193. package/loaders/NodeMaterialLoader.mjs +146 -0
  194. package/loaders/OBJLoader.js +161 -283
  195. package/loaders/OBJLoader.mjs +487 -0
  196. package/loaders/PCDLoader.js +145 -164
  197. package/loaders/PCDLoader.mjs +248 -0
  198. package/loaders/PDBLoader.js +45 -63
  199. package/loaders/PDBLoader.mjs +246 -0
  200. package/loaders/PLYLoader.js +106 -203
  201. package/loaders/PLYLoader.mjs +317 -0
  202. package/loaders/PRWMLoader.js +73 -110
  203. package/loaders/PRWMLoader.mjs +160 -0
  204. package/loaders/PVRLoader.js +32 -93
  205. package/loaders/PVRLoader.mjs +131 -0
  206. package/loaders/RGBELoader.js +96 -233
  207. package/loaders/RGBELoader.mjs +244 -0
  208. package/loaders/RGBMLoader.js +344 -514
  209. package/loaders/RGBMLoader.mjs +998 -0
  210. package/loaders/STLLoader.js +59 -165
  211. package/loaders/STLLoader.mjs +190 -0
  212. package/loaders/SVGLoader.js +481 -851
  213. package/loaders/SVGLoader.mjs +1709 -0
  214. package/loaders/TDSLoader.js +137 -527
  215. package/loaders/TDSLoader.mjs +480 -0
  216. package/loaders/TGALoader.js +94 -205
  217. package/loaders/TGALoader.mjs +285 -0
  218. package/loaders/TTFLoader.js +58 -79
  219. package/loaders/TTFLoader.mjs +131 -0
  220. package/loaders/TiltLoader.js +129 -167
  221. package/loaders/TiltLoader.mjs +373 -0
  222. package/loaders/VOXLoader.js +320 -84
  223. package/loaders/VOXLoader.mjs +431 -0
  224. package/loaders/VRMLLoader.js +786 -1268
  225. package/loaders/VRMLLoader.mjs +2093 -0
  226. package/loaders/VRMLoader.js +23 -31
  227. package/loaders/VRMLoader.mjs +38 -0
  228. package/loaders/VTKLoader.js +219 -407
  229. package/loaders/VTKLoader.mjs +646 -0
  230. package/loaders/XLoader.js +1083 -1259
  231. package/loaders/XLoader.mjs +1258 -0
  232. package/loaders/XYZLoader.js +28 -34
  233. package/loaders/XYZLoader.mjs +60 -0
  234. package/loaders/lwo/IFFParser.js +238 -492
  235. package/loaders/lwo/IFFParser.mjs +697 -0
  236. package/loaders/lwo/LWO2Parser.js +176 -279
  237. package/loaders/lwo/LWO2Parser.mjs +327 -0
  238. package/loaders/lwo/LWO3Parser.js +160 -247
  239. package/loaders/lwo/LWO3Parser.mjs +298 -0
  240. package/math/Capsule.js +56 -43
  241. package/math/Capsule.mjs +100 -0
  242. package/math/ColorConverter.js +18 -32
  243. package/math/ColorConverter.mjs +51 -0
  244. package/math/ConvexHull.js +515 -739
  245. package/math/ConvexHull.mjs +574 -0
  246. package/math/ImprovedNoise.js +282 -32
  247. package/math/ImprovedNoise.mjs +302 -0
  248. package/math/Lut.js +51 -35
  249. package/math/Lut.mjs +135 -0
  250. package/math/MeshSurfaceSampler.js +25 -68
  251. package/math/MeshSurfaceSampler.mjs +107 -0
  252. package/math/OBB.js +91 -152
  253. package/math/OBB.mjs +235 -0
  254. package/math/Octree.js +76 -139
  255. package/math/Octree.mjs +278 -0
  256. package/math/SimplexNoise.js +217 -238
  257. package/math/SimplexNoise.mjs +425 -0
  258. package/misc/ConvexObjectBreaker.js +79 -185
  259. package/misc/ConvexObjectBreaker.mjs +292 -0
  260. package/misc/GPUComputationRenderer.js +69 -194
  261. package/misc/GPUComputationRenderer.mjs +171 -0
  262. package/misc/Gyroscope.js +16 -22
  263. package/misc/Gyroscope.mjs +35 -0
  264. package/misc/MD2Character.js +52 -74
  265. package/misc/MD2Character.mjs +162 -0
  266. package/misc/MD2CharacterComplex.js +112 -163
  267. package/misc/MD2CharacterComplex.mjs +328 -0
  268. package/misc/MorphAnimMesh.js +20 -28
  269. package/misc/MorphAnimMesh.mjs +40 -0
  270. package/misc/MorphBlendMesh.js +45 -69
  271. package/misc/MorphBlendMesh.mjs +179 -0
  272. package/misc/ProgressiveLightmap.js +70 -187
  273. package/misc/ProgressiveLightmap.mjs +166 -0
  274. package/misc/RollerCoaster.js +106 -135
  275. package/misc/RollerCoaster.mjs +346 -0
  276. package/misc/TubePainter.js +74 -92
  277. package/misc/TubePainter.mjs +123 -0
  278. package/misc/Volume.js +108 -270
  279. package/misc/Volume.mjs +244 -0
  280. package/misc/VolumeSlice.js +34 -122
  281. package/misc/VolumeSlice.mjs +106 -0
  282. package/misc/WebGL.js +37 -34
  283. package/misc/WebGL.mjs +74 -0
  284. package/modifiers/CurveModifier.js +46 -151
  285. package/modifiers/CurveModifier.mjs +182 -0
  286. package/modifiers/EdgeSplitModifier.js +46 -90
  287. package/modifiers/EdgeSplitModifier.mjs +162 -0
  288. package/modifiers/SimplifyModifier.js +77 -202
  289. package/modifiers/SimplifyModifier.mjs +282 -0
  290. package/modifiers/TessellateModifier.js +65 -90
  291. package/modifiers/TessellateModifier.mjs +206 -0
  292. package/nodes/Nodes.js +274 -140
  293. package/nodes/Nodes.mjs +400 -0
  294. package/nodes/ShaderNode.js +296 -196
  295. package/nodes/ShaderNode.mjs +408 -0
  296. package/nodes/accessors/BufferNode.js +4 -8
  297. package/nodes/accessors/BufferNode.mjs +15 -0
  298. package/nodes/accessors/CameraNode.js +20 -25
  299. package/nodes/accessors/CameraNode.mjs +44 -0
  300. package/nodes/accessors/CubeTextureNode.js +14 -26
  301. package/nodes/accessors/CubeTextureNode.mjs +42 -0
  302. package/nodes/accessors/MaterialNode.js +43 -53
  303. package/nodes/accessors/MaterialNode.mjs +71 -0
  304. package/nodes/accessors/MaterialReferenceNode.js +3 -6
  305. package/nodes/accessors/MaterialReferenceNode.mjs +14 -0
  306. package/nodes/accessors/ModelNode.js +3 -5
  307. package/nodes/accessors/ModelNode.mjs +9 -0
  308. package/nodes/accessors/ModelViewProjectionNode.js +14 -13
  309. package/nodes/accessors/ModelViewProjectionNode.mjs +24 -0
  310. package/nodes/accessors/NormalNode.js +40 -39
  311. package/nodes/accessors/NormalNode.mjs +62 -0
  312. package/nodes/accessors/Object3DNode.js +40 -50
  313. package/nodes/accessors/Object3DNode.mjs +76 -0
  314. package/nodes/accessors/PointUVNode.js +5 -9
  315. package/nodes/accessors/PointUVNode.mjs +13 -0
  316. package/nodes/accessors/PositionNode.js +42 -41
  317. package/nodes/accessors/PositionNode.mjs +65 -0
  318. package/nodes/accessors/ReferenceNode.js +10 -17
  319. package/nodes/accessors/ReferenceNode.mjs +37 -0
  320. package/nodes/accessors/ReflectNode.js +23 -26
  321. package/nodes/accessors/ReflectNode.mjs +43 -0
  322. package/nodes/accessors/SkinningNode.js +46 -48
  323. package/nodes/accessors/SkinningNode.mjs +58 -0
  324. package/nodes/accessors/TextureNode.js +14 -29
  325. package/nodes/accessors/TextureNode.mjs +54 -0
  326. package/nodes/accessors/UVNode.js +5 -11
  327. package/nodes/accessors/UVNode.mjs +23 -0
  328. package/nodes/core/ArrayUniformNode.js +3 -7
  329. package/nodes/core/ArrayUniformNode.mjs +14 -0
  330. package/nodes/core/AttributeNode.js +5 -12
  331. package/nodes/core/AttributeNode.mjs +30 -0
  332. package/nodes/core/BypassNode.js +5 -12
  333. package/nodes/core/BypassNode.mjs +22 -0
  334. package/nodes/core/CodeNode.js +4 -12
  335. package/nodes/core/CodeNode.mjs +28 -0
  336. package/nodes/core/ConstNode.js +3 -7
  337. package/nodes/core/ConstNode.mjs +14 -0
  338. package/nodes/core/ContextNode.js +3 -8
  339. package/nodes/core/ContextNode.mjs +22 -0
  340. package/nodes/core/ExpressionNode.js +5 -9
  341. package/nodes/core/ExpressionNode.mjs +19 -0
  342. package/nodes/core/FunctionCallNode.js +6 -15
  343. package/nodes/core/FunctionCallNode.mjs +37 -0
  344. package/nodes/core/FunctionNode.js +10 -25
  345. package/nodes/core/FunctionNode.mjs +56 -0
  346. package/nodes/core/InputNode.js +12 -23
  347. package/nodes/core/InputNode.mjs +38 -0
  348. package/nodes/core/Node.js +35 -75
  349. package/nodes/core/Node.mjs +139 -0
  350. package/nodes/core/NodeAttribute.js +2 -4
  351. package/nodes/core/NodeAttribute.mjs +10 -0
  352. package/nodes/core/NodeBuilder.js +110 -224
  353. package/nodes/core/NodeBuilder.mjs +395 -0
  354. package/nodes/core/NodeCode.js +4 -7
  355. package/nodes/core/NodeCode.mjs +11 -0
  356. package/nodes/core/NodeFrame.js +9 -12
  357. package/nodes/core/NodeFrame.mjs +35 -0
  358. package/nodes/core/NodeFunctionInput.js +3 -5
  359. package/nodes/core/NodeFunctionInput.mjs +13 -0
  360. package/nodes/core/NodeKeywords.js +5 -16
  361. package/nodes/core/NodeKeywords.mjs +44 -0
  362. package/nodes/core/NodeUniform.js +3 -7
  363. package/nodes/core/NodeUniform.mjs +18 -0
  364. package/nodes/core/NodeUtils.js +39 -43
  365. package/nodes/core/NodeUtils.mjs +57 -0
  366. package/nodes/core/NodeVar.js +2 -4
  367. package/nodes/core/NodeVar.mjs +10 -0
  368. package/nodes/core/NodeVary.js +2 -4
  369. package/nodes/core/NodeVary.mjs +10 -0
  370. package/nodes/core/PropertyNode.js +4 -10
  371. package/nodes/core/PropertyNode.mjs +21 -0
  372. package/nodes/core/TempNode.js +5 -11
  373. package/nodes/core/TempNode.mjs +25 -0
  374. package/nodes/core/UniformNode.js +4 -10
  375. package/nodes/core/UniformNode.mjs +23 -0
  376. package/nodes/core/VarNode.js +3 -11
  377. package/nodes/core/VarNode.mjs +31 -0
  378. package/nodes/core/VaryNode.js +6 -15
  379. package/nodes/core/VaryNode.mjs +30 -0
  380. package/nodes/core/constants.js +20 -7
  381. package/nodes/core/constants.mjs +24 -0
  382. package/nodes/display/ColorSpaceNode.js +34 -38
  383. package/nodes/display/ColorSpaceNode.mjs +63 -0
  384. package/nodes/display/NormalMapNode.js +35 -53
  385. package/nodes/display/NormalMapNode.mjs +54 -0
  386. package/nodes/fog/FogNode.js +5 -9
  387. package/nodes/fog/FogNode.mjs +15 -0
  388. package/nodes/fog/FogRangeNode.js +5 -9
  389. package/nodes/fog/FogRangeNode.mjs +17 -0
  390. package/nodes/functions/BSDFs.js +61 -118
  391. package/nodes/functions/BSDFs.mjs +64 -0
  392. package/nodes/lights/LightContextNode.js +14 -23
  393. package/nodes/lights/LightContextNode.mjs +35 -0
  394. package/nodes/lights/LightNode.js +27 -31
  395. package/nodes/lights/LightNode.mjs +58 -0
  396. package/nodes/lights/LightsNode.js +9 -28
  397. package/nodes/lights/LightsNode.mjs +59 -0
  398. package/nodes/loaders/NodeLoader.js +27 -42
  399. package/nodes/loaders/NodeLoader.mjs +66 -0
  400. package/nodes/loaders/NodeMaterialLoader.js +4 -10
  401. package/nodes/loaders/NodeMaterialLoader.mjs +24 -0
  402. package/nodes/loaders/NodeObjectLoader.js +9 -19
  403. package/nodes/loaders/NodeObjectLoader.mjs +40 -0
  404. package/nodes/materials/LineBasicNodeMaterial.js +5 -10
  405. package/nodes/materials/LineBasicNodeMaterial.mjs +27 -0
  406. package/nodes/materials/Materials.js +14 -17
  407. package/nodes/materials/Materials.mjs +28 -0
  408. package/nodes/materials/MeshBasicNodeMaterial.js +5 -10
  409. package/nodes/materials/MeshBasicNodeMaterial.mjs +28 -0
  410. package/nodes/materials/MeshStandardNodeMaterial.js +5 -8
  411. package/nodes/materials/MeshStandardNodeMaterial.mjs +41 -0
  412. package/nodes/materials/NodeMaterial.js +20 -36
  413. package/nodes/materials/NodeMaterial.mjs +64 -0
  414. package/nodes/materials/PointsNodeMaterial.js +5 -10
  415. package/nodes/materials/PointsNodeMaterial.mjs +30 -0
  416. package/nodes/math/CondNode.js +11 -23
  417. package/nodes/math/CondNode.mjs +38 -0
  418. package/nodes/math/MathNode.js +98 -142
  419. package/nodes/math/MathNode.mjs +163 -0
  420. package/nodes/math/OperatorNode.js +24 -46
  421. package/nodes/math/OperatorNode.mjs +103 -0
  422. package/nodes/procedural/CheckerNode.js +13 -19
  423. package/nodes/procedural/CheckerNode.mjs +21 -0
  424. package/nodes/utils/ArrayElementNode.js +4 -8
  425. package/nodes/utils/ArrayElementNode.mjs +19 -0
  426. package/nodes/utils/ConvertNode.js +3 -8
  427. package/nodes/utils/ConvertNode.mjs +25 -0
  428. package/nodes/utils/JoinNode.js +7 -11
  429. package/nodes/utils/JoinNode.mjs +26 -0
  430. package/nodes/utils/MatcapUVNode.js +8 -11
  431. package/nodes/utils/MatcapUVNode.mjs +16 -0
  432. package/nodes/utils/OscNode.js +27 -33
  433. package/nodes/utils/OscNode.mjs +50 -0
  434. package/nodes/utils/SplitNode.js +6 -20
  435. package/nodes/utils/SplitNode.mjs +45 -0
  436. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  437. package/nodes/utils/SpriteSheetUVNode.mjs +40 -0
  438. package/nodes/utils/TimerNode.js +20 -24
  439. package/nodes/utils/TimerNode.mjs +44 -0
  440. package/objects/GroundProjectedEnv.js +22 -37
  441. package/objects/GroundProjectedEnv.mjs +130 -0
  442. package/objects/Lensflare.js +86 -156
  443. package/objects/Lensflare.mjs +262 -0
  444. package/objects/LightningStorm.js +38 -102
  445. package/objects/LightningStorm.mjs +110 -0
  446. package/objects/MarchingCubes.js +150 -303
  447. package/objects/MarchingCubes.mjs +457 -0
  448. package/objects/Reflector.js +50 -72
  449. package/objects/Reflector.mjs +166 -0
  450. package/objects/ReflectorForSSRPass.js +80 -131
  451. package/objects/ReflectorForSSRPass.mjs +247 -0
  452. package/objects/ReflectorRTT.js +6 -7
  453. package/objects/ReflectorRTT.mjs +10 -0
  454. package/objects/Refractor.js +64 -106
  455. package/objects/Refractor.mjs +178 -0
  456. package/objects/ShadowMesh.js +8 -17
  457. package/objects/ShadowMesh.mjs +41 -0
  458. package/objects/Sky.js +119 -80
  459. package/objects/Sky.mjs +124 -0
  460. package/objects/Water.js +83 -127
  461. package/objects/Water.mjs +235 -0
  462. package/objects/Water2.js +72 -108
  463. package/objects/Water2.mjs +252 -0
  464. package/offscreen/jank.js +10 -14
  465. package/offscreen/jank.mjs +27 -0
  466. package/offscreen/offscreen.js +4 -5
  467. package/offscreen/offscreen.mjs +5 -0
  468. package/offscreen/scene.js +45 -48
  469. package/offscreen/scene.mjs +52 -0
  470. package/package.json +3 -3
  471. package/physics/AmmoPhysics.js +30 -71
  472. package/physics/AmmoPhysics.mjs +165 -0
  473. package/postprocessing/AdaptiveToneMappingPass.js +97 -123
  474. package/postprocessing/AdaptiveToneMappingPass.mjs +221 -0
  475. package/postprocessing/AfterimagePass.js +28 -49
  476. package/postprocessing/AfterimagePass.mjs +55 -0
  477. package/postprocessing/BloomPass.js +43 -69
  478. package/postprocessing/BloomPass.mjs +90 -0
  479. package/postprocessing/BokehPass.js +39 -69
  480. package/postprocessing/BokehPass.mjs +76 -0
  481. package/postprocessing/ClearPass.js +10 -25
  482. package/postprocessing/ClearPass.mjs +27 -0
  483. package/postprocessing/CubeTexturePass.js +28 -27
  484. package/postprocessing/CubeTexturePass.mjs +49 -0
  485. package/postprocessing/DotScreenPass.js +24 -32
  486. package/postprocessing/DotScreenPass.mjs +40 -0
  487. package/postprocessing/EffectComposer.js +39 -86
  488. package/postprocessing/EffectComposer.mjs +139 -0
  489. package/postprocessing/FilmPass.js +25 -30
  490. package/postprocessing/FilmPass.mjs +42 -0
  491. package/postprocessing/GlitchPass.js +38 -61
  492. package/postprocessing/GlitchPass.mjs +75 -0
  493. package/postprocessing/HalftonePass.js +19 -39
  494. package/postprocessing/HalftonePass.mjs +44 -0
  495. package/postprocessing/LUTPass.js +13 -38
  496. package/postprocessing/LUTPass.mjs +136 -0
  497. package/postprocessing/MaskPass.js +19 -38
  498. package/postprocessing/MaskPass.mjs +60 -0
  499. package/postprocessing/OutlinePass.js +135 -277
  500. package/postprocessing/OutlinePass.mjs +438 -0
  501. package/postprocessing/Pass.js +20 -44
  502. package/postprocessing/Pass.mjs +37 -0
  503. package/postprocessing/RenderPass.js +13 -36
  504. package/postprocessing/RenderPass.mjs +48 -0
  505. package/postprocessing/RenderPixelatedPass.js +44 -58
  506. package/postprocessing/RenderPixelatedPass.mjs +199 -0
  507. package/postprocessing/SAOPass.js +154 -189
  508. package/postprocessing/SAOPass.mjs +282 -0
  509. package/postprocessing/SMAAPass.js +64 -84
  510. package/postprocessing/SMAAPass.mjs +112 -0
  511. package/postprocessing/SSAARenderPass.js +121 -69
  512. package/postprocessing/SSAARenderPass.mjs +170 -0
  513. package/postprocessing/SSAOPass.js +123 -172
  514. package/postprocessing/SSAOPass.mjs +265 -0
  515. package/postprocessing/SSRPass.js +211 -280
  516. package/postprocessing/SSRPass.mjs +432 -0
  517. package/postprocessing/SavePass.js +20 -25
  518. package/postprocessing/SavePass.mjs +37 -0
  519. package/postprocessing/ShaderPass.js +14 -30
  520. package/postprocessing/ShaderPass.mjs +39 -0
  521. package/postprocessing/TAARenderPass.js +42 -61
  522. package/postprocessing/TAARenderPass.mjs +88 -0
  523. package/postprocessing/TexturePass.js +21 -22
  524. package/postprocessing/TexturePass.mjs +39 -0
  525. package/postprocessing/UnrealBloomPass.js +105 -213
  526. package/postprocessing/UnrealBloomPass.mjs +220 -0
  527. package/renderers/CSS2DRenderer.js +44 -56
  528. package/renderers/CSS2DRenderer.mjs +112 -0
  529. package/renderers/CSS3DRenderer.js +53 -86
  530. package/renderers/CSS3DRenderer.mjs +133 -0
  531. package/renderers/Projector.js +107 -274
  532. package/renderers/Projector.mjs +511 -0
  533. package/renderers/SVGRenderer.js +72 -182
  534. package/renderers/SVGRenderer.mjs +306 -0
  535. package/renderers/nodes/accessors/CameraNode.js +29 -40
  536. package/renderers/nodes/accessors/CameraNode.mjs +63 -0
  537. package/renderers/nodes/accessors/ModelNode.js +28 -37
  538. package/renderers/nodes/accessors/ModelNode.mjs +61 -0
  539. package/renderers/nodes/accessors/ModelViewProjectionNode.js +10 -23
  540. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +21 -0
  541. package/renderers/nodes/accessors/NormalNode.js +35 -45
  542. package/renderers/nodes/accessors/NormalNode.mjs +61 -0
  543. package/renderers/nodes/accessors/PositionNode.js +18 -19
  544. package/renderers/nodes/accessors/PositionNode.mjs +30 -0
  545. package/renderers/nodes/accessors/UVNode.js +5 -10
  546. package/renderers/nodes/accessors/UVNode.mjs +13 -0
  547. package/renderers/nodes/core/AttributeNode.js +5 -14
  548. package/renderers/nodes/core/AttributeNode.mjs +35 -0
  549. package/renderers/nodes/core/InputNode.js +4 -14
  550. package/renderers/nodes/core/InputNode.mjs +31 -0
  551. package/renderers/nodes/core/Node.js +7 -17
  552. package/renderers/nodes/core/Node.mjs +34 -0
  553. package/renderers/nodes/core/NodeAttribute.js +3 -6
  554. package/renderers/nodes/core/NodeAttribute.mjs +10 -0
  555. package/renderers/nodes/core/NodeBuilder.js +87 -154
  556. package/renderers/nodes/core/NodeBuilder.mjs +243 -0
  557. package/renderers/nodes/core/NodeFrame.js +9 -12
  558. package/renderers/nodes/core/NodeFrame.mjs +35 -0
  559. package/renderers/nodes/core/NodeSlot.js +2 -3
  560. package/renderers/nodes/core/NodeSlot.mjs +10 -0
  561. package/renderers/nodes/core/NodeUniform.js +4 -9
  562. package/renderers/nodes/core/NodeUniform.mjs +18 -0
  563. package/renderers/nodes/core/NodeVary.js +4 -7
  564. package/renderers/nodes/core/NodeVary.mjs +11 -0
  565. package/renderers/nodes/core/VaryNode.js +6 -12
  566. package/renderers/nodes/core/VaryNode.mjs +22 -0
  567. package/renderers/nodes/core/constants.js +16 -13
  568. package/renderers/nodes/core/constants.mjs +22 -0
  569. package/renderers/nodes/inputs/ColorNode.js +5 -11
  570. package/renderers/nodes/inputs/ColorNode.mjs +11 -0
  571. package/renderers/nodes/inputs/FloatNode.js +5 -11
  572. package/renderers/nodes/inputs/FloatNode.mjs +11 -0
  573. package/renderers/nodes/inputs/Matrix3Node.js +7 -13
  574. package/renderers/nodes/inputs/Matrix3Node.mjs +12 -0
  575. package/renderers/nodes/inputs/Matrix4Node.js +7 -13
  576. package/renderers/nodes/inputs/Matrix4Node.mjs +12 -0
  577. package/renderers/nodes/inputs/TextureNode.js +7 -15
  578. package/renderers/nodes/inputs/TextureNode.mjs +20 -0
  579. package/renderers/nodes/inputs/Vector2Node.js +5 -11
  580. package/renderers/nodes/inputs/Vector2Node.mjs +11 -0
  581. package/renderers/nodes/inputs/Vector3Node.js +7 -13
  582. package/renderers/nodes/inputs/Vector3Node.mjs +12 -0
  583. package/renderers/nodes/inputs/Vector4Node.js +7 -13
  584. package/renderers/nodes/inputs/Vector4Node.mjs +12 -0
  585. package/renderers/nodes/math/MathNode.js +20 -30
  586. package/renderers/nodes/math/MathNode.mjs +55 -0
  587. package/renderers/nodes/math/OperatorNode.js +4 -20
  588. package/renderers/nodes/math/OperatorNode.mjs +42 -0
  589. package/renderers/nodes/utils/SwitchNode.js +4 -9
  590. package/renderers/nodes/utils/SwitchNode.mjs +20 -0
  591. package/renderers/nodes/utils/TimerNode.js +5 -10
  592. package/renderers/nodes/utils/TimerNode.mjs +14 -0
  593. package/renderers/webgpu/WebGPU.js +14 -16
  594. package/renderers/webgpu/WebGPU.mjs +24 -0
  595. package/renderers/webgpu/WebGPUAttributes.js +16 -23
  596. package/renderers/webgpu/WebGPUAttributes.mjs +69 -0
  597. package/renderers/webgpu/WebGPUBackground.js +13 -30
  598. package/renderers/webgpu/WebGPUBackground.mjs +61 -0
  599. package/renderers/webgpu/WebGPUBinding.js +4 -7
  600. package/renderers/webgpu/WebGPUBinding.mjs +14 -0
  601. package/renderers/webgpu/WebGPUBindings.js +21 -57
  602. package/renderers/webgpu/WebGPUBindings.mjs +155 -0
  603. package/renderers/webgpu/WebGPUComputePipelines.js +14 -25
  604. package/renderers/webgpu/WebGPUComputePipelines.mjs +44 -0
  605. package/renderers/webgpu/WebGPUGeometries.js +5 -15
  606. package/renderers/webgpu/WebGPUGeometries.mjs +41 -0
  607. package/renderers/webgpu/WebGPUInfo.js +3 -8
  608. package/renderers/webgpu/WebGPUInfo.mjs +46 -0
  609. package/renderers/webgpu/WebGPUObjects.js +5 -10
  610. package/renderers/webgpu/WebGPUObjects.mjs +25 -0
  611. package/renderers/webgpu/WebGPUProperties.js +5 -11
  612. package/renderers/webgpu/WebGPUProperties.mjs +22 -0
  613. package/renderers/webgpu/WebGPURenderLists.js +20 -36
  614. package/renderers/webgpu/WebGPURenderLists.mjs +119 -0
  615. package/renderers/webgpu/WebGPURenderPipelines.js +260 -387
  616. package/renderers/webgpu/WebGPURenderPipelines.mjs +545 -0
  617. package/renderers/webgpu/WebGPURenderer.js +124 -262
  618. package/renderers/webgpu/WebGPURenderer.mjs +574 -0
  619. package/renderers/webgpu/WebGPUSampledTexture.js +18 -31
  620. package/renderers/webgpu/WebGPUSampledTexture.mjs +40 -0
  621. package/renderers/webgpu/WebGPUSampler.js +7 -12
  622. package/renderers/webgpu/WebGPUSampler.mjs +15 -0
  623. package/renderers/webgpu/WebGPUStorageBuffer.js +7 -12
  624. package/renderers/webgpu/WebGPUStorageBuffer.mjs +15 -0
  625. package/renderers/webgpu/WebGPUTextureRenderer.js +5 -11
  626. package/renderers/webgpu/WebGPUTextureRenderer.mjs +23 -0
  627. package/renderers/webgpu/WebGPUTextureUtils.js +29 -40
  628. package/renderers/webgpu/WebGPUTextureUtils.mjs +98 -0
  629. package/renderers/webgpu/WebGPUTextures.js +186 -333
  630. package/renderers/webgpu/WebGPUTextures.mjs +484 -0
  631. package/renderers/webgpu/WebGPUUniform.js +25 -51
  632. package/renderers/webgpu/WebGPUUniform.mjs +81 -0
  633. package/renderers/webgpu/WebGPUUniformsGroup.js +32 -72
  634. package/renderers/webgpu/WebGPUUniformsGroup.mjs +176 -0
  635. package/renderers/webgpu/constants.js +190 -181
  636. package/renderers/webgpu/constants.mjs +230 -0
  637. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  638. package/renderers/webgpu/nodes/ShaderLib.mjs +42 -0
  639. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +53 -124
  640. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +165 -0
  641. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +17 -31
  642. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +73 -0
  643. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +8 -9
  644. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +15 -0
  645. package/renderers/webgpu/nodes/WebGPUNodes.js +7 -45
  646. package/renderers/webgpu/nodes/WebGPUNodes.mjs +40 -0
  647. package/shaders/ACESFilmicToneMappingShader.js +44 -24
  648. package/shaders/ACESFilmicToneMappingShader.mjs +48 -0
  649. package/shaders/AfterimageShader.js +28 -18
  650. package/shaders/AfterimageShader.mjs +32 -0
  651. package/shaders/BasicShader.js +9 -7
  652. package/shaders/BasicShader.mjs +12 -0
  653. package/shaders/BleachBypassShader.js +31 -15
  654. package/shaders/BleachBypassShader.mjs +35 -0
  655. package/shaders/BlendShader.js +26 -19
  656. package/shaders/BlendShader.mjs +30 -0
  657. package/shaders/BokehShader.js +98 -36
  658. package/shaders/BokehShader.mjs +106 -0
  659. package/shaders/BokehShader2.js +261 -90
  660. package/shaders/BokehShader2.mjs +269 -0
  661. package/shaders/BrightnessContrastShader.js +28 -19
  662. package/shaders/BrightnessContrastShader.mjs +32 -0
  663. package/shaders/ColorCorrectionShader.js +26 -22
  664. package/shaders/ColorCorrectionShader.mjs +30 -0
  665. package/shaders/ColorifyShader.js +24 -16
  666. package/shaders/ColorifyShader.mjs +28 -0
  667. package/shaders/ConvolutionShader.js +40 -36
  668. package/shaders/ConvolutionShader.mjs +55 -0
  669. package/shaders/CopyShader.js +21 -13
  670. package/shaders/CopyShader.mjs +25 -0
  671. package/shaders/DOFMipMapShader.js +28 -21
  672. package/shaders/DOFMipMapShader.mjs +32 -0
  673. package/shaders/DepthLimitedBlurShader.js +85 -40
  674. package/shaders/DepthLimitedBlurShader.mjs +114 -0
  675. package/shaders/DigitalGlitch.js +74 -46
  676. package/shaders/DigitalGlitch.mjs +78 -0
  677. package/shaders/DotScreenShader.js +35 -27
  678. package/shaders/DotScreenShader.mjs +39 -0
  679. package/shaders/FXAAShader.js +1094 -19
  680. package/shaders/FXAAShader.mjs +1098 -0
  681. package/shaders/FilmShader.js +38 -52
  682. package/shaders/FilmShader.mjs +42 -0
  683. package/shaders/FocusShader.js +51 -24
  684. package/shaders/FocusShader.mjs +55 -0
  685. package/shaders/FreiChenShader.js +57 -24
  686. package/shaders/FreiChenShader.mjs +61 -0
  687. package/shaders/FresnelShader.js +43 -22
  688. package/shaders/FresnelShader.mjs +47 -0
  689. package/shaders/GammaCorrectionShader.js +19 -11
  690. package/shaders/GammaCorrectionShader.mjs +23 -0
  691. package/shaders/GodRaysShader.js +103 -94
  692. package/shaders/GodRaysShader.mjs +146 -0
  693. package/shaders/HalftoneShader.js +208 -65
  694. package/shaders/HalftoneShader.mjs +212 -0
  695. package/shaders/HorizontalBlurShader.js +7 -23
  696. package/shaders/HorizontalBlurShader.mjs +43 -0
  697. package/shaders/HorizontalTiltShiftShader.js +33 -21
  698. package/shaders/HorizontalTiltShiftShader.mjs +37 -0
  699. package/shaders/HueSaturationShader.js +37 -21
  700. package/shaders/HueSaturationShader.mjs +41 -0
  701. package/shaders/KaleidoShader.js +30 -22
  702. package/shaders/KaleidoShader.mjs +34 -0
  703. package/shaders/LuminosityHighPassShader.js +33 -27
  704. package/shaders/LuminosityHighPassShader.mjs +37 -0
  705. package/shaders/LuminosityShader.js +21 -11
  706. package/shaders/LuminosityShader.mjs +25 -0
  707. package/shaders/MirrorShader.js +31 -16
  708. package/shaders/MirrorShader.mjs +35 -0
  709. package/shaders/NormalMapShader.js +27 -23
  710. package/shaders/NormalMapShader.mjs +31 -0
  711. package/shaders/ParallaxShader.js +107 -48
  712. package/shaders/ParallaxShader.mjs +113 -0
  713. package/shaders/PixelShader.js +24 -16
  714. package/shaders/PixelShader.mjs +28 -0
  715. package/shaders/RGBShiftShader.js +26 -22
  716. package/shaders/RGBShiftShader.mjs +30 -0
  717. package/shaders/SAOShader.js +132 -48
  718. package/shaders/SAOShader.mjs +144 -0
  719. package/shaders/SMAAShader.js +256 -135
  720. package/shaders/SMAAShader.mjs +272 -0
  721. package/shaders/SSAOShader.js +153 -81
  722. package/shaders/SSAOShader.mjs +172 -0
  723. package/shaders/SSRShader.js +32 -87
  724. package/shaders/SSRShader.mjs +324 -0
  725. package/shaders/SepiaShader.js +25 -15
  726. package/shaders/SepiaShader.mjs +29 -0
  727. package/shaders/SobelOperatorShader.js +40 -29
  728. package/shaders/SobelOperatorShader.mjs +44 -0
  729. package/shaders/SubsurfaceScatteringShader.js +53 -39
  730. package/shaders/SubsurfaceScatteringShader.mjs +59 -0
  731. package/shaders/TechnicolorShader.js +20 -13
  732. package/shaders/TechnicolorShader.mjs +24 -0
  733. package/shaders/ToneMapShader.js +44 -28
  734. package/shaders/ToneMapShader.mjs +48 -0
  735. package/shaders/ToonShader.js +172 -96
  736. package/shaders/ToonShader.mjs +188 -0
  737. package/shaders/TriangleBlurShader.js +32 -23
  738. package/shaders/TriangleBlurShader.mjs +36 -0
  739. package/shaders/UnpackDepthRGBAShader.js +22 -14
  740. package/shaders/UnpackDepthRGBAShader.mjs +26 -0
  741. package/shaders/VerticalBlurShader.js +7 -23
  742. package/shaders/VerticalBlurShader.mjs +44 -0
  743. package/shaders/VerticalTiltShiftShader.js +33 -21
  744. package/shaders/VerticalTiltShiftShader.mjs +37 -0
  745. package/shaders/VignetteShader.js +24 -28
  746. package/shaders/VignetteShader.mjs +28 -0
  747. package/shaders/VolumeShader.js +174 -77
  748. package/shaders/VolumeShader.mjs +178 -0
  749. package/shaders/WaterRefractionShader.js +38 -6
  750. package/shaders/WaterRefractionShader.mjs +57 -0
  751. package/shaders/types.js +1 -1
  752. package/{custom.d.js → shaders/types.mjs} +0 -0
  753. package/textures/FlakesTexture.js +8 -10
  754. package/textures/FlakesTexture.mjs +30 -0
  755. package/types/helpers.js +3 -2
  756. package/types/helpers.mjs +4 -0
  757. package/utils/BufferGeometryUtils.js +251 -325
  758. package/utils/BufferGeometryUtils.mjs +570 -0
  759. package/utils/GeometryCompressionUtils.js +241 -239
  760. package/utils/GeometryCompressionUtils.mjs +547 -0
  761. package/utils/GeometryUtils.js +41 -94
  762. package/utils/GeometryUtils.mjs +108 -0
  763. package/utils/RoughnessMipmapper.js +38 -82
  764. package/utils/RoughnessMipmapper.mjs +213 -0
  765. package/utils/SceneUtils.js +15 -20
  766. package/utils/SceneUtils.mjs +36 -0
  767. package/utils/ShadowMapViewer.js +49 -95
  768. package/utils/ShadowMapViewer.mjs +114 -0
  769. package/utils/SkeletonUtils.js +74 -165
  770. package/utils/SkeletonUtils.mjs +292 -0
  771. package/utils/UVsDebug.js +32 -62
  772. package/utils/UVsDebug.mjs +85 -0
  773. package/utils/WorkerPool.js +13 -33
  774. package/utils/WorkerPool.mjs +62 -0
  775. package/webxr/ARButton.js +72 -98
  776. package/webxr/ARButton.mjs +119 -0
  777. package/webxr/OculusHandModel.js +18 -37
  778. package/webxr/OculusHandModel.mjs +71 -0
  779. package/webxr/OculusHandPointerModel.js +58 -80
  780. package/webxr/OculusHandPointerModel.mjs +207 -0
  781. package/webxr/Text2D.js +37 -19
  782. package/webxr/Text2D.mjs +31 -0
  783. package/webxr/VRButton.js +59 -90
  784. package/webxr/VRButton.mjs +105 -0
  785. package/webxr/XRControllerModelFactory.js +58 -116
  786. package/webxr/XRControllerModelFactory.mjs +146 -0
  787. package/webxr/XREstimatedLight.js +39 -66
  788. package/webxr/XREstimatedLight.mjs +126 -0
  789. package/webxr/XRHandMeshModel.js +40 -29
  790. package/webxr/XRHandMeshModel.mjs +73 -0
  791. package/webxr/XRHandModelFactory.js +28 -31
  792. package/webxr/XRHandModelFactory.mjs +61 -0
  793. package/webxr/XRHandPrimitiveModel.js +41 -27
  794. package/webxr/XRHandPrimitiveModel.mjs +68 -0
  795. package/BufferGeometryUtils-1a7a235c.js +0 -655
  796. package/BufferGeometryUtils-971dfde3.js +0 -1
  797. package/Nodes-4f766d71.js +0 -471
  798. package/Nodes-9aa16d74.js +0 -1
  799. package/animation/AnimationClipCreator.cjs.js +0 -1
  800. package/animation/CCDIKSolver.cjs.js +0 -1
  801. package/animation/MMDAnimationHelper.cjs.js +0 -1
  802. package/animation/MMDPhysics.cjs.js +0 -1
  803. package/cameras/CinematicCamera.cjs.js +0 -1
  804. package/controls/ArcballControls.cjs.js +0 -1
  805. package/controls/DeviceOrientationControls.cjs.js +0 -1
  806. package/controls/DragControls.cjs.js +0 -1
  807. package/controls/FirstPersonControls.cjs.js +0 -1
  808. package/controls/FlyControls.cjs.js +0 -1
  809. package/controls/OrbitControls.cjs.js +0 -1
  810. package/controls/PointerLockControls.cjs.js +0 -1
  811. package/controls/TrackballControls.cjs.js +0 -1
  812. package/controls/TransformControls.cjs.js +0 -1
  813. package/controls/experimental/CameraControls.cjs.js +0 -1
  814. package/csm/CSM.cjs.js +0 -1
  815. package/csm/CSMFrustum.cjs.js +0 -1
  816. package/csm/CSMHelper.cjs.js +0 -1
  817. package/csm/CSMShader.cjs.js +0 -1
  818. package/curves/CurveExtras.cjs.js +0 -1
  819. package/curves/NURBSCurve.cjs.js +0 -1
  820. package/curves/NURBSSurface.cjs.js +0 -1
  821. package/curves/NURBSUtils.cjs.js +0 -1
  822. package/custom.d.cjs.js +0 -1
  823. package/deprecated/Geometry.cjs.js +0 -1
  824. package/effects/AnaglyphEffect.cjs.js +0 -1
  825. package/effects/AsciiEffect.cjs.js +0 -1
  826. package/effects/OutlineEffect.cjs.js +0 -1
  827. package/effects/ParallaxBarrierEffect.cjs.js +0 -1
  828. package/effects/PeppersGhostEffect.cjs.js +0 -1
  829. package/effects/StereoEffect.cjs.js +0 -1
  830. package/environments/RoomEnvironment.cjs.js +0 -1
  831. package/exporters/ColladaExporter.cjs.js +0 -1
  832. package/exporters/DRACOExporter.cjs.js +0 -1
  833. package/exporters/GLTFExporter.cjs.js +0 -1
  834. package/exporters/MMDExporter.cjs.js +0 -1
  835. package/exporters/OBJExporter.cjs.js +0 -1
  836. package/exporters/PLYExporter.cjs.js +0 -1
  837. package/exporters/STLExporter.cjs.js +0 -1
  838. package/exporters/USDZExporter.cjs.js +0 -1
  839. package/geometries/BoxLineGeometry.cjs.js +0 -1
  840. package/geometries/ConvexGeometry.cjs.js +0 -1
  841. package/geometries/DecalGeometry.cjs.js +0 -1
  842. package/geometries/LightningStrike.cjs.js +0 -1
  843. package/geometries/ParametricGeometries.cjs.js +0 -1
  844. package/geometries/ParametricGeometry.cjs.js +0 -1
  845. package/geometries/RoundedBoxGeometry.cjs.js +0 -1
  846. package/geometries/TeapotGeometry.cjs.js +0 -1
  847. package/geometries/TextGeometry.cjs.js +0 -1
  848. package/helpers/LightProbeHelper.cjs.js +0 -1
  849. package/helpers/PositionalAudioHelper.cjs.js +0 -1
  850. package/helpers/RectAreaLightHelper.cjs.js +0 -1
  851. package/helpers/VertexNormalsHelper.cjs.js +0 -1
  852. package/helpers/VertexTangentsHelper.cjs.js +0 -1
  853. package/index.cjs.js +0 -1
  854. package/interactive/InteractiveGroup.cjs.js +0 -1
  855. package/interactive/InteractiveGroup.d.ts +0 -5
  856. package/interactive/InteractiveGroup.js +0 -87
  857. package/interactive/SelectionBox.cjs.js +0 -1
  858. package/interactive/SelectionHelper.cjs.js +0 -1
  859. package/libs/MeshoptDecoder.cjs.js +0 -1
  860. package/libs/MotionControllers.cjs.js +0 -1
  861. package/lights/LightProbeGenerator.cjs.js +0 -1
  862. package/lights/RectAreaLightUniformsLib.cjs.js +0 -1
  863. package/lines/Line2.cjs.js +0 -1
  864. package/lines/LineGeometry.cjs.js +0 -1
  865. package/lines/LineMaterial.cjs.js +0 -1
  866. package/lines/LineSegments2.cjs.js +0 -1
  867. package/lines/LineSegmentsGeometry.cjs.js +0 -1
  868. package/lines/Wireframe.cjs.js +0 -1
  869. package/lines/WireframeGeometry2.cjs.js +0 -1
  870. package/loaders/3DMLoader.cjs.js +0 -1
  871. package/loaders/3MFLoader.cjs.js +0 -1
  872. package/loaders/AMFLoader.cjs.js +0 -1
  873. package/loaders/AssimpLoader.cjs.js +0 -1
  874. package/loaders/BVHLoader.cjs.js +0 -1
  875. package/loaders/BasisTextureLoader.cjs.js +0 -1
  876. package/loaders/ColladaLoader.cjs.js +0 -1
  877. package/loaders/DDSLoader.cjs.js +0 -1
  878. package/loaders/DRACOLoader.cjs.js +0 -1
  879. package/loaders/EXRLoader.cjs.js +0 -1
  880. package/loaders/FBXLoader.cjs.js +0 -1
  881. package/loaders/FontLoader.cjs.js +0 -1
  882. package/loaders/GCodeLoader.cjs.js +0 -1
  883. package/loaders/GLTFLoader.cjs.js +0 -1
  884. package/loaders/HDRCubeTextureLoader.cjs.js +0 -1
  885. package/loaders/KMZLoader.cjs.js +0 -1
  886. package/loaders/KTX2Loader.cjs.js +0 -1
  887. package/loaders/KTXLoader.cjs.js +0 -1
  888. package/loaders/LDrawLoader.cjs.js +0 -1
  889. package/loaders/LUT3dlLoader.cjs.js +0 -1
  890. package/loaders/LUTCubeLoader.cjs.js +0 -1
  891. package/loaders/LWOLoader.cjs.js +0 -1
  892. package/loaders/LottieLoader.cjs.js +0 -1
  893. package/loaders/MD2Loader.cjs.js +0 -1
  894. package/loaders/MDDLoader.cjs.js +0 -1
  895. package/loaders/MMDLoader.cjs.js +0 -1
  896. package/loaders/MTLLoader.cjs.js +0 -1
  897. package/loaders/NRRDLoader.cjs.js +0 -1
  898. package/loaders/NodeMaterialLoader.cjs.js +0 -1
  899. package/loaders/OBJLoader.cjs.js +0 -1
  900. package/loaders/PCDLoader.cjs.js +0 -1
  901. package/loaders/PDBLoader.cjs.js +0 -1
  902. package/loaders/PLYLoader.cjs.js +0 -1
  903. package/loaders/PRWMLoader.cjs.js +0 -1
  904. package/loaders/PVRLoader.cjs.js +0 -1
  905. package/loaders/RGBELoader.cjs.js +0 -1
  906. package/loaders/RGBMLoader.cjs.js +0 -1
  907. package/loaders/STLLoader.cjs.js +0 -1
  908. package/loaders/SVGLoader.cjs.js +0 -1
  909. package/loaders/TDSLoader.cjs.js +0 -1
  910. package/loaders/TGALoader.cjs.js +0 -1
  911. package/loaders/TTFLoader.cjs.js +0 -1
  912. package/loaders/TiltLoader.cjs.js +0 -1
  913. package/loaders/VOXLoader.cjs.js +0 -1
  914. package/loaders/VRMLLoader.cjs.js +0 -1
  915. package/loaders/VRMLoader.cjs.js +0 -1
  916. package/loaders/VTKLoader.cjs.js +0 -1
  917. package/loaders/XLoader.cjs.js +0 -1
  918. package/loaders/XYZLoader.cjs.js +0 -1
  919. package/loaders/lwo/IFFParser.cjs.js +0 -1
  920. package/loaders/lwo/LWO2Parser.cjs.js +0 -1
  921. package/loaders/lwo/LWO3Parser.cjs.js +0 -1
  922. package/math/Capsule.cjs.js +0 -1
  923. package/math/ColorConverter.cjs.js +0 -1
  924. package/math/ConvexHull.cjs.js +0 -1
  925. package/math/ImprovedNoise.cjs.js +0 -1
  926. package/math/Lut.cjs.js +0 -1
  927. package/math/MeshSurfaceSampler.cjs.js +0 -1
  928. package/math/OBB.cjs.js +0 -1
  929. package/math/Octree.cjs.js +0 -1
  930. package/math/SimplexNoise.cjs.js +0 -1
  931. package/misc/ConvexObjectBreaker.cjs.js +0 -1
  932. package/misc/GPUComputationRenderer.cjs.js +0 -1
  933. package/misc/Gyroscope.cjs.js +0 -1
  934. package/misc/MD2Character.cjs.js +0 -1
  935. package/misc/MD2CharacterComplex.cjs.js +0 -1
  936. package/misc/MorphAnimMesh.cjs.js +0 -1
  937. package/misc/MorphBlendMesh.cjs.js +0 -1
  938. package/misc/ProgressiveLightmap.cjs.js +0 -1
  939. package/misc/RollerCoaster.cjs.js +0 -1
  940. package/misc/TubePainter.cjs.js +0 -1
  941. package/misc/Volume.cjs.js +0 -1
  942. package/misc/VolumeSlice.cjs.js +0 -1
  943. package/misc/WebGL.cjs.js +0 -1
  944. package/modifiers/CurveModifier.cjs.js +0 -1
  945. package/modifiers/EdgeSplitModifier.cjs.js +0 -1
  946. package/modifiers/SimplifyModifier.cjs.js +0 -1
  947. package/modifiers/TessellateModifier.cjs.js +0 -1
  948. package/nodes/Nodes.cjs.js +0 -1
  949. package/nodes/ShaderNode.cjs.js +0 -1
  950. package/nodes/accessors/BufferNode.cjs.js +0 -1
  951. package/nodes/accessors/CameraNode.cjs.js +0 -1
  952. package/nodes/accessors/CubeTextureNode.cjs.js +0 -1
  953. package/nodes/accessors/MaterialNode.cjs.js +0 -1
  954. package/nodes/accessors/MaterialReferenceNode.cjs.js +0 -1
  955. package/nodes/accessors/ModelNode.cjs.js +0 -1
  956. package/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  957. package/nodes/accessors/NormalNode.cjs.js +0 -1
  958. package/nodes/accessors/Object3DNode.cjs.js +0 -1
  959. package/nodes/accessors/PointUVNode.cjs.js +0 -1
  960. package/nodes/accessors/PositionNode.cjs.js +0 -1
  961. package/nodes/accessors/ReferenceNode.cjs.js +0 -1
  962. package/nodes/accessors/ReflectNode.cjs.js +0 -1
  963. package/nodes/accessors/SkinningNode.cjs.js +0 -1
  964. package/nodes/accessors/TextureNode.cjs.js +0 -1
  965. package/nodes/accessors/UVNode.cjs.js +0 -1
  966. package/nodes/core/ArrayUniformNode.cjs.js +0 -1
  967. package/nodes/core/AttributeNode.cjs.js +0 -1
  968. package/nodes/core/BypassNode.cjs.js +0 -1
  969. package/nodes/core/CodeNode.cjs.js +0 -1
  970. package/nodes/core/ConstNode.cjs.js +0 -1
  971. package/nodes/core/ContextNode.cjs.js +0 -1
  972. package/nodes/core/ExpressionNode.cjs.js +0 -1
  973. package/nodes/core/FunctionCallNode.cjs.js +0 -1
  974. package/nodes/core/FunctionNode.cjs.js +0 -1
  975. package/nodes/core/InputNode.cjs.js +0 -1
  976. package/nodes/core/Node.cjs.js +0 -1
  977. package/nodes/core/NodeAttribute.cjs.js +0 -1
  978. package/nodes/core/NodeBuilder.cjs.js +0 -1
  979. package/nodes/core/NodeCode.cjs.js +0 -1
  980. package/nodes/core/NodeFrame.cjs.js +0 -1
  981. package/nodes/core/NodeFunction.cjs.js +0 -1
  982. package/nodes/core/NodeFunction.js +0 -17
  983. package/nodes/core/NodeFunctionInput.cjs.js +0 -1
  984. package/nodes/core/NodeKeywords.cjs.js +0 -1
  985. package/nodes/core/NodeParser.cjs.js +0 -1
  986. package/nodes/core/NodeParser.js +0 -8
  987. package/nodes/core/NodeUniform.cjs.js +0 -1
  988. package/nodes/core/NodeUtils.cjs.js +0 -1
  989. package/nodes/core/NodeVar.cjs.js +0 -1
  990. package/nodes/core/NodeVary.cjs.js +0 -1
  991. package/nodes/core/PropertyNode.cjs.js +0 -1
  992. package/nodes/core/TempNode.cjs.js +0 -1
  993. package/nodes/core/UniformNode.cjs.js +0 -1
  994. package/nodes/core/VarNode.cjs.js +0 -1
  995. package/nodes/core/VaryNode.cjs.js +0 -1
  996. package/nodes/core/constants.cjs.js +0 -1
  997. package/nodes/display/ColorSpaceNode.cjs.js +0 -1
  998. package/nodes/display/NormalMapNode.cjs.js +0 -1
  999. package/nodes/fog/FogNode.cjs.js +0 -1
  1000. package/nodes/fog/FogRangeNode.cjs.js +0 -1
  1001. package/nodes/functions/BSDFs.cjs.js +0 -1
  1002. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +0 -1
  1003. package/nodes/functions/PhysicalMaterialFunctions.js +0 -57
  1004. package/nodes/lights/LightContextNode.cjs.js +0 -1
  1005. package/nodes/lights/LightNode.cjs.js +0 -1
  1006. package/nodes/lights/LightsNode.cjs.js +0 -1
  1007. package/nodes/loaders/NodeLoader.cjs.js +0 -1
  1008. package/nodes/loaders/NodeMaterialLoader.cjs.js +0 -1
  1009. package/nodes/loaders/NodeObjectLoader.cjs.js +0 -1
  1010. package/nodes/materials/LineBasicNodeMaterial.cjs.js +0 -1
  1011. package/nodes/materials/Materials.cjs.js +0 -1
  1012. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +0 -1
  1013. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +0 -1
  1014. package/nodes/materials/NodeMaterial.cjs.js +0 -1
  1015. package/nodes/materials/PointsNodeMaterial.cjs.js +0 -1
  1016. package/nodes/math/CondNode.cjs.js +0 -1
  1017. package/nodes/math/MathNode.cjs.js +0 -1
  1018. package/nodes/math/OperatorNode.cjs.js +0 -1
  1019. package/nodes/parsers/GLSLNodeFunction.cjs.js +0 -1
  1020. package/nodes/parsers/GLSLNodeFunction.js +0 -101
  1021. package/nodes/parsers/GLSLNodeParser.cjs.js +0 -1
  1022. package/nodes/parsers/GLSLNodeParser.js +0 -13
  1023. package/nodes/parsers/WGSLNodeFunction.cjs.js +0 -1
  1024. package/nodes/parsers/WGSLNodeFunction.js +0 -71
  1025. package/nodes/parsers/WGSLNodeParser.cjs.js +0 -1
  1026. package/nodes/parsers/WGSLNodeParser.js +0 -13
  1027. package/nodes/procedural/CheckerNode.cjs.js +0 -1
  1028. package/nodes/utils/ArrayElementNode.cjs.js +0 -1
  1029. package/nodes/utils/ConvertNode.cjs.js +0 -1
  1030. package/nodes/utils/JoinNode.cjs.js +0 -1
  1031. package/nodes/utils/MatcapUVNode.cjs.js +0 -1
  1032. package/nodes/utils/OscNode.cjs.js +0 -1
  1033. package/nodes/utils/SplitNode.cjs.js +0 -1
  1034. package/nodes/utils/SpriteSheetUVNode.cjs.js +0 -1
  1035. package/nodes/utils/TimerNode.cjs.js +0 -1
  1036. package/objects/GroundProjectedEnv.cjs.js +0 -1
  1037. package/objects/Lensflare.cjs.js +0 -1
  1038. package/objects/LightningStorm.cjs.js +0 -1
  1039. package/objects/MarchingCubes.cjs.js +0 -1
  1040. package/objects/Reflector.cjs.js +0 -1
  1041. package/objects/ReflectorForSSRPass.cjs.js +0 -1
  1042. package/objects/ReflectorRTT.cjs.js +0 -1
  1043. package/objects/Refractor.cjs.js +0 -1
  1044. package/objects/ShadowMesh.cjs.js +0 -1
  1045. package/objects/Sky.cjs.js +0 -1
  1046. package/objects/Water.cjs.js +0 -1
  1047. package/objects/Water2.cjs.js +0 -1
  1048. package/offscreen/jank.cjs.js +0 -1
  1049. package/offscreen/offscreen.cjs.js +0 -1
  1050. package/offscreen/scene.cjs.js +0 -1
  1051. package/physics/AmmoPhysics.cjs.js +0 -1
  1052. package/postprocessing/AdaptiveToneMappingPass.cjs.js +0 -1
  1053. package/postprocessing/AfterimagePass.cjs.js +0 -1
  1054. package/postprocessing/BloomPass.cjs.js +0 -1
  1055. package/postprocessing/BokehPass.cjs.js +0 -1
  1056. package/postprocessing/ClearPass.cjs.js +0 -1
  1057. package/postprocessing/CubeTexturePass.cjs.js +0 -1
  1058. package/postprocessing/DotScreenPass.cjs.js +0 -1
  1059. package/postprocessing/EffectComposer.cjs.js +0 -1
  1060. package/postprocessing/FilmPass.cjs.js +0 -1
  1061. package/postprocessing/GlitchPass.cjs.js +0 -1
  1062. package/postprocessing/HalftonePass.cjs.js +0 -1
  1063. package/postprocessing/LUTPass.cjs.js +0 -1
  1064. package/postprocessing/MaskPass.cjs.js +0 -1
  1065. package/postprocessing/OutlinePass.cjs.js +0 -1
  1066. package/postprocessing/Pass.cjs.js +0 -1
  1067. package/postprocessing/RenderPass.cjs.js +0 -1
  1068. package/postprocessing/RenderPixelatedPass.cjs.js +0 -1
  1069. package/postprocessing/SAOPass.cjs.js +0 -1
  1070. package/postprocessing/SMAAPass.cjs.js +0 -1
  1071. package/postprocessing/SSAARenderPass.cjs.js +0 -1
  1072. package/postprocessing/SSAOPass.cjs.js +0 -1
  1073. package/postprocessing/SSRPass.cjs.js +0 -1
  1074. package/postprocessing/SavePass.cjs.js +0 -1
  1075. package/postprocessing/ShaderPass.cjs.js +0 -1
  1076. package/postprocessing/TAARenderPass.cjs.js +0 -1
  1077. package/postprocessing/TexturePass.cjs.js +0 -1
  1078. package/postprocessing/UnrealBloomPass.cjs.js +0 -1
  1079. package/renderers/CSS2DRenderer.cjs.js +0 -1
  1080. package/renderers/CSS3DRenderer.cjs.js +0 -1
  1081. package/renderers/Projector.cjs.js +0 -1
  1082. package/renderers/SVGRenderer.cjs.js +0 -1
  1083. package/renderers/nodes/accessors/CameraNode.cjs.js +0 -1
  1084. package/renderers/nodes/accessors/ModelNode.cjs.js +0 -1
  1085. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  1086. package/renderers/nodes/accessors/NormalNode.cjs.js +0 -1
  1087. package/renderers/nodes/accessors/PositionNode.cjs.js +0 -1
  1088. package/renderers/nodes/accessors/UVNode.cjs.js +0 -1
  1089. package/renderers/nodes/core/AttributeNode.cjs.js +0 -1
  1090. package/renderers/nodes/core/InputNode.cjs.js +0 -1
  1091. package/renderers/nodes/core/Node.cjs.js +0 -1
  1092. package/renderers/nodes/core/NodeAttribute.cjs.js +0 -1
  1093. package/renderers/nodes/core/NodeBuilder.cjs.js +0 -1
  1094. package/renderers/nodes/core/NodeFrame.cjs.js +0 -1
  1095. package/renderers/nodes/core/NodeSlot.cjs.js +0 -1
  1096. package/renderers/nodes/core/NodeUniform.cjs.js +0 -1
  1097. package/renderers/nodes/core/NodeVary.cjs.js +0 -1
  1098. package/renderers/nodes/core/VaryNode.cjs.js +0 -1
  1099. package/renderers/nodes/core/constants.cjs.js +0 -1
  1100. package/renderers/nodes/inputs/ColorNode.cjs.js +0 -1
  1101. package/renderers/nodes/inputs/FloatNode.cjs.js +0 -1
  1102. package/renderers/nodes/inputs/Matrix3Node.cjs.js +0 -1
  1103. package/renderers/nodes/inputs/Matrix4Node.cjs.js +0 -1
  1104. package/renderers/nodes/inputs/TextureNode.cjs.js +0 -1
  1105. package/renderers/nodes/inputs/Vector2Node.cjs.js +0 -1
  1106. package/renderers/nodes/inputs/Vector3Node.cjs.js +0 -1
  1107. package/renderers/nodes/inputs/Vector4Node.cjs.js +0 -1
  1108. package/renderers/nodes/math/MathNode.cjs.js +0 -1
  1109. package/renderers/nodes/math/OperatorNode.cjs.js +0 -1
  1110. package/renderers/nodes/utils/SwitchNode.cjs.js +0 -1
  1111. package/renderers/nodes/utils/TimerNode.cjs.js +0 -1
  1112. package/renderers/webgpu/WebGPU.cjs.js +0 -1
  1113. package/renderers/webgpu/WebGPUAttributes.cjs.js +0 -1
  1114. package/renderers/webgpu/WebGPUBackground.cjs.js +0 -1
  1115. package/renderers/webgpu/WebGPUBinding.cjs.js +0 -1
  1116. package/renderers/webgpu/WebGPUBindings.cjs.js +0 -1
  1117. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +0 -1
  1118. package/renderers/webgpu/WebGPUGeometries.cjs.js +0 -1
  1119. package/renderers/webgpu/WebGPUInfo.cjs.js +0 -1
  1120. package/renderers/webgpu/WebGPUObjects.cjs.js +0 -1
  1121. package/renderers/webgpu/WebGPUProperties.cjs.js +0 -1
  1122. package/renderers/webgpu/WebGPURenderLists.cjs.js +0 -1
  1123. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +0 -1
  1124. package/renderers/webgpu/WebGPURenderer.cjs.js +0 -1
  1125. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +0 -1
  1126. package/renderers/webgpu/WebGPUSampler.cjs.js +0 -1
  1127. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +0 -1
  1128. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +0 -1
  1129. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +0 -1
  1130. package/renderers/webgpu/WebGPUTextures.cjs.js +0 -1
  1131. package/renderers/webgpu/WebGPUUniform.cjs.js +0 -1
  1132. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +0 -1
  1133. package/renderers/webgpu/constants.cjs.js +0 -1
  1134. package/renderers/webgpu/nodes/ShaderLib.cjs.js +0 -1
  1135. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +0 -1
  1136. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +0 -1
  1137. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +0 -1
  1138. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +0 -1
  1139. package/shaders/ACESFilmicToneMappingShader.cjs.js +0 -1
  1140. package/shaders/AfterimageShader.cjs.js +0 -1
  1141. package/shaders/BasicShader.cjs.js +0 -1
  1142. package/shaders/BleachBypassShader.cjs.js +0 -1
  1143. package/shaders/BlendShader.cjs.js +0 -1
  1144. package/shaders/BokehShader.cjs.js +0 -1
  1145. package/shaders/BokehShader2.cjs.js +0 -1
  1146. package/shaders/BrightnessContrastShader.cjs.js +0 -1
  1147. package/shaders/ColorCorrectionShader.cjs.js +0 -1
  1148. package/shaders/ColorifyShader.cjs.js +0 -1
  1149. package/shaders/ConvolutionShader.cjs.js +0 -1
  1150. package/shaders/CopyShader.cjs.js +0 -1
  1151. package/shaders/DOFMipMapShader.cjs.js +0 -1
  1152. package/shaders/DepthLimitedBlurShader.cjs.js +0 -1
  1153. package/shaders/DigitalGlitch.cjs.js +0 -1
  1154. package/shaders/DotScreenShader.cjs.js +0 -1
  1155. package/shaders/FXAAShader.cjs.js +0 -1
  1156. package/shaders/FilmShader.cjs.js +0 -1
  1157. package/shaders/FocusShader.cjs.js +0 -1
  1158. package/shaders/FreiChenShader.cjs.js +0 -1
  1159. package/shaders/FresnelShader.cjs.js +0 -1
  1160. package/shaders/GammaCorrectionShader.cjs.js +0 -1
  1161. package/shaders/GodRaysShader.cjs.js +0 -1
  1162. package/shaders/HalftoneShader.cjs.js +0 -1
  1163. package/shaders/HorizontalBlurShader.cjs.js +0 -1
  1164. package/shaders/HorizontalTiltShiftShader.cjs.js +0 -1
  1165. package/shaders/HueSaturationShader.cjs.js +0 -1
  1166. package/shaders/KaleidoShader.cjs.js +0 -1
  1167. package/shaders/LuminosityHighPassShader.cjs.js +0 -1
  1168. package/shaders/LuminosityShader.cjs.js +0 -1
  1169. package/shaders/MirrorShader.cjs.js +0 -1
  1170. package/shaders/NormalMapShader.cjs.js +0 -1
  1171. package/shaders/ParallaxShader.cjs.js +0 -1
  1172. package/shaders/PixelShader.cjs.js +0 -1
  1173. package/shaders/RGBShiftShader.cjs.js +0 -1
  1174. package/shaders/SAOShader.cjs.js +0 -1
  1175. package/shaders/SMAAShader.cjs.js +0 -1
  1176. package/shaders/SSAOShader.cjs.js +0 -1
  1177. package/shaders/SSRShader.cjs.js +0 -1
  1178. package/shaders/SepiaShader.cjs.js +0 -1
  1179. package/shaders/SobelOperatorShader.cjs.js +0 -1
  1180. package/shaders/SubsurfaceScatteringShader.cjs.js +0 -1
  1181. package/shaders/TechnicolorShader.cjs.js +0 -1
  1182. package/shaders/ToneMapShader.cjs.js +0 -1
  1183. package/shaders/ToonShader.cjs.js +0 -1
  1184. package/shaders/TriangleBlurShader.cjs.js +0 -1
  1185. package/shaders/UnpackDepthRGBAShader.cjs.js +0 -1
  1186. package/shaders/VerticalBlurShader.cjs.js +0 -1
  1187. package/shaders/VerticalTiltShiftShader.cjs.js +0 -1
  1188. package/shaders/VignetteShader.cjs.js +0 -1
  1189. package/shaders/VolumeShader.cjs.js +0 -1
  1190. package/shaders/WaterRefractionShader.cjs.js +0 -1
  1191. package/shaders/index.cjs.js +0 -1
  1192. package/shaders/index.d.ts +0 -54
  1193. package/shaders/index.js +0 -53
  1194. package/shaders/types.cjs.js +0 -1
  1195. package/textures/FlakesTexture.cjs.js +0 -1
  1196. package/types/helpers.cjs.js +0 -1
  1197. package/types/shared.cjs.js +0 -1
  1198. package/types/shared.js +0 -1
  1199. package/types/utils.cjs.js +0 -1
  1200. package/types/utils.js +0 -1
  1201. package/utils/BufferGeometryUtils.cjs.js +0 -1
  1202. package/utils/GeometryCompressionUtils.cjs.js +0 -1
  1203. package/utils/GeometryUtils.cjs.js +0 -1
  1204. package/utils/LDrawUtils.cjs.js +0 -1
  1205. package/utils/LDrawUtils.d.ts +0 -5
  1206. package/utils/LDrawUtils.js +0 -144
  1207. package/utils/RoughnessMipmapper.cjs.js +0 -1
  1208. package/utils/SceneUtils.cjs.js +0 -1
  1209. package/utils/ShadowMapViewer.cjs.js +0 -1
  1210. package/utils/SkeletonUtils.cjs.js +0 -1
  1211. package/utils/UVsDebug.cjs.js +0 -1
  1212. package/utils/WorkerPool.cjs.js +0 -1
  1213. package/webxr/ARButton.cjs.js +0 -1
  1214. package/webxr/OculusHandModel.cjs.js +0 -1
  1215. package/webxr/OculusHandPointerModel.cjs.js +0 -1
  1216. package/webxr/Text2D.cjs.js +0 -1
  1217. package/webxr/VRButton.cjs.js +0 -1
  1218. package/webxr/XRControllerModelFactory.cjs.js +0 -1
  1219. package/webxr/XREstimatedLight.cjs.js +0 -1
  1220. package/webxr/XRHandMeshModel.cjs.js +0 -1
  1221. package/webxr/XRHandModelFactory.cjs.js +0 -1
  1222. package/webxr/XRHandPrimitiveModel.cjs.js +0 -1
@@ -1,78 +1,62 @@
1
- import { Loader, FileLoader, TextureLoader, LoaderUtils, Group, Color, Matrix4, BufferGeometry, Float32BufferAttribute, Mesh, MeshPhongMaterial, BufferAttribute, MeshStandardMaterial, sRGBEncoding, RepeatWrapping, ClampToEdgeWrapping, MirroredRepeatWrapping, LinearFilter, LinearMipmapLinearFilter, NearestFilter } from 'three';
2
- import { unzipSync } from 'fflate';
3
-
4
- /**
5
- *
6
- * 3D Manufacturing Format (3MF) specification: https://3mf.io/specification/
7
- *
8
- * The following features from the core specification are supported:
9
- *
10
- * - 3D Models
11
- * - Object Resources (Meshes and Components)
12
- * - Material Resources (Base Materials)
13
- *
14
- * 3MF Materials and Properties Extension are only partially supported.
15
- *
16
- * - Texture 2D
17
- * - Texture 2D Groups
18
- * - Color Groups (Vertex Colors)
19
- * - Metallic Display Properties (PBR)
20
- */
21
-
22
- class ThreeMFLoader extends Loader {
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const THREE = require("three");
4
+ const fflate = require("fflate");
5
+ class ThreeMFLoader extends THREE.Loader {
23
6
  constructor(manager) {
24
7
  super(manager);
25
8
  this.availableExtensions = [];
26
9
  }
27
-
28
10
  load(url, onLoad, onProgress, onError) {
29
11
  const scope = this;
30
- const loader = new FileLoader(scope.manager);
12
+ const loader = new THREE.FileLoader(scope.manager);
31
13
  loader.setPath(scope.path);
32
- loader.setResponseType('arraybuffer');
14
+ loader.setResponseType("arraybuffer");
33
15
  loader.setRequestHeader(scope.requestHeader);
34
16
  loader.setWithCredentials(scope.withCredentials);
35
- loader.load(url, function (buffer) {
36
- try {
37
- onLoad(scope.parse(buffer));
38
- } catch (e) {
39
- if (onError) {
40
- onError(e);
41
- } else {
42
- console.error(e);
17
+ loader.load(
18
+ url,
19
+ function(buffer) {
20
+ try {
21
+ onLoad(scope.parse(buffer));
22
+ } catch (e) {
23
+ if (onError) {
24
+ onError(e);
25
+ } else {
26
+ console.error(e);
27
+ }
28
+ scope.manager.itemError(url);
43
29
  }
44
-
45
- scope.manager.itemError(url);
46
- }
47
- }, onProgress, onError);
30
+ },
31
+ onProgress,
32
+ onError
33
+ );
48
34
  }
49
-
50
35
  parse(data) {
51
36
  const scope = this;
52
- const textureLoader = new TextureLoader(this.manager);
53
-
54
- function loadDocument(data) {
37
+ const textureLoader = new THREE.TextureLoader(this.manager);
38
+ function loadDocument(data2) {
55
39
  let zip = null;
56
40
  let file = null;
57
41
  let relsName;
58
42
  let modelRelsName;
59
43
  const modelPartNames = [];
44
+ const printTicketPartNames = [];
60
45
  const texturesPartNames = [];
46
+ const otherPartNames = [];
61
47
  let modelRels;
62
48
  const modelParts = {};
63
49
  const printTicketParts = {};
64
50
  const texturesParts = {};
65
51
  const otherParts = {};
66
-
67
52
  try {
68
- zip = unzipSync(new Uint8Array(data)); // eslint-disable-line no-undef
53
+ zip = fflate.unzipSync(new Uint8Array(data2));
69
54
  } catch (e) {
70
55
  if (e instanceof ReferenceError) {
71
- console.error('THREE.3MFLoader: fflate missing and file is compressed.');
56
+ console.error("THREE.3MFLoader: fflate missing and file is compressed.");
72
57
  return null;
73
58
  }
74
59
  }
75
-
76
60
  for (file in zip) {
77
61
  if (file.match(/\_rels\/.rels$/)) {
78
62
  relsName = file;
@@ -80,585 +64,454 @@ class ThreeMFLoader extends Loader {
80
64
  modelRelsName = file;
81
65
  } else if (file.match(/^3D\/.*\.model$/)) {
82
66
  modelPartNames.push(file);
83
- } else if (file.match(/^3D\/Metadata\/.*\.xml$/)) ; else if (file.match(/^3D\/Textures?\/.*/)) {
67
+ } else if (file.match(/^3D\/Metadata\/.*\.xml$/)) {
68
+ printTicketPartNames.push(file);
69
+ } else if (file.match(/^3D\/Textures?\/.*/)) {
84
70
  texturesPartNames.push(file);
85
- } else if (file.match(/^3D\/Other\/.*/)) ;
86
- } //
87
-
88
-
71
+ } else if (file.match(/^3D\/Other\/.*/)) {
72
+ otherPartNames.push(file);
73
+ }
74
+ }
89
75
  const relsView = zip[relsName];
90
- const relsFileText = LoaderUtils.decodeText(relsView);
91
- const rels = parseRelsXml(relsFileText); //
92
-
76
+ const relsFileText = THREE.LoaderUtils.decodeText(relsView);
77
+ const rels = parseRelsXml(relsFileText);
93
78
  if (modelRelsName) {
94
- const relsView = zip[modelRelsName];
95
- const relsFileText = LoaderUtils.decodeText(relsView);
96
- modelRels = parseRelsXml(relsFileText);
97
- } //
98
-
99
-
79
+ const relsView2 = zip[modelRelsName];
80
+ const relsFileText2 = THREE.LoaderUtils.decodeText(relsView2);
81
+ modelRels = parseRelsXml(relsFileText2);
82
+ }
100
83
  for (let i = 0; i < modelPartNames.length; i++) {
101
84
  const modelPart = modelPartNames[i];
102
85
  const view = zip[modelPart];
103
- const fileText = LoaderUtils.decodeText(view);
104
- const xmlData = new DOMParser().parseFromString(fileText, 'application/xml');
105
-
106
- if (xmlData.documentElement.nodeName.toLowerCase() !== 'model') {
107
- console.error('THREE.3MFLoader: Error loading 3MF - no 3MF document found: ', modelPart);
86
+ const fileText = THREE.LoaderUtils.decodeText(view);
87
+ const xmlData = new DOMParser().parseFromString(fileText, "application/xml");
88
+ if (xmlData.documentElement.nodeName.toLowerCase() !== "model") {
89
+ console.error("THREE.3MFLoader: Error loading 3MF - no 3MF document found: ", modelPart);
108
90
  }
109
-
110
- const modelNode = xmlData.querySelector('model');
91
+ const modelNode = xmlData.querySelector("model");
111
92
  const extensions = {};
112
-
113
- for (let i = 0; i < modelNode.attributes.length; i++) {
114
- const attr = modelNode.attributes[i];
115
-
93
+ for (let i2 = 0; i2 < modelNode.attributes.length; i2++) {
94
+ const attr = modelNode.attributes[i2];
116
95
  if (attr.name.match(/^xmlns:(.+)$/)) {
117
96
  extensions[attr.value] = RegExp.$1;
118
97
  }
119
98
  }
120
-
121
99
  const modelData = parseModelNode(modelNode);
122
- modelData['xml'] = modelNode;
123
-
100
+ modelData["xml"] = modelNode;
124
101
  if (0 < Object.keys(extensions).length) {
125
- modelData['extensions'] = extensions;
102
+ modelData["extensions"] = extensions;
126
103
  }
127
-
128
104
  modelParts[modelPart] = modelData;
129
- } //
130
-
131
-
105
+ }
132
106
  for (let i = 0; i < texturesPartNames.length; i++) {
133
107
  const texturesPartName = texturesPartNames[i];
134
108
  texturesParts[texturesPartName] = zip[texturesPartName].buffer;
135
109
  }
136
-
137
110
  return {
138
- rels: rels,
139
- modelRels: modelRels,
111
+ rels,
112
+ modelRels,
140
113
  model: modelParts,
141
114
  printTicket: printTicketParts,
142
115
  texture: texturesParts,
143
116
  other: otherParts
144
117
  };
145
118
  }
146
-
147
119
  function parseRelsXml(relsFileText) {
148
120
  const relationships = [];
149
- const relsXmlData = new DOMParser().parseFromString(relsFileText, 'application/xml');
150
- const relsNodes = relsXmlData.querySelectorAll('Relationship');
151
-
121
+ const relsXmlData = new DOMParser().parseFromString(relsFileText, "application/xml");
122
+ const relsNodes = relsXmlData.querySelectorAll("Relationship");
152
123
  for (let i = 0; i < relsNodes.length; i++) {
153
124
  const relsNode = relsNodes[i];
154
125
  const relationship = {
155
- target: relsNode.getAttribute('Target'),
156
- //required
157
- id: relsNode.getAttribute('Id'),
158
- //required
159
- type: relsNode.getAttribute('Type') //required
160
-
126
+ target: relsNode.getAttribute("Target"),
127
+ id: relsNode.getAttribute("Id"),
128
+ type: relsNode.getAttribute("Type")
161
129
  };
162
130
  relationships.push(relationship);
163
131
  }
164
-
165
132
  return relationships;
166
133
  }
167
-
168
134
  function parseMetadataNodes(metadataNodes) {
169
135
  const metadataData = {};
170
-
171
136
  for (let i = 0; i < metadataNodes.length; i++) {
172
137
  const metadataNode = metadataNodes[i];
173
- const name = metadataNode.getAttribute('name');
174
- const validNames = ['Title', 'Designer', 'Description', 'Copyright', 'LicenseTerms', 'Rating', 'CreationDate', 'ModificationDate'];
175
-
138
+ const name = metadataNode.getAttribute("name");
139
+ const validNames = [
140
+ "Title",
141
+ "Designer",
142
+ "Description",
143
+ "Copyright",
144
+ "LicenseTerms",
145
+ "Rating",
146
+ "CreationDate",
147
+ "ModificationDate"
148
+ ];
176
149
  if (0 <= validNames.indexOf(name)) {
177
150
  metadataData[name] = metadataNode.textContent;
178
151
  }
179
152
  }
180
-
181
153
  return metadataData;
182
154
  }
183
-
184
155
  function parseBasematerialsNode(basematerialsNode) {
185
156
  const basematerialsData = {
186
- id: basematerialsNode.getAttribute('id'),
187
- // required
157
+ id: basematerialsNode.getAttribute("id"),
188
158
  basematerials: []
189
159
  };
190
- const basematerialNodes = basematerialsNode.querySelectorAll('base');
191
-
160
+ const basematerialNodes = basematerialsNode.querySelectorAll("base");
192
161
  for (let i = 0; i < basematerialNodes.length; i++) {
193
162
  const basematerialNode = basematerialNodes[i];
194
163
  const basematerialData = parseBasematerialNode(basematerialNode);
195
- basematerialData.index = i; // the order and count of the material nodes form an implicit 0-based index
196
-
164
+ basematerialData.index = i;
197
165
  basematerialsData.basematerials.push(basematerialData);
198
166
  }
199
-
200
167
  return basematerialsData;
201
168
  }
202
-
203
169
  function parseTexture2DNode(texture2DNode) {
204
170
  const texture2dData = {
205
- id: texture2DNode.getAttribute('id'),
206
- // required
207
- path: texture2DNode.getAttribute('path'),
208
- // required
209
- contenttype: texture2DNode.getAttribute('contenttype'),
210
- // required
211
- tilestyleu: texture2DNode.getAttribute('tilestyleu'),
212
- tilestylev: texture2DNode.getAttribute('tilestylev'),
213
- filter: texture2DNode.getAttribute('filter')
171
+ id: texture2DNode.getAttribute("id"),
172
+ path: texture2DNode.getAttribute("path"),
173
+ contenttype: texture2DNode.getAttribute("contenttype"),
174
+ tilestyleu: texture2DNode.getAttribute("tilestyleu"),
175
+ tilestylev: texture2DNode.getAttribute("tilestylev"),
176
+ filter: texture2DNode.getAttribute("filter")
214
177
  };
215
178
  return texture2dData;
216
179
  }
217
-
218
180
  function parseTextures2DGroupNode(texture2DGroupNode) {
219
181
  const texture2DGroupData = {
220
- id: texture2DGroupNode.getAttribute('id'),
221
- // required
222
- texid: texture2DGroupNode.getAttribute('texid'),
223
- // required
224
- displaypropertiesid: texture2DGroupNode.getAttribute('displaypropertiesid')
182
+ id: texture2DGroupNode.getAttribute("id"),
183
+ texid: texture2DGroupNode.getAttribute("texid"),
184
+ displaypropertiesid: texture2DGroupNode.getAttribute("displaypropertiesid")
225
185
  };
226
- const tex2coordNodes = texture2DGroupNode.querySelectorAll('tex2coord');
186
+ const tex2coordNodes = texture2DGroupNode.querySelectorAll("tex2coord");
227
187
  const uvs = [];
228
-
229
188
  for (let i = 0; i < tex2coordNodes.length; i++) {
230
189
  const tex2coordNode = tex2coordNodes[i];
231
- const u = tex2coordNode.getAttribute('u');
232
- const v = tex2coordNode.getAttribute('v');
190
+ const u = tex2coordNode.getAttribute("u");
191
+ const v = tex2coordNode.getAttribute("v");
233
192
  uvs.push(parseFloat(u), parseFloat(v));
234
193
  }
235
-
236
- texture2DGroupData['uvs'] = new Float32Array(uvs);
194
+ texture2DGroupData["uvs"] = new Float32Array(uvs);
237
195
  return texture2DGroupData;
238
196
  }
239
-
240
197
  function parseColorGroupNode(colorGroupNode) {
241
198
  const colorGroupData = {
242
- id: colorGroupNode.getAttribute('id'),
243
- // required
244
- displaypropertiesid: colorGroupNode.getAttribute('displaypropertiesid')
199
+ id: colorGroupNode.getAttribute("id"),
200
+ displaypropertiesid: colorGroupNode.getAttribute("displaypropertiesid")
245
201
  };
246
- const colorNodes = colorGroupNode.querySelectorAll('color');
202
+ const colorNodes = colorGroupNode.querySelectorAll("color");
247
203
  const colors = [];
248
- const colorObject = new Color();
249
-
204
+ const colorObject = new THREE.Color();
250
205
  for (let i = 0; i < colorNodes.length; i++) {
251
206
  const colorNode = colorNodes[i];
252
- const color = colorNode.getAttribute('color');
207
+ const color = colorNode.getAttribute("color");
253
208
  colorObject.setStyle(color.substring(0, 7));
254
- colorObject.convertSRGBToLinear(); // color is in sRGB
255
-
209
+ colorObject.convertSRGBToLinear();
256
210
  colors.push(colorObject.r, colorObject.g, colorObject.b);
257
211
  }
258
-
259
- colorGroupData['colors'] = new Float32Array(colors);
212
+ colorGroupData["colors"] = new Float32Array(colors);
260
213
  return colorGroupData;
261
214
  }
262
-
263
215
  function parseMetallicDisplaypropertiesNode(metallicDisplaypropetiesNode) {
264
216
  const metallicDisplaypropertiesData = {
265
- id: metallicDisplaypropetiesNode.getAttribute('id') // required
266
-
217
+ id: metallicDisplaypropetiesNode.getAttribute("id")
267
218
  };
268
- const metallicNodes = metallicDisplaypropetiesNode.querySelectorAll('pbmetallic');
219
+ const metallicNodes = metallicDisplaypropetiesNode.querySelectorAll("pbmetallic");
269
220
  const metallicData = [];
270
-
271
221
  for (let i = 0; i < metallicNodes.length; i++) {
272
222
  const metallicNode = metallicNodes[i];
273
223
  metallicData.push({
274
- name: metallicNode.getAttribute('name'),
275
- // required
276
- metallicness: parseFloat(metallicNode.getAttribute('metallicness')),
277
- // required
278
- roughness: parseFloat(metallicNode.getAttribute('roughness')) // required
279
-
224
+ name: metallicNode.getAttribute("name"),
225
+ metallicness: parseFloat(metallicNode.getAttribute("metallicness")),
226
+ roughness: parseFloat(metallicNode.getAttribute("roughness"))
280
227
  });
281
228
  }
282
-
283
229
  metallicDisplaypropertiesData.data = metallicData;
284
230
  return metallicDisplaypropertiesData;
285
231
  }
286
-
287
232
  function parseBasematerialNode(basematerialNode) {
288
233
  const basematerialData = {};
289
- basematerialData['name'] = basematerialNode.getAttribute('name'); // required
290
-
291
- basematerialData['displaycolor'] = basematerialNode.getAttribute('displaycolor'); // required
292
-
293
- basematerialData['displaypropertiesid'] = basematerialNode.getAttribute('displaypropertiesid');
234
+ basematerialData["name"] = basematerialNode.getAttribute("name");
235
+ basematerialData["displaycolor"] = basematerialNode.getAttribute("displaycolor");
236
+ basematerialData["displaypropertiesid"] = basematerialNode.getAttribute("displaypropertiesid");
294
237
  return basematerialData;
295
238
  }
296
-
297
239
  function parseMeshNode(meshNode) {
298
240
  const meshData = {};
299
241
  const vertices = [];
300
- const vertexNodes = meshNode.querySelectorAll('vertices vertex');
301
-
242
+ const vertexNodes = meshNode.querySelectorAll("vertices vertex");
302
243
  for (let i = 0; i < vertexNodes.length; i++) {
303
244
  const vertexNode = vertexNodes[i];
304
- const x = vertexNode.getAttribute('x');
305
- const y = vertexNode.getAttribute('y');
306
- const z = vertexNode.getAttribute('z');
245
+ const x = vertexNode.getAttribute("x");
246
+ const y = vertexNode.getAttribute("y");
247
+ const z = vertexNode.getAttribute("z");
307
248
  vertices.push(parseFloat(x), parseFloat(y), parseFloat(z));
308
249
  }
309
-
310
- meshData['vertices'] = new Float32Array(vertices);
250
+ meshData["vertices"] = new Float32Array(vertices);
311
251
  const triangleProperties = [];
312
252
  const triangles = [];
313
- const triangleNodes = meshNode.querySelectorAll('triangles triangle');
314
-
253
+ const triangleNodes = meshNode.querySelectorAll("triangles triangle");
315
254
  for (let i = 0; i < triangleNodes.length; i++) {
316
255
  const triangleNode = triangleNodes[i];
317
- const v1 = triangleNode.getAttribute('v1');
318
- const v2 = triangleNode.getAttribute('v2');
319
- const v3 = triangleNode.getAttribute('v3');
320
- const p1 = triangleNode.getAttribute('p1');
321
- const p2 = triangleNode.getAttribute('p2');
322
- const p3 = triangleNode.getAttribute('p3');
323
- const pid = triangleNode.getAttribute('pid');
256
+ const v1 = triangleNode.getAttribute("v1");
257
+ const v2 = triangleNode.getAttribute("v2");
258
+ const v3 = triangleNode.getAttribute("v3");
259
+ const p1 = triangleNode.getAttribute("p1");
260
+ const p2 = triangleNode.getAttribute("p2");
261
+ const p3 = triangleNode.getAttribute("p3");
262
+ const pid = triangleNode.getAttribute("pid");
324
263
  const triangleProperty = {};
325
- triangleProperty['v1'] = parseInt(v1, 10);
326
- triangleProperty['v2'] = parseInt(v2, 10);
327
- triangleProperty['v3'] = parseInt(v3, 10);
328
- triangles.push(triangleProperty['v1'], triangleProperty['v2'], triangleProperty['v3']); // optional
329
-
264
+ triangleProperty["v1"] = parseInt(v1, 10);
265
+ triangleProperty["v2"] = parseInt(v2, 10);
266
+ triangleProperty["v3"] = parseInt(v3, 10);
267
+ triangles.push(triangleProperty["v1"], triangleProperty["v2"], triangleProperty["v3"]);
330
268
  if (p1) {
331
- triangleProperty['p1'] = parseInt(p1, 10);
269
+ triangleProperty["p1"] = parseInt(p1, 10);
332
270
  }
333
-
334
271
  if (p2) {
335
- triangleProperty['p2'] = parseInt(p2, 10);
272
+ triangleProperty["p2"] = parseInt(p2, 10);
336
273
  }
337
-
338
274
  if (p3) {
339
- triangleProperty['p3'] = parseInt(p3, 10);
275
+ triangleProperty["p3"] = parseInt(p3, 10);
340
276
  }
341
-
342
277
  if (pid) {
343
- triangleProperty['pid'] = pid;
278
+ triangleProperty["pid"] = pid;
344
279
  }
345
-
346
280
  if (0 < Object.keys(triangleProperty).length) {
347
281
  triangleProperties.push(triangleProperty);
348
282
  }
349
283
  }
350
-
351
- meshData['triangleProperties'] = triangleProperties;
352
- meshData['triangles'] = new Uint32Array(triangles);
284
+ meshData["triangleProperties"] = triangleProperties;
285
+ meshData["triangles"] = new Uint32Array(triangles);
353
286
  return meshData;
354
287
  }
355
-
356
288
  function parseComponentsNode(componentsNode) {
357
289
  const components = [];
358
- const componentNodes = componentsNode.querySelectorAll('component');
359
-
290
+ const componentNodes = componentsNode.querySelectorAll("component");
360
291
  for (let i = 0; i < componentNodes.length; i++) {
361
292
  const componentNode = componentNodes[i];
362
293
  const componentData = parseComponentNode(componentNode);
363
294
  components.push(componentData);
364
295
  }
365
-
366
296
  return components;
367
297
  }
368
-
369
298
  function parseComponentNode(componentNode) {
370
299
  const componentData = {};
371
- componentData['objectId'] = componentNode.getAttribute('objectid'); // required
372
-
373
- const transform = componentNode.getAttribute('transform');
374
-
300
+ componentData["objectId"] = componentNode.getAttribute("objectid");
301
+ const transform = componentNode.getAttribute("transform");
375
302
  if (transform) {
376
- componentData['transform'] = parseTransform(transform);
303
+ componentData["transform"] = parseTransform(transform);
377
304
  }
378
-
379
305
  return componentData;
380
306
  }
381
-
382
307
  function parseTransform(transform) {
383
308
  const t = [];
384
- transform.split(' ').forEach(function (s) {
309
+ transform.split(" ").forEach(function(s) {
385
310
  t.push(parseFloat(s));
386
311
  });
387
- const matrix = new Matrix4();
388
- matrix.set(t[0], t[3], t[6], t[9], t[1], t[4], t[7], t[10], t[2], t[5], t[8], t[11], 0.0, 0.0, 0.0, 1.0);
312
+ const matrix = new THREE.Matrix4();
313
+ matrix.set(t[0], t[3], t[6], t[9], t[1], t[4], t[7], t[10], t[2], t[5], t[8], t[11], 0, 0, 0, 1);
389
314
  return matrix;
390
315
  }
391
-
392
316
  function parseObjectNode(objectNode) {
393
317
  const objectData = {
394
- type: objectNode.getAttribute('type')
318
+ type: objectNode.getAttribute("type")
395
319
  };
396
- const id = objectNode.getAttribute('id');
397
-
320
+ const id = objectNode.getAttribute("id");
398
321
  if (id) {
399
- objectData['id'] = id;
322
+ objectData["id"] = id;
400
323
  }
401
-
402
- const pid = objectNode.getAttribute('pid');
403
-
324
+ const pid = objectNode.getAttribute("pid");
404
325
  if (pid) {
405
- objectData['pid'] = pid;
326
+ objectData["pid"] = pid;
406
327
  }
407
-
408
- const pindex = objectNode.getAttribute('pindex');
409
-
328
+ const pindex = objectNode.getAttribute("pindex");
410
329
  if (pindex) {
411
- objectData['pindex'] = pindex;
330
+ objectData["pindex"] = pindex;
412
331
  }
413
-
414
- const thumbnail = objectNode.getAttribute('thumbnail');
415
-
332
+ const thumbnail = objectNode.getAttribute("thumbnail");
416
333
  if (thumbnail) {
417
- objectData['thumbnail'] = thumbnail;
334
+ objectData["thumbnail"] = thumbnail;
418
335
  }
419
-
420
- const partnumber = objectNode.getAttribute('partnumber');
421
-
336
+ const partnumber = objectNode.getAttribute("partnumber");
422
337
  if (partnumber) {
423
- objectData['partnumber'] = partnumber;
338
+ objectData["partnumber"] = partnumber;
424
339
  }
425
-
426
- const name = objectNode.getAttribute('name');
427
-
340
+ const name = objectNode.getAttribute("name");
428
341
  if (name) {
429
- objectData['name'] = name;
342
+ objectData["name"] = name;
430
343
  }
431
-
432
- const meshNode = objectNode.querySelector('mesh');
433
-
344
+ const meshNode = objectNode.querySelector("mesh");
434
345
  if (meshNode) {
435
- objectData['mesh'] = parseMeshNode(meshNode);
346
+ objectData["mesh"] = parseMeshNode(meshNode);
436
347
  }
437
-
438
- const componentsNode = objectNode.querySelector('components');
439
-
348
+ const componentsNode = objectNode.querySelector("components");
440
349
  if (componentsNode) {
441
- objectData['components'] = parseComponentsNode(componentsNode);
350
+ objectData["components"] = parseComponentsNode(componentsNode);
442
351
  }
443
-
444
352
  return objectData;
445
353
  }
446
-
447
354
  function parseResourcesNode(resourcesNode) {
448
355
  const resourcesData = {};
449
- resourcesData['basematerials'] = {};
450
- const basematerialsNodes = resourcesNode.querySelectorAll('basematerials');
451
-
356
+ resourcesData["basematerials"] = {};
357
+ const basematerialsNodes = resourcesNode.querySelectorAll("basematerials");
452
358
  for (let i = 0; i < basematerialsNodes.length; i++) {
453
359
  const basematerialsNode = basematerialsNodes[i];
454
360
  const basematerialsData = parseBasematerialsNode(basematerialsNode);
455
- resourcesData['basematerials'][basematerialsData['id']] = basematerialsData;
456
- } //
457
-
458
-
459
- resourcesData['texture2d'] = {};
460
- const textures2DNodes = resourcesNode.querySelectorAll('texture2d');
461
-
361
+ resourcesData["basematerials"][basematerialsData["id"]] = basematerialsData;
362
+ }
363
+ resourcesData["texture2d"] = {};
364
+ const textures2DNodes = resourcesNode.querySelectorAll("texture2d");
462
365
  for (let i = 0; i < textures2DNodes.length; i++) {
463
366
  const textures2DNode = textures2DNodes[i];
464
367
  const texture2DData = parseTexture2DNode(textures2DNode);
465
- resourcesData['texture2d'][texture2DData['id']] = texture2DData;
466
- } //
467
-
468
-
469
- resourcesData['colorgroup'] = {};
470
- const colorGroupNodes = resourcesNode.querySelectorAll('colorgroup');
471
-
368
+ resourcesData["texture2d"][texture2DData["id"]] = texture2DData;
369
+ }
370
+ resourcesData["colorgroup"] = {};
371
+ const colorGroupNodes = resourcesNode.querySelectorAll("colorgroup");
472
372
  for (let i = 0; i < colorGroupNodes.length; i++) {
473
373
  const colorGroupNode = colorGroupNodes[i];
474
374
  const colorGroupData = parseColorGroupNode(colorGroupNode);
475
- resourcesData['colorgroup'][colorGroupData['id']] = colorGroupData;
476
- } //
477
-
478
-
479
- resourcesData['pbmetallicdisplayproperties'] = {};
480
- const pbmetallicdisplaypropertiesNodes = resourcesNode.querySelectorAll('pbmetallicdisplayproperties');
481
-
375
+ resourcesData["colorgroup"][colorGroupData["id"]] = colorGroupData;
376
+ }
377
+ resourcesData["pbmetallicdisplayproperties"] = {};
378
+ const pbmetallicdisplaypropertiesNodes = resourcesNode.querySelectorAll("pbmetallicdisplayproperties");
482
379
  for (let i = 0; i < pbmetallicdisplaypropertiesNodes.length; i++) {
483
380
  const pbmetallicdisplaypropertiesNode = pbmetallicdisplaypropertiesNodes[i];
484
381
  const pbmetallicdisplaypropertiesData = parseMetallicDisplaypropertiesNode(pbmetallicdisplaypropertiesNode);
485
- resourcesData['pbmetallicdisplayproperties'][pbmetallicdisplaypropertiesData['id']] = pbmetallicdisplaypropertiesData;
486
- } //
487
-
488
-
489
- resourcesData['texture2dgroup'] = {};
490
- const textures2DGroupNodes = resourcesNode.querySelectorAll('texture2dgroup');
491
-
382
+ resourcesData["pbmetallicdisplayproperties"][pbmetallicdisplaypropertiesData["id"]] = pbmetallicdisplaypropertiesData;
383
+ }
384
+ resourcesData["texture2dgroup"] = {};
385
+ const textures2DGroupNodes = resourcesNode.querySelectorAll("texture2dgroup");
492
386
  for (let i = 0; i < textures2DGroupNodes.length; i++) {
493
387
  const textures2DGroupNode = textures2DGroupNodes[i];
494
388
  const textures2DGroupData = parseTextures2DGroupNode(textures2DGroupNode);
495
- resourcesData['texture2dgroup'][textures2DGroupData['id']] = textures2DGroupData;
496
- } //
497
-
498
-
499
- resourcesData['object'] = {};
500
- const objectNodes = resourcesNode.querySelectorAll('object');
501
-
389
+ resourcesData["texture2dgroup"][textures2DGroupData["id"]] = textures2DGroupData;
390
+ }
391
+ resourcesData["object"] = {};
392
+ const objectNodes = resourcesNode.querySelectorAll("object");
502
393
  for (let i = 0; i < objectNodes.length; i++) {
503
394
  const objectNode = objectNodes[i];
504
395
  const objectData = parseObjectNode(objectNode);
505
- resourcesData['object'][objectData['id']] = objectData;
396
+ resourcesData["object"][objectData["id"]] = objectData;
506
397
  }
507
-
508
398
  return resourcesData;
509
399
  }
510
-
511
400
  function parseBuildNode(buildNode) {
512
401
  const buildData = [];
513
- const itemNodes = buildNode.querySelectorAll('item');
514
-
402
+ const itemNodes = buildNode.querySelectorAll("item");
515
403
  for (let i = 0; i < itemNodes.length; i++) {
516
404
  const itemNode = itemNodes[i];
517
405
  const buildItem = {
518
- objectId: itemNode.getAttribute('objectid')
406
+ objectId: itemNode.getAttribute("objectid")
519
407
  };
520
- const transform = itemNode.getAttribute('transform');
521
-
408
+ const transform = itemNode.getAttribute("transform");
522
409
  if (transform) {
523
- buildItem['transform'] = parseTransform(transform);
410
+ buildItem["transform"] = parseTransform(transform);
524
411
  }
525
-
526
412
  buildData.push(buildItem);
527
413
  }
528
-
529
414
  return buildData;
530
415
  }
531
-
532
416
  function parseModelNode(modelNode) {
533
- const modelData = {
534
- unit: modelNode.getAttribute('unit') || 'millimeter'
535
- };
536
- const metadataNodes = modelNode.querySelectorAll('metadata');
537
-
417
+ const modelData = { unit: modelNode.getAttribute("unit") || "millimeter" };
418
+ const metadataNodes = modelNode.querySelectorAll("metadata");
538
419
  if (metadataNodes) {
539
- modelData['metadata'] = parseMetadataNodes(metadataNodes);
420
+ modelData["metadata"] = parseMetadataNodes(metadataNodes);
540
421
  }
541
-
542
- const resourcesNode = modelNode.querySelector('resources');
543
-
422
+ const resourcesNode = modelNode.querySelector("resources");
544
423
  if (resourcesNode) {
545
- modelData['resources'] = parseResourcesNode(resourcesNode);
424
+ modelData["resources"] = parseResourcesNode(resourcesNode);
546
425
  }
547
-
548
- const buildNode = modelNode.querySelector('build');
549
-
426
+ const buildNode = modelNode.querySelector("build");
550
427
  if (buildNode) {
551
- modelData['build'] = parseBuildNode(buildNode);
428
+ modelData["build"] = parseBuildNode(buildNode);
552
429
  }
553
-
554
430
  return modelData;
555
431
  }
556
-
557
- function buildTexture(texture2dgroup, objects, modelData, textureData) {
432
+ function buildTexture(texture2dgroup, objects2, modelData, textureData) {
558
433
  const texid = texture2dgroup.texid;
559
434
  const texture2ds = modelData.resources.texture2d;
560
435
  const texture2d = texture2ds[texid];
561
-
562
436
  if (texture2d) {
563
- const data = textureData[texture2d.path];
437
+ const data2 = textureData[texture2d.path];
564
438
  const type = texture2d.contenttype;
565
- const blob = new Blob([data], {
566
- type: type
567
- });
439
+ const blob = new Blob([data2], { type });
568
440
  const sourceURI = URL.createObjectURL(blob);
569
- const texture = textureLoader.load(sourceURI, function () {
441
+ const texture = textureLoader.load(sourceURI, function() {
570
442
  URL.revokeObjectURL(sourceURI);
571
443
  });
572
- texture.encoding = sRGBEncoding; // texture parameters
573
-
444
+ texture.encoding = THREE.sRGBEncoding;
574
445
  switch (texture2d.tilestyleu) {
575
- case 'wrap':
576
- texture.wrapS = RepeatWrapping;
446
+ case "wrap":
447
+ texture.wrapS = THREE.RepeatWrapping;
577
448
  break;
578
-
579
- case 'mirror':
580
- texture.wrapS = MirroredRepeatWrapping;
449
+ case "mirror":
450
+ texture.wrapS = THREE.MirroredRepeatWrapping;
581
451
  break;
582
-
583
- case 'none':
584
- case 'clamp':
585
- texture.wrapS = ClampToEdgeWrapping;
452
+ case "none":
453
+ case "clamp":
454
+ texture.wrapS = THREE.ClampToEdgeWrapping;
586
455
  break;
587
-
588
456
  default:
589
- texture.wrapS = RepeatWrapping;
457
+ texture.wrapS = THREE.RepeatWrapping;
590
458
  }
591
-
592
459
  switch (texture2d.tilestylev) {
593
- case 'wrap':
594
- texture.wrapT = RepeatWrapping;
460
+ case "wrap":
461
+ texture.wrapT = THREE.RepeatWrapping;
595
462
  break;
596
-
597
- case 'mirror':
598
- texture.wrapT = MirroredRepeatWrapping;
463
+ case "mirror":
464
+ texture.wrapT = THREE.MirroredRepeatWrapping;
599
465
  break;
600
-
601
- case 'none':
602
- case 'clamp':
603
- texture.wrapT = ClampToEdgeWrapping;
466
+ case "none":
467
+ case "clamp":
468
+ texture.wrapT = THREE.ClampToEdgeWrapping;
604
469
  break;
605
-
606
470
  default:
607
- texture.wrapT = RepeatWrapping;
471
+ texture.wrapT = THREE.RepeatWrapping;
608
472
  }
609
-
610
473
  switch (texture2d.filter) {
611
- case 'auto':
612
- texture.magFilter = LinearFilter;
613
- texture.minFilter = LinearMipmapLinearFilter;
474
+ case "auto":
475
+ texture.magFilter = THREE.LinearFilter;
476
+ texture.minFilter = THREE.LinearMipmapLinearFilter;
614
477
  break;
615
-
616
- case 'linear':
617
- texture.magFilter = LinearFilter;
618
- texture.minFilter = LinearFilter;
478
+ case "linear":
479
+ texture.magFilter = THREE.LinearFilter;
480
+ texture.minFilter = THREE.LinearFilter;
619
481
  break;
620
-
621
- case 'nearest':
622
- texture.magFilter = NearestFilter;
623
- texture.minFilter = NearestFilter;
482
+ case "nearest":
483
+ texture.magFilter = THREE.NearestFilter;
484
+ texture.minFilter = THREE.NearestFilter;
624
485
  break;
625
-
626
486
  default:
627
- texture.magFilter = LinearFilter;
628
- texture.minFilter = LinearMipmapLinearFilter;
487
+ texture.magFilter = THREE.LinearFilter;
488
+ texture.minFilter = THREE.LinearMipmapLinearFilter;
629
489
  }
630
-
631
490
  return texture;
632
491
  } else {
633
492
  return null;
634
493
  }
635
494
  }
636
-
637
- function buildBasematerialsMeshes(basematerials, triangleProperties, meshData, objects, modelData, textureData, objectData) {
495
+ function buildBasematerialsMeshes(basematerials, triangleProperties, meshData, objects2, modelData, textureData, objectData) {
638
496
  const objectPindex = objectData.pindex;
639
497
  const materialMap = {};
640
-
641
498
  for (let i = 0, l = triangleProperties.length; i < l; i++) {
642
499
  const triangleProperty = triangleProperties[i];
643
- const pindex = triangleProperty.p1 !== undefined ? triangleProperty.p1 : objectPindex;
644
- if (materialMap[pindex] === undefined) materialMap[pindex] = [];
500
+ const pindex = triangleProperty.p1 !== void 0 ? triangleProperty.p1 : objectPindex;
501
+ if (materialMap[pindex] === void 0)
502
+ materialMap[pindex] = [];
645
503
  materialMap[pindex].push(triangleProperty);
646
- } //
647
-
648
-
504
+ }
649
505
  const keys = Object.keys(materialMap);
650
506
  const meshes = [];
651
-
652
507
  for (let i = 0, l = keys.length; i < l; i++) {
653
508
  const materialIndex = keys[i];
654
509
  const trianglePropertiesProps = materialMap[materialIndex];
655
510
  const basematerialData = basematerials.basematerials[materialIndex];
656
- const material = getBuild(basematerialData, objects, modelData, textureData, objectData, buildBasematerial); //
657
-
658
- const geometry = new BufferGeometry();
511
+ const material = getBuild(basematerialData, objects2, modelData, textureData, objectData, buildBasematerial);
512
+ const geometry = new THREE.BufferGeometry();
659
513
  const positionData = [];
660
514
  const vertices = meshData.vertices;
661
-
662
515
  for (let j = 0, jl = trianglePropertiesProps.length; j < jl; j++) {
663
516
  const triangleProperty = trianglePropertiesProps[j];
664
517
  positionData.push(vertices[triangleProperty.v1 * 3 + 0]);
@@ -671,24 +524,18 @@ class ThreeMFLoader extends Loader {
671
524
  positionData.push(vertices[triangleProperty.v3 * 3 + 1]);
672
525
  positionData.push(vertices[triangleProperty.v3 * 3 + 2]);
673
526
  }
674
-
675
- geometry.setAttribute('position', new Float32BufferAttribute(positionData, 3)); //
676
-
677
- const mesh = new Mesh(geometry, material);
527
+ geometry.setAttribute("position", new THREE.Float32BufferAttribute(positionData, 3));
528
+ const mesh = new THREE.Mesh(geometry, material);
678
529
  meshes.push(mesh);
679
530
  }
680
-
681
531
  return meshes;
682
532
  }
683
-
684
- function buildTexturedMesh(texture2dgroup, triangleProperties, meshData, objects, modelData, textureData, objectData) {
685
- // geometry
686
- const geometry = new BufferGeometry();
533
+ function buildTexturedMesh(texture2dgroup, triangleProperties, meshData, objects2, modelData, textureData, objectData) {
534
+ const geometry = new THREE.BufferGeometry();
687
535
  const positionData = [];
688
536
  const uvData = [];
689
537
  const vertices = meshData.vertices;
690
538
  const uvs = texture2dgroup.uvs;
691
-
692
539
  for (let i = 0, l = triangleProperties.length; i < l; i++) {
693
540
  const triangleProperty = triangleProperties[i];
694
541
  positionData.push(vertices[triangleProperty.v1 * 3 + 0]);
@@ -699,8 +546,7 @@ class ThreeMFLoader extends Loader {
699
546
  positionData.push(vertices[triangleProperty.v2 * 3 + 2]);
700
547
  positionData.push(vertices[triangleProperty.v3 * 3 + 0]);
701
548
  positionData.push(vertices[triangleProperty.v3 * 3 + 1]);
702
- positionData.push(vertices[triangleProperty.v3 * 3 + 2]); //
703
-
549
+ positionData.push(vertices[triangleProperty.v3 * 3 + 2]);
704
550
  uvData.push(uvs[triangleProperty.p1 * 2 + 0]);
705
551
  uvData.push(uvs[triangleProperty.p1 * 2 + 1]);
706
552
  uvData.push(uvs[triangleProperty.p2 * 2 + 0]);
@@ -708,28 +554,19 @@ class ThreeMFLoader extends Loader {
708
554
  uvData.push(uvs[triangleProperty.p3 * 2 + 0]);
709
555
  uvData.push(uvs[triangleProperty.p3 * 2 + 1]);
710
556
  }
711
-
712
- geometry.setAttribute('position', new Float32BufferAttribute(positionData, 3));
713
- geometry.setAttribute('uv', new Float32BufferAttribute(uvData, 2)); // material
714
-
715
- const texture = getBuild(texture2dgroup, objects, modelData, textureData, objectData, buildTexture);
716
- const material = new MeshPhongMaterial({
717
- map: texture,
718
- flatShading: true
719
- }); // mesh
720
-
721
- const mesh = new Mesh(geometry, material);
557
+ geometry.setAttribute("position", new THREE.Float32BufferAttribute(positionData, 3));
558
+ geometry.setAttribute("uv", new THREE.Float32BufferAttribute(uvData, 2));
559
+ const texture = getBuild(texture2dgroup, objects2, modelData, textureData, objectData, buildTexture);
560
+ const material = new THREE.MeshPhongMaterial({ map: texture, flatShading: true });
561
+ const mesh = new THREE.Mesh(geometry, material);
722
562
  return mesh;
723
563
  }
724
-
725
- function buildVertexColorMesh(colorgroup, triangleProperties, meshData, objects, modelData, objectData) {
726
- // geometry
727
- const geometry = new BufferGeometry();
564
+ function buildVertexColorMesh(colorgroup, triangleProperties, meshData, objects2, modelData, objectData) {
565
+ const geometry = new THREE.BufferGeometry();
728
566
  const positionData = [];
729
567
  const colorData = [];
730
568
  const vertices = meshData.vertices;
731
569
  const colors = colorgroup.colors;
732
-
733
570
  for (let i = 0, l = triangleProperties.length; i < l; i++) {
734
571
  const triangleProperty = triangleProperties[i];
735
572
  const v1 = triangleProperty.v1;
@@ -743,11 +580,10 @@ class ThreeMFLoader extends Loader {
743
580
  positionData.push(vertices[v2 * 3 + 2]);
744
581
  positionData.push(vertices[v3 * 3 + 0]);
745
582
  positionData.push(vertices[v3 * 3 + 1]);
746
- positionData.push(vertices[v3 * 3 + 2]); //
747
-
748
- const p1 = triangleProperty.p1 !== undefined ? triangleProperty.p1 : objectData.pindex;
749
- const p2 = triangleProperty.p2 !== undefined ? triangleProperty.p2 : p1;
750
- const p3 = triangleProperty.p3 !== undefined ? triangleProperty.p3 : p1;
583
+ positionData.push(vertices[v3 * 3 + 2]);
584
+ const p1 = triangleProperty.p1 !== void 0 ? triangleProperty.p1 : objectData.pindex;
585
+ const p2 = triangleProperty.p2 !== void 0 ? triangleProperty.p2 : p1;
586
+ const p3 = triangleProperty.p3 !== void 0 ? triangleProperty.p3 : p1;
751
587
  colorData.push(colors[p1 * 3 + 0]);
752
588
  colorData.push(colors[p1 * 3 + 1]);
753
589
  colorData.push(colors[p1 * 3 + 2]);
@@ -758,295 +594,244 @@ class ThreeMFLoader extends Loader {
758
594
  colorData.push(colors[p3 * 3 + 1]);
759
595
  colorData.push(colors[p3 * 3 + 2]);
760
596
  }
761
-
762
- geometry.setAttribute('position', new Float32BufferAttribute(positionData, 3));
763
- geometry.setAttribute('color', new Float32BufferAttribute(colorData, 3)); // material
764
-
765
- const material = new MeshPhongMaterial({
766
- vertexColors: true,
767
- flatShading: true
768
- }); // mesh
769
-
770
- const mesh = new Mesh(geometry, material);
597
+ geometry.setAttribute("position", new THREE.Float32BufferAttribute(positionData, 3));
598
+ geometry.setAttribute("color", new THREE.Float32BufferAttribute(colorData, 3));
599
+ const material = new THREE.MeshPhongMaterial({ vertexColors: true, flatShading: true });
600
+ const mesh = new THREE.Mesh(geometry, material);
771
601
  return mesh;
772
602
  }
773
-
774
603
  function buildDefaultMesh(meshData) {
775
- const geometry = new BufferGeometry();
776
- geometry.setIndex(new BufferAttribute(meshData['triangles'], 1));
777
- geometry.setAttribute('position', new BufferAttribute(meshData['vertices'], 3));
778
- const material = new MeshPhongMaterial({
779
- color: 0xaaaaff,
780
- flatShading: true
781
- });
782
- const mesh = new Mesh(geometry, material);
604
+ const geometry = new THREE.BufferGeometry();
605
+ geometry.setIndex(new THREE.BufferAttribute(meshData["triangles"], 1));
606
+ geometry.setAttribute("position", new THREE.BufferAttribute(meshData["vertices"], 3));
607
+ const material = new THREE.MeshPhongMaterial({ color: 11184895, flatShading: true });
608
+ const mesh = new THREE.Mesh(geometry, material);
783
609
  return mesh;
784
610
  }
785
-
786
- function buildMeshes(resourceMap, meshData, objects, modelData, textureData, objectData) {
611
+ function buildMeshes(resourceMap, meshData, objects2, modelData, textureData, objectData) {
787
612
  const keys = Object.keys(resourceMap);
788
613
  const meshes = [];
789
-
790
614
  for (let i = 0, il = keys.length; i < il; i++) {
791
615
  const resourceId = keys[i];
792
616
  const triangleProperties = resourceMap[resourceId];
793
617
  const resourceType = getResourceType(resourceId, modelData);
794
-
795
618
  switch (resourceType) {
796
- case 'material':
619
+ case "material":
797
620
  const basematerials = modelData.resources.basematerials[resourceId];
798
- const newMeshes = buildBasematerialsMeshes(basematerials, triangleProperties, meshData, objects, modelData, textureData, objectData);
799
-
621
+ const newMeshes = buildBasematerialsMeshes(
622
+ basematerials,
623
+ triangleProperties,
624
+ meshData,
625
+ objects2,
626
+ modelData,
627
+ textureData,
628
+ objectData
629
+ );
800
630
  for (let j = 0, jl = newMeshes.length; j < jl; j++) {
801
631
  meshes.push(newMeshes[j]);
802
632
  }
803
-
804
633
  break;
805
-
806
- case 'texture':
634
+ case "texture":
807
635
  const texture2dgroup = modelData.resources.texture2dgroup[resourceId];
808
- meshes.push(buildTexturedMesh(texture2dgroup, triangleProperties, meshData, objects, modelData, textureData, objectData));
636
+ meshes.push(
637
+ buildTexturedMesh(
638
+ texture2dgroup,
639
+ triangleProperties,
640
+ meshData,
641
+ objects2,
642
+ modelData,
643
+ textureData,
644
+ objectData
645
+ )
646
+ );
809
647
  break;
810
-
811
- case 'vertexColors':
648
+ case "vertexColors":
812
649
  const colorgroup = modelData.resources.colorgroup[resourceId];
813
- meshes.push(buildVertexColorMesh(colorgroup, triangleProperties, meshData, objects, modelData, objectData));
650
+ meshes.push(buildVertexColorMesh(colorgroup, triangleProperties, meshData, objects2, modelData, objectData));
814
651
  break;
815
-
816
- case 'default':
652
+ case "default":
817
653
  meshes.push(buildDefaultMesh(meshData));
818
654
  break;
819
-
820
655
  default:
821
- console.error('THREE.3MFLoader: Unsupported resource type.');
656
+ console.error("THREE.3MFLoader: Unsupported resource type.");
822
657
  }
823
658
  }
824
-
825
659
  return meshes;
826
660
  }
827
-
828
661
  function getResourceType(pid, modelData) {
829
- if (modelData.resources.texture2dgroup[pid] !== undefined) {
830
- return 'texture';
831
- } else if (modelData.resources.basematerials[pid] !== undefined) {
832
- return 'material';
833
- } else if (modelData.resources.colorgroup[pid] !== undefined) {
834
- return 'vertexColors';
835
- } else if (pid === 'default') {
836
- return 'default';
662
+ if (modelData.resources.texture2dgroup[pid] !== void 0) {
663
+ return "texture";
664
+ } else if (modelData.resources.basematerials[pid] !== void 0) {
665
+ return "material";
666
+ } else if (modelData.resources.colorgroup[pid] !== void 0) {
667
+ return "vertexColors";
668
+ } else if (pid === "default") {
669
+ return "default";
837
670
  } else {
838
- return undefined;
671
+ return void 0;
839
672
  }
840
673
  }
841
-
842
674
  function analyzeObject(modelData, meshData, objectData) {
843
675
  const resourceMap = {};
844
- const triangleProperties = meshData['triangleProperties'];
676
+ const triangleProperties = meshData["triangleProperties"];
845
677
  const objectPid = objectData.pid;
846
-
847
678
  for (let i = 0, l = triangleProperties.length; i < l; i++) {
848
679
  const triangleProperty = triangleProperties[i];
849
- let pid = triangleProperty.pid !== undefined ? triangleProperty.pid : objectPid;
850
- if (pid === undefined) pid = 'default';
851
- if (resourceMap[pid] === undefined) resourceMap[pid] = [];
680
+ let pid = triangleProperty.pid !== void 0 ? triangleProperty.pid : objectPid;
681
+ if (pid === void 0)
682
+ pid = "default";
683
+ if (resourceMap[pid] === void 0)
684
+ resourceMap[pid] = [];
852
685
  resourceMap[pid].push(triangleProperty);
853
686
  }
854
-
855
687
  return resourceMap;
856
688
  }
857
-
858
- function buildGroup(meshData, objects, modelData, textureData, objectData) {
859
- const group = new Group();
689
+ function buildGroup(meshData, objects2, modelData, textureData, objectData) {
690
+ const group = new THREE.Group();
860
691
  const resourceMap = analyzeObject(modelData, meshData, objectData);
861
- const meshes = buildMeshes(resourceMap, meshData, objects, modelData, textureData, objectData);
862
-
692
+ const meshes = buildMeshes(resourceMap, meshData, objects2, modelData, textureData, objectData);
863
693
  for (let i = 0, l = meshes.length; i < l; i++) {
864
694
  group.add(meshes[i]);
865
695
  }
866
-
867
696
  return group;
868
697
  }
869
-
870
698
  function applyExtensions(extensions, meshData, modelXml) {
871
699
  if (!extensions) {
872
700
  return;
873
701
  }
874
-
875
702
  const availableExtensions = [];
876
703
  const keys = Object.keys(extensions);
877
-
878
704
  for (let i = 0; i < keys.length; i++) {
879
705
  const ns = keys[i];
880
-
881
706
  for (let j = 0; j < scope.availableExtensions.length; j++) {
882
707
  const extension = scope.availableExtensions[j];
883
-
884
708
  if (extension.ns === ns) {
885
709
  availableExtensions.push(extension);
886
710
  }
887
711
  }
888
712
  }
889
-
890
713
  for (let i = 0; i < availableExtensions.length; i++) {
891
714
  const extension = availableExtensions[i];
892
- extension.apply(modelXml, extensions[extension['ns']], meshData);
715
+ extension.apply(modelXml, extensions[extension["ns"]], meshData);
893
716
  }
894
717
  }
895
-
896
- function getBuild(data, objects, modelData, textureData, objectData, builder) {
897
- if (data.build !== undefined) return data.build;
898
- data.build = builder(data, objects, modelData, textureData, objectData);
899
- return data.build;
718
+ function getBuild(data2, objects2, modelData, textureData, objectData, builder) {
719
+ if (data2.build !== void 0)
720
+ return data2.build;
721
+ data2.build = builder(data2, objects2, modelData, textureData, objectData);
722
+ return data2.build;
900
723
  }
901
-
902
- function buildBasematerial(materialData, objects, modelData) {
724
+ function buildBasematerial(materialData, objects2, modelData) {
903
725
  let material;
904
726
  const displaypropertiesid = materialData.displaypropertiesid;
905
727
  const pbmetallicdisplayproperties = modelData.resources.pbmetallicdisplayproperties;
906
-
907
- if (displaypropertiesid !== null && pbmetallicdisplayproperties[displaypropertiesid] !== undefined) {
908
- // metallic display property, use StandardMaterial
728
+ if (displaypropertiesid !== null && pbmetallicdisplayproperties[displaypropertiesid] !== void 0) {
909
729
  const pbmetallicdisplayproperty = pbmetallicdisplayproperties[displaypropertiesid];
910
730
  const metallicData = pbmetallicdisplayproperty.data[materialData.index];
911
- material = new MeshStandardMaterial({
731
+ material = new THREE.MeshStandardMaterial({
912
732
  flatShading: true,
913
733
  roughness: metallicData.roughness,
914
734
  metalness: metallicData.metallicness
915
735
  });
916
736
  } else {
917
- // otherwise use PhongMaterial
918
- material = new MeshPhongMaterial({
919
- flatShading: true
920
- });
737
+ material = new THREE.MeshPhongMaterial({ flatShading: true });
921
738
  }
922
-
923
- material.name = materialData.name; // displaycolor MUST be specified with a value of a 6 or 8 digit hexadecimal number, e.g. "#RRGGBB" or "#RRGGBBAA"
924
-
739
+ material.name = materialData.name;
925
740
  const displaycolor = materialData.displaycolor;
926
741
  const color = displaycolor.substring(0, 7);
927
742
  material.color.setStyle(color);
928
- material.color.convertSRGBToLinear(); // displaycolor is in sRGB
929
- // process alpha if set
930
-
743
+ material.color.convertSRGBToLinear();
931
744
  if (displaycolor.length === 9) {
932
745
  material.opacity = parseInt(displaycolor.charAt(7) + displaycolor.charAt(8), 16) / 255;
933
746
  }
934
-
935
747
  return material;
936
748
  }
937
-
938
- function buildComposite(compositeData, objects, modelData, textureData) {
939
- const composite = new Group();
940
-
749
+ function buildComposite(compositeData, objects2, modelData, textureData) {
750
+ const composite = new THREE.Group();
941
751
  for (let j = 0; j < compositeData.length; j++) {
942
752
  const component = compositeData[j];
943
- let build = objects[component.objectId];
944
-
945
- if (build === undefined) {
946
- buildObject(component.objectId, objects, modelData, textureData);
947
- build = objects[component.objectId];
753
+ let build2 = objects2[component.objectId];
754
+ if (build2 === void 0) {
755
+ buildObject(component.objectId, objects2, modelData, textureData);
756
+ build2 = objects2[component.objectId];
948
757
  }
949
-
950
- const object3D = build.clone(); // apply component transform
951
-
758
+ const object3D = build2.clone();
952
759
  const transform = component.transform;
953
-
954
760
  if (transform) {
955
761
  object3D.applyMatrix4(transform);
956
762
  }
957
-
958
763
  composite.add(object3D);
959
764
  }
960
-
961
765
  return composite;
962
766
  }
963
-
964
- function buildObject(objectId, objects, modelData, textureData) {
965
- const objectData = modelData['resources']['object'][objectId];
966
-
967
- if (objectData['mesh']) {
968
- const meshData = objectData['mesh'];
969
- const extensions = modelData['extensions'];
970
- const modelXml = modelData['xml'];
767
+ function buildObject(objectId, objects2, modelData, textureData) {
768
+ const objectData = modelData["resources"]["object"][objectId];
769
+ if (objectData["mesh"]) {
770
+ const meshData = objectData["mesh"];
771
+ const extensions = modelData["extensions"];
772
+ const modelXml = modelData["xml"];
971
773
  applyExtensions(extensions, meshData, modelXml);
972
- objects[objectData.id] = getBuild(meshData, objects, modelData, textureData, objectData, buildGroup);
774
+ objects2[objectData.id] = getBuild(meshData, objects2, modelData, textureData, objectData, buildGroup);
973
775
  } else {
974
- const compositeData = objectData['components'];
975
- objects[objectData.id] = getBuild(compositeData, objects, modelData, textureData, objectData, buildComposite);
776
+ const compositeData = objectData["components"];
777
+ objects2[objectData.id] = getBuild(compositeData, objects2, modelData, textureData, objectData, buildComposite);
976
778
  }
977
779
  }
978
-
979
- function buildObjects(data3mf) {
980
- const modelsData = data3mf.model;
981
- const modelRels = data3mf.modelRels;
982
- const objects = {};
780
+ function buildObjects(data3mf2) {
781
+ const modelsData = data3mf2.model;
782
+ const modelRels = data3mf2.modelRels;
783
+ const objects2 = {};
983
784
  const modelsKeys = Object.keys(modelsData);
984
- const textureData = {}; // evaluate model relationships to textures
985
-
785
+ const textureData = {};
986
786
  if (modelRels) {
987
787
  for (let i = 0, l = modelRels.length; i < l; i++) {
988
788
  const modelRel = modelRels[i];
989
789
  const textureKey = modelRel.target.substring(1);
990
-
991
- if (data3mf.texture[textureKey]) {
992
- textureData[modelRel.target] = data3mf.texture[textureKey];
790
+ if (data3mf2.texture[textureKey]) {
791
+ textureData[modelRel.target] = data3mf2.texture[textureKey];
993
792
  }
994
793
  }
995
- } // start build
996
-
997
-
794
+ }
998
795
  for (let i = 0; i < modelsKeys.length; i++) {
999
796
  const modelsKey = modelsKeys[i];
1000
797
  const modelData = modelsData[modelsKey];
1001
- const objectIds = Object.keys(modelData['resources']['object']);
1002
-
798
+ const objectIds = Object.keys(modelData["resources"]["object"]);
1003
799
  for (let j = 0; j < objectIds.length; j++) {
1004
800
  const objectId = objectIds[j];
1005
- buildObject(objectId, objects, modelData, textureData);
801
+ buildObject(objectId, objects2, modelData, textureData);
1006
802
  }
1007
803
  }
1008
-
1009
- return objects;
804
+ return objects2;
1010
805
  }
1011
-
1012
806
  function fetch3DModelPart(rels) {
1013
807
  for (let i = 0; i < rels.length; i++) {
1014
808
  const rel = rels[i];
1015
- const extension = rel.target.split('.').pop();
1016
- if (extension.toLowerCase() === 'model') return rel;
809
+ const extension = rel.target.split(".").pop();
810
+ if (extension.toLowerCase() === "model")
811
+ return rel;
1017
812
  }
1018
813
  }
1019
-
1020
- function build(objects, data3mf) {
1021
- const group = new Group();
1022
- const relationship = fetch3DModelPart(data3mf['rels']);
1023
- const buildData = data3mf.model[relationship['target'].substring(1)]['build'];
1024
-
814
+ function build(objects2, data3mf2) {
815
+ const group = new THREE.Group();
816
+ const relationship = fetch3DModelPart(data3mf2["rels"]);
817
+ const buildData = data3mf2.model[relationship["target"].substring(1)]["build"];
1025
818
  for (let i = 0; i < buildData.length; i++) {
1026
819
  const buildItem = buildData[i];
1027
- const object3D = objects[buildItem['objectId']]; // apply transform
1028
-
1029
- const transform = buildItem['transform'];
1030
-
820
+ const object3D = objects2[buildItem["objectId"]];
821
+ const transform = buildItem["transform"];
1031
822
  if (transform) {
1032
823
  object3D.applyMatrix4(transform);
1033
824
  }
1034
-
1035
825
  group.add(object3D);
1036
826
  }
1037
-
1038
827
  return group;
1039
828
  }
1040
-
1041
829
  const data3mf = loadDocument(data);
1042
830
  const objects = buildObjects(data3mf);
1043
831
  return build(objects, data3mf);
1044
832
  }
1045
-
1046
833
  addExtension(extension) {
1047
834
  this.availableExtensions.push(extension);
1048
835
  }
1049
-
1050
836
  }
1051
-
1052
- export { ThreeMFLoader };
837
+ exports.ThreeMFLoader = ThreeMFLoader;