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,67 +1,48 @@
1
- import { Loader, FileLoader, TextureLoader, Points, LineSegments, Mesh, PointsMaterial, LineBasicMaterial, BufferAttribute, MeshPhongMaterial, BackSide, DoubleSide, FrontSide, Vector2, Color, AddOperation, EquirectangularRefractionMapping, EquirectangularReflectionMapping, ClampToEdgeWrapping, MirroredRepeatWrapping, RepeatWrapping, MeshPhysicalMaterial, MeshStandardMaterial, BufferGeometry, Float32BufferAttribute } from 'three';
2
- import { IFFParser } from './lwo/IFFParser.js';
3
-
4
- /**
5
- * @version 1.1.1
6
- *
7
- * @desc Load files in LWO3 and LWO2 format on Three.js
8
- *
9
- * LWO3 format specification:
10
- * http://static.lightwave3d.com/sdk/2018/html/filefmts/lwo3.html
11
- *
12
- * LWO2 format specification:
13
- * http://static.lightwave3d.com/sdk/2018/html/filefmts/lwo2.html
14
- *
15
- **/
16
-
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const THREE = require("three");
4
+ const IFFParser = require("./lwo/IFFParser.js");
17
5
  let _lwoTree;
18
-
19
- class LWOLoader extends Loader {
6
+ class LWOLoader extends THREE.Loader {
20
7
  constructor(manager, parameters = {}) {
21
8
  super(manager);
22
- this.resourcePath = parameters.resourcePath !== undefined ? parameters.resourcePath : '';
9
+ this.resourcePath = parameters.resourcePath !== void 0 ? parameters.resourcePath : "";
23
10
  }
24
-
25
11
  load(url, onLoad, onProgress, onError) {
26
12
  const scope = this;
27
- const path = scope.path === '' ? extractParentUrl(url, 'Objects') : scope.path; // give the mesh a default name based on the filename
28
-
29
- const modelName = url.split(path).pop().split('.')[0];
30
- const loader = new FileLoader(this.manager);
13
+ const path = scope.path === "" ? extractParentUrl(url, "Objects") : scope.path;
14
+ const modelName = url.split(path).pop().split(".")[0];
15
+ const loader = new THREE.FileLoader(this.manager);
31
16
  loader.setPath(scope.path);
32
- loader.setResponseType('arraybuffer');
33
- loader.load(url, function (buffer) {
34
- // console.time( 'Total parsing: ' );
35
- try {
36
- onLoad(scope.parse(buffer, path, modelName));
37
- } catch (e) {
38
- if (onError) {
39
- onError(e);
40
- } else {
41
- console.error(e);
17
+ loader.setResponseType("arraybuffer");
18
+ loader.load(
19
+ url,
20
+ function(buffer) {
21
+ try {
22
+ onLoad(scope.parse(buffer, path, modelName));
23
+ } catch (e) {
24
+ if (onError) {
25
+ onError(e);
26
+ } else {
27
+ console.error(e);
28
+ }
29
+ scope.manager.itemError(url);
42
30
  }
43
-
44
- scope.manager.itemError(url);
45
- } // console.timeEnd( 'Total parsing: ' );
46
-
47
- }, onProgress, onError);
31
+ },
32
+ onProgress,
33
+ onError
34
+ );
48
35
  }
49
-
50
36
  parse(iffBuffer, path, modelName) {
51
- _lwoTree = new IFFParser().parse(iffBuffer); // console.log( 'lwoTree', lwoTree );
52
-
53
- const textureLoader = new TextureLoader(this.manager).setPath(this.resourcePath || path).setCrossOrigin(this.crossOrigin);
37
+ _lwoTree = new IFFParser.IFFParser().parse(iffBuffer);
38
+ const textureLoader = new THREE.TextureLoader(this.manager).setPath(this.resourcePath || path).setCrossOrigin(this.crossOrigin);
54
39
  return new LWOTreeParser(textureLoader).parse(modelName);
55
40
  }
56
-
57
- } // Parse the lwoTree object
58
-
59
-
41
+ }
60
42
  class LWOTreeParser {
61
43
  constructor(textureLoader) {
62
44
  this.textureLoader = textureLoader;
63
45
  }
64
-
65
46
  parse(modelName) {
66
47
  this.materials = new MaterialParser(this.textureLoader).parse();
67
48
  this.defaultLayerName = modelName;
@@ -71,45 +52,47 @@ class LWOTreeParser {
71
52
  meshes: this.meshes
72
53
  };
73
54
  }
74
-
75
55
  parseLayers() {
76
- // array of all meshes for building hierarchy
77
- const meshes = []; // final array containing meshes with scene graph hierarchy set up
78
-
56
+ const meshes = [];
79
57
  const finalMeshes = [];
80
58
  const geometryParser = new GeometryParser();
81
59
  const scope = this;
82
-
83
- _lwoTree.layers.forEach(function (layer) {
60
+ _lwoTree.layers.forEach(function(layer) {
84
61
  const geometry = geometryParser.parse(layer.geometry, layer);
85
62
  const mesh = scope.parseMesh(geometry, layer);
86
63
  meshes[layer.number] = mesh;
87
- if (layer.parent === -1) finalMeshes.push(mesh);else meshes[layer.parent].add(mesh);
64
+ if (layer.parent === -1)
65
+ finalMeshes.push(mesh);
66
+ else
67
+ meshes[layer.parent].add(mesh);
88
68
  });
89
-
90
69
  this.applyPivots(finalMeshes);
91
70
  return finalMeshes;
92
71
  }
93
-
94
72
  parseMesh(geometry, layer) {
95
73
  let mesh;
96
74
  const materials = this.getMaterials(geometry.userData.matNames, layer.geometry.type);
97
75
  this.duplicateUVs(geometry, materials);
98
- if (layer.geometry.type === 'points') mesh = new Points(geometry, materials);else if (layer.geometry.type === 'lines') mesh = new LineSegments(geometry, materials);else mesh = new Mesh(geometry, materials);
99
- if (layer.name) mesh.name = layer.name;else mesh.name = this.defaultLayerName + '_layer_' + layer.number;
76
+ if (layer.geometry.type === "points")
77
+ mesh = new THREE.Points(geometry, materials);
78
+ else if (layer.geometry.type === "lines")
79
+ mesh = new THREE.LineSegments(geometry, materials);
80
+ else
81
+ mesh = new THREE.Mesh(geometry, materials);
82
+ if (layer.name)
83
+ mesh.name = layer.name;
84
+ else
85
+ mesh.name = this.defaultLayerName + "_layer_" + layer.number;
100
86
  mesh.userData.pivot = layer.pivot;
101
87
  return mesh;
102
- } // TODO: may need to be reversed in z to convert LWO to three.js coordinates
103
-
104
-
88
+ }
105
89
  applyPivots(meshes) {
106
- meshes.forEach(function (mesh) {
107
- mesh.traverse(function (child) {
90
+ meshes.forEach(function(mesh) {
91
+ mesh.traverse(function(child) {
108
92
  const pivot = child.userData.pivot;
109
93
  child.position.x += pivot[0];
110
94
  child.position.y += pivot[1];
111
95
  child.position.z += pivot[2];
112
-
113
96
  if (child.parent) {
114
97
  const parentPivot = child.parent.userData.pivot;
115
98
  child.position.x -= parentPivot[0];
@@ -119,84 +102,72 @@ class LWOTreeParser {
119
102
  });
120
103
  });
121
104
  }
122
-
123
105
  getMaterials(namesArray, type) {
124
106
  const materials = [];
125
107
  const scope = this;
126
- namesArray.forEach(function (name, i) {
108
+ namesArray.forEach(function(name, i) {
127
109
  materials[i] = scope.getMaterialByName(name);
128
- }); // convert materials to line or point mats if required
129
-
130
- if (type === 'points' || type === 'lines') {
131
- materials.forEach(function (mat, i) {
110
+ });
111
+ if (type === "points" || type === "lines") {
112
+ materials.forEach(function(mat, i) {
132
113
  const spec = {
133
114
  color: mat.color
134
115
  };
135
-
136
- if (type === 'points') {
116
+ if (type === "points") {
137
117
  spec.size = 0.1;
138
118
  spec.map = mat.map;
139
119
  spec.morphTargets = mat.morphTargets;
140
- materials[i] = new PointsMaterial(spec);
141
- } else if (type === 'lines') {
142
- materials[i] = new LineBasicMaterial(spec);
120
+ materials[i] = new THREE.PointsMaterial(spec);
121
+ } else if (type === "lines") {
122
+ materials[i] = new THREE.LineBasicMaterial(spec);
143
123
  }
144
124
  });
145
- } // if there is only one material, return that directly instead of array
146
-
147
-
125
+ }
148
126
  const filtered = materials.filter(Boolean);
149
- if (filtered.length === 1) return filtered[0];
127
+ if (filtered.length === 1)
128
+ return filtered[0];
150
129
  return materials;
151
130
  }
152
-
153
131
  getMaterialByName(name) {
154
- return this.materials.filter(function (m) {
132
+ return this.materials.filter(function(m) {
155
133
  return m.name === name;
156
134
  })[0];
157
- } // If the material has an aoMap, duplicate UVs
158
-
159
-
135
+ }
160
136
  duplicateUVs(geometry, materials) {
161
137
  let duplicateUVs = false;
162
-
163
138
  if (!Array.isArray(materials)) {
164
- if (materials.aoMap) duplicateUVs = true;
139
+ if (materials.aoMap)
140
+ duplicateUVs = true;
165
141
  } else {
166
- materials.forEach(function (material) {
167
- if (material.aoMap) duplicateUVs = true;
142
+ materials.forEach(function(material) {
143
+ if (material.aoMap)
144
+ duplicateUVs = true;
168
145
  });
169
146
  }
170
-
171
- if (!duplicateUVs) return;
172
- geometry.setAttribute('uv2', new BufferAttribute(geometry.attributes.uv.array, 2));
147
+ if (!duplicateUVs)
148
+ return;
149
+ geometry.setAttribute("uv2", new THREE.BufferAttribute(geometry.attributes.uv.array, 2));
173
150
  }
174
-
175
151
  }
176
-
177
152
  class MaterialParser {
178
153
  constructor(textureLoader) {
179
154
  this.textureLoader = textureLoader;
180
155
  }
181
-
182
156
  parse() {
183
157
  const materials = [];
184
158
  this.textures = {};
185
-
186
159
  for (const name in _lwoTree.materials) {
187
- if (_lwoTree.format === 'LWO3') {
160
+ if (_lwoTree.format === "LWO3") {
188
161
  materials.push(this.parseMaterial(_lwoTree.materials[name], name, _lwoTree.textures));
189
- } else if (_lwoTree.format === 'LWO2') {
162
+ } else if (_lwoTree.format === "LWO2") {
190
163
  materials.push(this.parseMaterialLwo2(_lwoTree.materials[name], name, _lwoTree.textures));
191
164
  }
192
165
  }
193
-
194
166
  return materials;
195
167
  }
196
-
197
168
  parseMaterial(materialData, name, textures) {
198
169
  let params = {
199
- name: name,
170
+ name,
200
171
  side: this.getSide(materialData.attributes),
201
172
  flatShading: this.getSmooth(materialData.attributes)
202
173
  };
@@ -210,44 +181,34 @@ class MaterialParser {
210
181
  const materialType = this.getMaterialType(connections.attributes);
211
182
  return new materialType(params);
212
183
  }
213
-
214
- parseMaterialLwo2(materialData, name
215
- /*, textures*/
216
- ) {
184
+ parseMaterialLwo2(materialData, name) {
217
185
  let params = {
218
- name: name,
186
+ name,
219
187
  side: this.getSide(materialData.attributes),
220
188
  flatShading: this.getSmooth(materialData.attributes)
221
189
  };
222
190
  const attributes = this.parseAttributes(materialData.attributes, {});
223
191
  params = Object.assign(params, attributes);
224
- return new MeshPhongMaterial(params);
225
- } // Note: converting from left to right handed coords by switching x -> -x in vertices, and
226
- // then switching mat FrontSide -> BackSide
227
- // NB: this means that FrontSide and BackSide have been switched!
228
-
229
-
192
+ return new THREE.MeshPhongMaterial(params);
193
+ }
230
194
  getSide(attributes) {
231
- if (!attributes.side) return BackSide;
232
-
195
+ if (!attributes.side)
196
+ return THREE.BackSide;
233
197
  switch (attributes.side) {
234
198
  case 0:
235
199
  case 1:
236
- return BackSide;
237
-
200
+ return THREE.BackSide;
238
201
  case 2:
239
- return FrontSide;
240
-
202
+ return THREE.FrontSide;
241
203
  case 3:
242
- return DoubleSide;
204
+ return THREE.DoubleSide;
243
205
  }
244
206
  }
245
-
246
207
  getSmooth(attributes) {
247
- if (!attributes.smooth) return true;
208
+ if (!attributes.smooth)
209
+ return true;
248
210
  return !attributes.smooth;
249
211
  }
250
-
251
212
  parseConnections(connections, nodes) {
252
213
  const materialConnections = {
253
214
  maps: {}
@@ -256,366 +217,321 @@ class MaterialParser {
256
217
  const inputNodeName = connections.inputNodeName;
257
218
  const nodeName = connections.nodeName;
258
219
  const scope = this;
259
- inputName.forEach(function (name, index) {
260
- if (name === 'Material') {
220
+ inputName.forEach(function(name, index) {
221
+ if (name === "Material") {
261
222
  const matNode = scope.getNodeByRefName(inputNodeName[index], nodes);
262
223
  materialConnections.attributes = matNode.attributes;
263
224
  materialConnections.envMap = matNode.fileName;
264
225
  materialConnections.name = inputNodeName[index];
265
226
  }
266
227
  });
267
- nodeName.forEach(function (name, index) {
228
+ nodeName.forEach(function(name, index) {
268
229
  if (name === materialConnections.name) {
269
230
  materialConnections.maps[inputName[index]] = scope.getNodeByRefName(inputNodeName[index], nodes);
270
231
  }
271
232
  });
272
233
  return materialConnections;
273
234
  }
274
-
275
235
  getNodeByRefName(refName, nodes) {
276
236
  for (const name in nodes) {
277
- if (nodes[name].refName === refName) return nodes[name];
237
+ if (nodes[name].refName === refName)
238
+ return nodes[name];
278
239
  }
279
240
  }
280
-
281
241
  parseTextureNodes(textureNodes) {
282
242
  const maps = {};
283
-
284
243
  for (const name in textureNodes) {
285
244
  const node = textureNodes[name];
286
245
  const path = node.fileName;
287
- if (!path) return;
246
+ if (!path)
247
+ return;
288
248
  const texture = this.loadTexture(path);
289
- if (node.widthWrappingMode !== undefined) texture.wrapS = this.getWrappingType(node.widthWrappingMode);
290
- if (node.heightWrappingMode !== undefined) texture.wrapT = this.getWrappingType(node.heightWrappingMode);
291
-
249
+ if (node.widthWrappingMode !== void 0)
250
+ texture.wrapS = this.getWrappingType(node.widthWrappingMode);
251
+ if (node.heightWrappingMode !== void 0)
252
+ texture.wrapT = this.getWrappingType(node.heightWrappingMode);
292
253
  switch (name) {
293
- case 'Color':
254
+ case "Color":
294
255
  maps.map = texture;
295
256
  break;
296
-
297
- case 'Roughness':
257
+ case "Roughness":
298
258
  maps.roughnessMap = texture;
299
259
  maps.roughness = 0.5;
300
260
  break;
301
-
302
- case 'Specular':
261
+ case "Specular":
303
262
  maps.specularMap = texture;
304
- maps.specular = 0xffffff;
263
+ maps.specular = 16777215;
305
264
  break;
306
-
307
- case 'Luminous':
265
+ case "Luminous":
308
266
  maps.emissiveMap = texture;
309
- maps.emissive = 0x808080;
267
+ maps.emissive = 8421504;
310
268
  break;
311
-
312
- case 'Luminous Color':
313
- maps.emissive = 0x808080;
269
+ case "Luminous Color":
270
+ maps.emissive = 8421504;
314
271
  break;
315
-
316
- case 'Metallic':
272
+ case "Metallic":
317
273
  maps.metalnessMap = texture;
318
274
  maps.metalness = 0.5;
319
275
  break;
320
-
321
- case 'Transparency':
322
- case 'Alpha':
276
+ case "Transparency":
277
+ case "Alpha":
323
278
  maps.alphaMap = texture;
324
279
  maps.transparent = true;
325
280
  break;
326
-
327
- case 'Normal':
281
+ case "Normal":
328
282
  maps.normalMap = texture;
329
- if (node.amplitude !== undefined) maps.normalScale = new Vector2(node.amplitude, node.amplitude);
283
+ if (node.amplitude !== void 0)
284
+ maps.normalScale = new THREE.Vector2(node.amplitude, node.amplitude);
330
285
  break;
331
-
332
- case 'Bump':
286
+ case "Bump":
333
287
  maps.bumpMap = texture;
334
288
  break;
335
289
  }
336
- } // LWO BSDF materials can have both spec and rough, but this is not valid in three
337
-
338
-
339
- if (maps.roughnessMap && maps.specularMap) delete maps.specularMap;
290
+ }
291
+ if (maps.roughnessMap && maps.specularMap)
292
+ delete maps.specularMap;
340
293
  return maps;
341
- } // maps can also be defined on individual material attributes, parse those here
342
- // This occurs on Standard (Phong) surfaces
343
-
344
-
294
+ }
345
295
  parseAttributeImageMaps(attributes, textures, maps) {
346
296
  for (const name in attributes) {
347
297
  const attribute = attributes[name];
348
-
349
298
  if (attribute.maps) {
350
299
  const mapData = attribute.maps[0];
351
300
  const path = this.getTexturePathByIndex(mapData.imageIndex, textures);
352
- if (!path) return;
301
+ if (!path)
302
+ return;
353
303
  const texture = this.loadTexture(path);
354
- if (mapData.wrap !== undefined) texture.wrapS = this.getWrappingType(mapData.wrap.w);
355
- if (mapData.wrap !== undefined) texture.wrapT = this.getWrappingType(mapData.wrap.h);
356
-
304
+ if (mapData.wrap !== void 0)
305
+ texture.wrapS = this.getWrappingType(mapData.wrap.w);
306
+ if (mapData.wrap !== void 0)
307
+ texture.wrapT = this.getWrappingType(mapData.wrap.h);
357
308
  switch (name) {
358
- case 'Color':
309
+ case "Color":
359
310
  maps.map = texture;
360
311
  break;
361
-
362
- case 'Diffuse':
312
+ case "Diffuse":
363
313
  maps.aoMap = texture;
364
314
  break;
365
-
366
- case 'Roughness':
315
+ case "Roughness":
367
316
  maps.roughnessMap = texture;
368
317
  maps.roughness = 1;
369
318
  break;
370
-
371
- case 'Specular':
319
+ case "Specular":
372
320
  maps.specularMap = texture;
373
- maps.specular = 0xffffff;
321
+ maps.specular = 16777215;
374
322
  break;
375
-
376
- case 'Luminosity':
323
+ case "Luminosity":
377
324
  maps.emissiveMap = texture;
378
- maps.emissive = 0x808080;
325
+ maps.emissive = 8421504;
379
326
  break;
380
-
381
- case 'Metallic':
327
+ case "Metallic":
382
328
  maps.metalnessMap = texture;
383
329
  maps.metalness = 1;
384
330
  break;
385
-
386
- case 'Transparency':
387
- case 'Alpha':
331
+ case "Transparency":
332
+ case "Alpha":
388
333
  maps.alphaMap = texture;
389
334
  maps.transparent = true;
390
335
  break;
391
-
392
- case 'Normal':
336
+ case "Normal":
393
337
  maps.normalMap = texture;
394
338
  break;
395
-
396
- case 'Bump':
339
+ case "Bump":
397
340
  maps.bumpMap = texture;
398
341
  break;
399
342
  }
400
343
  }
401
344
  }
402
345
  }
403
-
404
346
  parseAttributes(attributes, maps) {
405
- const params = {}; // don't use color data if color map is present
406
-
347
+ const params = {};
407
348
  if (attributes.Color && !maps.map) {
408
- params.color = new Color().fromArray(attributes.Color.value);
349
+ params.color = new THREE.Color().fromArray(attributes.Color.value);
409
350
  } else {
410
- params.color = new Color();
351
+ params.color = new THREE.Color();
411
352
  }
412
-
413
353
  if (attributes.Transparency && attributes.Transparency.value !== 0) {
414
354
  params.opacity = 1 - attributes.Transparency.value;
415
355
  params.transparent = true;
416
356
  }
417
-
418
- if (attributes['Bump Height']) params.bumpScale = attributes['Bump Height'].value * 0.1;
419
- if (attributes['Refraction Index']) params.refractionRatio = 1 / attributes['Refraction Index'].value;
357
+ if (attributes["Bump Height"])
358
+ params.bumpScale = attributes["Bump Height"].value * 0.1;
359
+ if (attributes["Refraction Index"])
360
+ params.refractionRatio = 1 / attributes["Refraction Index"].value;
420
361
  this.parsePhysicalAttributes(params, attributes, maps);
421
362
  this.parseStandardAttributes(params, attributes, maps);
422
363
  this.parsePhongAttributes(params, attributes, maps);
423
364
  return params;
424
365
  }
425
-
426
- parsePhysicalAttributes(params, attributes
427
- /*, maps*/
428
- ) {
366
+ parsePhysicalAttributes(params, attributes) {
429
367
  if (attributes.Clearcoat && attributes.Clearcoat.value > 0) {
430
368
  params.clearcoat = attributes.Clearcoat.value;
431
-
432
- if (attributes['Clearcoat Gloss']) {
433
- params.clearcoatRoughness = 0.5 * (1 - attributes['Clearcoat Gloss'].value);
369
+ if (attributes["Clearcoat Gloss"]) {
370
+ params.clearcoatRoughness = 0.5 * (1 - attributes["Clearcoat Gloss"].value);
434
371
  }
435
372
  }
436
373
  }
437
-
438
374
  parseStandardAttributes(params, attributes, maps) {
439
375
  if (attributes.Luminous) {
440
376
  params.emissiveIntensity = attributes.Luminous.value;
441
-
442
- if (attributes['Luminous Color'] && !maps.emissive) {
443
- params.emissive = new Color().fromArray(attributes['Luminous Color'].value);
377
+ if (attributes["Luminous Color"] && !maps.emissive) {
378
+ params.emissive = new THREE.Color().fromArray(attributes["Luminous Color"].value);
444
379
  } else {
445
- params.emissive = new Color(0x808080);
380
+ params.emissive = new THREE.Color(8421504);
446
381
  }
447
382
  }
448
-
449
- if (attributes.Roughness && !maps.roughnessMap) params.roughness = attributes.Roughness.value;
450
- if (attributes.Metallic && !maps.metalnessMap) params.metalness = attributes.Metallic.value;
383
+ if (attributes.Roughness && !maps.roughnessMap)
384
+ params.roughness = attributes.Roughness.value;
385
+ if (attributes.Metallic && !maps.metalnessMap)
386
+ params.metalness = attributes.Metallic.value;
451
387
  }
452
-
453
388
  parsePhongAttributes(params, attributes, maps) {
454
- if (attributes.Diffuse) params.color.multiplyScalar(attributes.Diffuse.value);
455
-
389
+ if (attributes.Diffuse)
390
+ params.color.multiplyScalar(attributes.Diffuse.value);
456
391
  if (attributes.Reflection) {
457
392
  params.reflectivity = attributes.Reflection.value;
458
- params.combine = AddOperation;
393
+ params.combine = THREE.AddOperation;
459
394
  }
460
-
461
395
  if (attributes.Luminosity) {
462
396
  params.emissiveIntensity = attributes.Luminosity.value;
463
-
464
397
  if (!maps.emissiveMap && !maps.map) {
465
398
  params.emissive = params.color;
466
399
  } else {
467
- params.emissive = new Color(0x808080);
400
+ params.emissive = new THREE.Color(8421504);
468
401
  }
469
- } // parse specular if there is no roughness - we will interpret the material as 'Phong' in this case
470
-
471
-
402
+ }
472
403
  if (!attributes.Roughness && attributes.Specular && !maps.specularMap) {
473
- if (attributes['Color Highlight']) {
474
- params.specular = new Color().setScalar(attributes.Specular.value).lerp(params.color.clone().multiplyScalar(attributes.Specular.value), attributes['Color Highlight'].value);
404
+ if (attributes["Color Highlight"]) {
405
+ params.specular = new THREE.Color().setScalar(attributes.Specular.value).lerp(params.color.clone().multiplyScalar(attributes.Specular.value), attributes["Color Highlight"].value);
475
406
  } else {
476
- params.specular = new Color().setScalar(attributes.Specular.value);
407
+ params.specular = new THREE.Color().setScalar(attributes.Specular.value);
477
408
  }
478
409
  }
479
-
480
410
  if (params.specular && attributes.Glossiness) {
481
411
  params.shininess = 7 + Math.pow(2, attributes.Glossiness.value * 12 + 2);
482
412
  }
483
413
  }
484
-
485
414
  parseEnvMap(connections, maps, attributes) {
486
415
  if (connections.envMap) {
487
416
  const envMap = this.loadTexture(connections.envMap);
488
-
489
417
  if (attributes.transparent && attributes.opacity < 0.999) {
490
- envMap.mapping = EquirectangularRefractionMapping; // Reflectivity and refraction mapping don't work well together in Phong materials
491
-
492
- if (attributes.reflectivity !== undefined) {
418
+ envMap.mapping = THREE.EquirectangularRefractionMapping;
419
+ if (attributes.reflectivity !== void 0) {
493
420
  delete attributes.reflectivity;
494
421
  delete attributes.combine;
495
422
  }
496
-
497
- if (attributes.metalness !== undefined) {
423
+ if (attributes.metalness !== void 0) {
498
424
  delete attributes.metalness;
499
425
  }
500
426
  } else {
501
- envMap.mapping = EquirectangularReflectionMapping;
427
+ envMap.mapping = THREE.EquirectangularReflectionMapping;
502
428
  }
503
-
504
429
  maps.envMap = envMap;
505
430
  }
506
- } // get texture defined at top level by its index
507
-
508
-
431
+ }
509
432
  getTexturePathByIndex(index) {
510
- let fileName = '';
511
- if (!_lwoTree.textures) return fileName;
512
-
513
- _lwoTree.textures.forEach(function (texture) {
514
- if (texture.index === index) fileName = texture.fileName;
433
+ let fileName = "";
434
+ if (!_lwoTree.textures)
435
+ return fileName;
436
+ _lwoTree.textures.forEach(function(texture) {
437
+ if (texture.index === index)
438
+ fileName = texture.fileName;
515
439
  });
516
-
517
440
  return fileName;
518
441
  }
519
-
520
442
  loadTexture(path) {
521
- if (!path) return null;
522
- const texture = this.textureLoader.load(path, undefined, undefined, function () {
523
- console.warn('LWOLoader: non-standard resource hierarchy. Use `resourcePath` parameter to specify root content directory.');
443
+ if (!path)
444
+ return null;
445
+ const texture = this.textureLoader.load(path, void 0, void 0, function() {
446
+ console.warn(
447
+ "LWOLoader: non-standard resource hierarchy. Use `resourcePath` parameter to specify root content directory."
448
+ );
524
449
  });
525
450
  return texture;
526
- } // 0 = Reset, 1 = Repeat, 2 = Mirror, 3 = Edge
527
-
528
-
451
+ }
529
452
  getWrappingType(num) {
530
453
  switch (num) {
531
454
  case 0:
532
455
  console.warn('LWOLoader: "Reset" texture wrapping type is not supported in three.js');
533
- return ClampToEdgeWrapping;
534
-
456
+ return THREE.ClampToEdgeWrapping;
535
457
  case 1:
536
- return RepeatWrapping;
537
-
458
+ return THREE.RepeatWrapping;
538
459
  case 2:
539
- return MirroredRepeatWrapping;
540
-
460
+ return THREE.MirroredRepeatWrapping;
541
461
  case 3:
542
- return ClampToEdgeWrapping;
462
+ return THREE.ClampToEdgeWrapping;
543
463
  }
544
464
  }
545
-
546
465
  getMaterialType(nodeData) {
547
- if (nodeData.Clearcoat && nodeData.Clearcoat.value > 0) return MeshPhysicalMaterial;
548
- if (nodeData.Roughness) return MeshStandardMaterial;
549
- return MeshPhongMaterial;
466
+ if (nodeData.Clearcoat && nodeData.Clearcoat.value > 0)
467
+ return THREE.MeshPhysicalMaterial;
468
+ if (nodeData.Roughness)
469
+ return THREE.MeshStandardMaterial;
470
+ return THREE.MeshPhongMaterial;
550
471
  }
551
-
552
472
  }
553
-
554
473
  class GeometryParser {
555
474
  parse(geoData, layer) {
556
- const geometry = new BufferGeometry();
557
- geometry.setAttribute('position', new Float32BufferAttribute(geoData.points, 3));
475
+ const geometry = new THREE.BufferGeometry();
476
+ geometry.setAttribute("position", new THREE.Float32BufferAttribute(geoData.points, 3));
558
477
  const indices = this.splitIndices(geoData.vertexIndices, geoData.polygonDimensions);
559
478
  geometry.setIndex(indices);
560
479
  this.parseGroups(geometry, geoData);
561
480
  geometry.computeVertexNormals();
562
481
  this.parseUVs(geometry, layer, indices);
563
- this.parseMorphTargets(geometry, layer, indices); // TODO: z may need to be reversed to account for coordinate system change
564
-
565
- geometry.translate(-layer.pivot[0], -layer.pivot[1], -layer.pivot[2]); // let userData = geometry.userData;
566
- // geometry = geometry.toNonIndexed()
567
- // geometry.userData = userData;
568
-
482
+ this.parseMorphTargets(geometry, layer, indices);
483
+ geometry.translate(-layer.pivot[0], -layer.pivot[1], -layer.pivot[2]);
569
484
  return geometry;
570
- } // split quads into tris
571
-
572
-
485
+ }
573
486
  splitIndices(indices, polygonDimensions) {
574
487
  const remappedIndices = [];
575
488
  let i = 0;
576
- polygonDimensions.forEach(function (dim) {
489
+ polygonDimensions.forEach(function(dim) {
577
490
  if (dim < 4) {
578
- for (let k = 0; k < dim; k++) remappedIndices.push(indices[i + k]);
491
+ for (let k = 0; k < dim; k++)
492
+ remappedIndices.push(indices[i + k]);
579
493
  } else if (dim === 4) {
580
- remappedIndices.push(indices[i], indices[i + 1], indices[i + 2], indices[i], indices[i + 2], indices[i + 3]);
494
+ remappedIndices.push(
495
+ indices[i],
496
+ indices[i + 1],
497
+ indices[i + 2],
498
+ indices[i],
499
+ indices[i + 2],
500
+ indices[i + 3]
501
+ );
581
502
  } else if (dim > 4) {
582
503
  for (let k = 1; k < dim - 1; k++) {
583
504
  remappedIndices.push(indices[i], indices[i + k], indices[i + k + 1]);
584
505
  }
585
-
586
- console.warn('LWOLoader: polygons with greater than 4 sides are not supported');
506
+ console.warn("LWOLoader: polygons with greater than 4 sides are not supported");
587
507
  }
588
-
589
508
  i += dim;
590
509
  });
591
510
  return remappedIndices;
592
- } // NOTE: currently ignoring poly indices and assuming that they are intelligently ordered
593
-
594
-
511
+ }
595
512
  parseGroups(geometry, geoData) {
596
513
  const tags = _lwoTree.tags;
597
514
  const matNames = [];
598
515
  let elemSize = 3;
599
- if (geoData.type === 'lines') elemSize = 2;
600
- if (geoData.type === 'points') elemSize = 1;
516
+ if (geoData.type === "lines")
517
+ elemSize = 2;
518
+ if (geoData.type === "points")
519
+ elemSize = 1;
601
520
  const remappedIndices = this.splitMaterialIndices(geoData.polygonDimensions, geoData.materialIndices);
602
- let indexNum = 0; // create new indices in numerical order
603
-
604
- const indexPairs = {}; // original indices mapped to numerical indices
605
-
521
+ let indexNum = 0;
522
+ const indexPairs = {};
606
523
  let prevMaterialIndex;
607
524
  let materialIndex;
608
525
  let prevStart = 0;
609
526
  let currentCount = 0;
610
-
611
527
  for (let i = 0; i < remappedIndices.length; i += 2) {
612
528
  materialIndex = remappedIndices[i + 1];
613
- if (i === 0) matNames[indexNum] = tags[materialIndex];
614
- if (prevMaterialIndex === undefined) prevMaterialIndex = materialIndex;
615
-
529
+ if (i === 0)
530
+ matNames[indexNum] = tags[materialIndex];
531
+ if (prevMaterialIndex === void 0)
532
+ prevMaterialIndex = materialIndex;
616
533
  if (materialIndex !== prevMaterialIndex) {
617
534
  let currentIndex;
618
-
619
535
  if (indexPairs[tags[prevMaterialIndex]]) {
620
536
  currentIndex = indexPairs[tags[prevMaterialIndex]];
621
537
  } else {
@@ -624,20 +540,15 @@ class GeometryParser {
624
540
  matNames[indexNum] = tags[prevMaterialIndex];
625
541
  indexNum++;
626
542
  }
627
-
628
543
  geometry.addGroup(prevStart, currentCount, currentIndex);
629
544
  prevStart += currentCount;
630
545
  prevMaterialIndex = materialIndex;
631
546
  currentCount = 0;
632
547
  }
633
-
634
548
  currentCount += elemSize;
635
- } // the loop above doesn't add the last group, do that here.
636
-
637
-
549
+ }
638
550
  if (geometry.groups.length > 0) {
639
551
  let currentIndex;
640
-
641
552
  if (indexPairs[tags[materialIndex]]) {
642
553
  currentIndex = indexPairs[tags[materialIndex]];
643
554
  } else {
@@ -645,69 +556,50 @@ class GeometryParser {
645
556
  indexPairs[tags[materialIndex]] = indexNum;
646
557
  matNames[indexNum] = tags[materialIndex];
647
558
  }
648
-
649
559
  geometry.addGroup(prevStart, currentCount, currentIndex);
650
- } // Mat names from TAGS chunk, used to build up an array of materials for this geometry
651
-
652
-
560
+ }
653
561
  geometry.userData.matNames = matNames;
654
562
  }
655
-
656
563
  splitMaterialIndices(polygonDimensions, indices) {
657
564
  const remappedIndices = [];
658
- polygonDimensions.forEach(function (dim, i) {
565
+ polygonDimensions.forEach(function(dim, i) {
659
566
  if (dim <= 3) {
660
567
  remappedIndices.push(indices[i * 2], indices[i * 2 + 1]);
661
568
  } else if (dim === 4) {
662
569
  remappedIndices.push(indices[i * 2], indices[i * 2 + 1], indices[i * 2], indices[i * 2 + 1]);
663
570
  } else {
664
- // ignore > 4 for now
665
571
  for (let k = 0; k < dim - 2; k++) {
666
572
  remappedIndices.push(indices[i * 2], indices[i * 2 + 1]);
667
573
  }
668
574
  }
669
575
  });
670
576
  return remappedIndices;
671
- } // UV maps:
672
- // 1: are defined via index into an array of points, not into a geometry
673
- // - the geometry is also defined by an index into this array, but the indexes may not match
674
- // 2: there can be any number of UV maps for a single geometry. Here these are combined,
675
- // with preference given to the first map encountered
676
- // 3: UV maps can be partial - that is, defined for only a part of the geometry
677
- // 4: UV maps can be VMAP or VMAD (discontinuous, to allow for seams). In practice, most
678
- // UV maps are defined as partially VMAP and partially VMAD
679
- // VMADs are currently not supported
680
-
681
-
577
+ }
682
578
  parseUVs(geometry, layer) {
683
- // start by creating a UV map set to zero for the whole geometry
684
- const remappedUVs = Array.from(Array(geometry.attributes.position.count * 2), function () {
579
+ const remappedUVs = Array.from(Array(geometry.attributes.position.count * 2), function() {
685
580
  return 0;
686
581
  });
687
-
688
582
  for (const name in layer.uvs) {
689
583
  const uvs = layer.uvs[name].uvs;
690
584
  const uvIndices = layer.uvs[name].uvIndices;
691
- uvIndices.forEach(function (i, j) {
585
+ uvIndices.forEach(function(i, j) {
692
586
  remappedUVs[i * 2] = uvs[j * 2];
693
587
  remappedUVs[i * 2 + 1] = uvs[j * 2 + 1];
694
588
  });
695
589
  }
696
-
697
- geometry.setAttribute('uv', new Float32BufferAttribute(remappedUVs, 2));
590
+ geometry.setAttribute("uv", new THREE.Float32BufferAttribute(remappedUVs, 2));
698
591
  }
699
-
700
592
  parseMorphTargets(geometry, layer) {
701
593
  let num = 0;
702
-
703
594
  for (const name in layer.morphTargets) {
704
595
  const remappedPoints = geometry.attributes.position.array.slice();
705
- if (!geometry.morphAttributes.position) geometry.morphAttributes.position = [];
596
+ if (!geometry.morphAttributes.position)
597
+ geometry.morphAttributes.position = [];
706
598
  const morphPoints = layer.morphTargets[name].points;
707
599
  const morphIndices = layer.morphTargets[name].indices;
708
600
  const type = layer.morphTargets[name].type;
709
- morphIndices.forEach(function (i, j) {
710
- if (type === 'relative') {
601
+ morphIndices.forEach(function(i, j) {
602
+ if (type === "relative") {
711
603
  remappedPoints[i * 3] += morphPoints[j * 3];
712
604
  remappedPoints[i * 3 + 1] += morphPoints[j * 3 + 1];
713
605
  remappedPoints[i * 3 + 2] += morphPoints[j * 3 + 2];
@@ -717,21 +609,17 @@ class GeometryParser {
717
609
  remappedPoints[i * 3 + 2] = morphPoints[j * 3 + 2];
718
610
  }
719
611
  });
720
- geometry.morphAttributes.position[num] = new Float32BufferAttribute(remappedPoints, 3);
612
+ geometry.morphAttributes.position[num] = new THREE.Float32BufferAttribute(remappedPoints, 3);
721
613
  geometry.morphAttributes.position[num].name = name;
722
614
  num++;
723
615
  }
724
-
725
616
  geometry.morphTargetsRelative = false;
726
617
  }
727
-
728
- } // ************** UTILITY FUNCTIONS **************
729
-
730
-
618
+ }
731
619
  function extractParentUrl(url, dir) {
732
620
  const index = url.indexOf(dir);
733
- if (index === -1) return './';
621
+ if (index === -1)
622
+ return "./";
734
623
  return url.substr(0, index);
735
624
  }
736
-
737
- export { LWOLoader };
625
+ exports.LWOLoader = LWOLoader;