three-stdlib 2.22.9 → 2.23.0

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 (630) hide show
  1. package/dist/animation/AnimationClipCreator.js +49 -50
  2. package/dist/animation/AnimationClipCreator.mjs +49 -50
  3. package/dist/animation/CCDIKSolver.d.ts +9 -4
  4. package/dist/animation/CCDIKSolver.js +193 -148
  5. package/dist/animation/CCDIKSolver.mjs +194 -149
  6. package/dist/animation/MMDAnimationHelper.js +613 -515
  7. package/dist/animation/MMDAnimationHelper.mjs +613 -515
  8. package/dist/animation/MMDPhysics.d.ts +6 -1
  9. package/dist/animation/MMDPhysics.js +728 -718
  10. package/dist/animation/MMDPhysics.mjs +729 -719
  11. package/dist/cameras/CinematicCamera.d.ts +2 -2
  12. package/dist/controls/ArcballControls.d.ts +1 -1
  13. package/dist/controls/ArcballControls.js +38 -44
  14. package/dist/controls/ArcballControls.mjs +39 -45
  15. package/dist/controls/DeviceOrientationControls.js +2 -1
  16. package/dist/controls/DeviceOrientationControls.mjs +2 -1
  17. package/dist/controls/FirstPersonControls.d.ts +1 -1
  18. package/dist/controls/FirstPersonControls.js +1 -1
  19. package/dist/controls/FirstPersonControls.mjs +1 -1
  20. package/dist/controls/PointerLockControls.js +2 -2
  21. package/dist/controls/PointerLockControls.mjs +2 -2
  22. package/dist/controls/TrackballControls.d.ts +2 -2
  23. package/dist/controls/TransformControls.d.ts +1 -1
  24. package/dist/controls/experimental/CameraControls.d.ts +1 -1
  25. package/dist/csm/CSM.js +4 -4
  26. package/dist/csm/CSM.mjs +4 -4
  27. package/dist/csm/CSMFrustum.js +1 -1
  28. package/dist/csm/CSMFrustum.mjs +1 -1
  29. package/dist/csm/CSMShader.js +14 -10
  30. package/dist/csm/CSMShader.mjs +14 -10
  31. package/dist/curves/CurveExtras.js +52 -62
  32. package/dist/curves/CurveExtras.mjs +53 -63
  33. package/dist/curves/NURBSUtils.d.ts +18 -20
  34. package/dist/curves/NURBSUtils.js +17 -17
  35. package/dist/curves/NURBSUtils.mjs +17 -17
  36. package/dist/deprecated/Geometry.js +26 -26
  37. package/dist/deprecated/Geometry.mjs +27 -27
  38. package/dist/effects/AnaglyphEffect.js +95 -114
  39. package/dist/effects/AnaglyphEffect.mjs +95 -114
  40. package/dist/effects/AsciiEffect.js +144 -162
  41. package/dist/effects/AsciiEffect.mjs +144 -162
  42. package/dist/effects/OutlineEffect.js +253 -276
  43. package/dist/effects/OutlineEffect.mjs +253 -276
  44. package/dist/effects/ParallaxBarrierEffect.js +61 -60
  45. package/dist/effects/ParallaxBarrierEffect.mjs +61 -60
  46. package/dist/effects/PeppersGhostEffect.js +84 -81
  47. package/dist/effects/PeppersGhostEffect.mjs +84 -81
  48. package/dist/effects/StereoEffect.js +31 -28
  49. package/dist/effects/StereoEffect.mjs +31 -28
  50. package/dist/environments/RoomEnvironment.d.ts +6 -5
  51. package/dist/exporters/GLTFExporter.d.ts +109 -441
  52. package/dist/exporters/GLTFExporter.js +915 -581
  53. package/dist/exporters/GLTFExporter.mjs +915 -581
  54. package/dist/geometries/ConvexGeometry.js +0 -3
  55. package/dist/geometries/ConvexGeometry.mjs +0 -3
  56. package/dist/geometries/LightningStrike.d.ts +3 -3
  57. package/dist/geometries/LightningStrike.js +80 -75
  58. package/dist/geometries/LightningStrike.mjs +80 -75
  59. package/dist/geometries/ParametricGeometries.js +75 -74
  60. package/dist/geometries/ParametricGeometries.mjs +75 -74
  61. package/dist/geometries/RoundedBoxGeometry.js +1 -1
  62. package/dist/geometries/RoundedBoxGeometry.mjs +1 -1
  63. package/dist/geometries/TextGeometry.d.ts +1 -1
  64. package/dist/helpers/RectAreaLightHelper.d.ts +4 -3
  65. package/dist/helpers/RectAreaLightHelper.js +2 -2
  66. package/dist/helpers/RectAreaLightHelper.mjs +2 -2
  67. package/dist/helpers/VertexNormalsHelper.d.ts +3 -0
  68. package/dist/helpers/VertexNormalsHelper.js +15 -22
  69. package/dist/helpers/VertexNormalsHelper.mjs +16 -23
  70. package/dist/helpers/VertexTangentsHelper.d.ts +3 -0
  71. package/dist/helpers/VertexTangentsHelper.js +12 -14
  72. package/dist/helpers/VertexTangentsHelper.mjs +12 -14
  73. package/dist/index.d.ts +1 -66
  74. package/dist/index.js +5 -370
  75. package/dist/index.mjs +9 -374
  76. package/dist/interactive/InteractiveGroup.js +1 -1
  77. package/dist/interactive/InteractiveGroup.mjs +1 -1
  78. package/dist/interactive/SelectionBox.js +122 -125
  79. package/dist/interactive/SelectionBox.mjs +122 -125
  80. package/dist/interactive/SelectionHelper.js +45 -48
  81. package/dist/interactive/SelectionHelper.mjs +45 -48
  82. package/dist/libs/MeshoptDecoder.d.ts +1 -1
  83. package/dist/libs/MotionControllers.d.ts +15 -14
  84. package/dist/libs/MotionControllers.js +10 -10
  85. package/dist/libs/MotionControllers.mjs +10 -10
  86. package/dist/lights/LightProbeGenerator.js +43 -43
  87. package/dist/lights/LightProbeGenerator.mjs +43 -43
  88. package/dist/lights/RectAreaLightUniformsLib.js +9 -5
  89. package/dist/lights/RectAreaLightUniformsLib.mjs +9 -5
  90. package/dist/lines/LineMaterial.js +271 -271
  91. package/dist/lines/LineMaterial.mjs +272 -272
  92. package/dist/lines/LineSegments2.js +12 -12
  93. package/dist/lines/LineSegments2.mjs +12 -12
  94. package/dist/lines/LineSegmentsGeometry.js +2 -2
  95. package/dist/lines/LineSegmentsGeometry.mjs +2 -2
  96. package/dist/lines/Wireframe.js +2 -2
  97. package/dist/lines/Wireframe.mjs +2 -2
  98. package/dist/loaders/3DMLoader.d.ts +2 -1
  99. package/dist/loaders/3MFLoader.d.ts +2 -1
  100. package/dist/loaders/AMFLoader.d.ts +2 -1
  101. package/dist/loaders/AssimpLoader.d.ts +20 -0
  102. package/dist/loaders/AssimpLoader.js +520 -482
  103. package/dist/loaders/AssimpLoader.mjs +520 -482
  104. package/dist/loaders/BVHLoader.d.ts +2 -1
  105. package/dist/loaders/BasisTextureLoader.d.ts +2 -1
  106. package/dist/loaders/BasisTextureLoader.js +23 -14
  107. package/dist/loaders/BasisTextureLoader.mjs +24 -15
  108. package/dist/loaders/ColladaLoader.d.ts +2 -1
  109. package/dist/loaders/DRACOLoader.d.ts +2 -1
  110. package/dist/loaders/FBXLoader.d.ts +2 -1
  111. package/dist/loaders/FBXLoader.js +2 -2
  112. package/dist/loaders/FBXLoader.mjs +2 -2
  113. package/dist/loaders/FontLoader.d.ts +4 -4
  114. package/dist/loaders/FontLoader.js +2 -1
  115. package/dist/loaders/FontLoader.mjs +2 -1
  116. package/dist/loaders/GCodeLoader.d.ts +2 -1
  117. package/dist/loaders/GLTFLoader.d.ts +11 -9
  118. package/dist/loaders/GLTFLoader.js +2 -2
  119. package/dist/loaders/GLTFLoader.mjs +2 -2
  120. package/dist/loaders/HDRCubeTextureLoader.d.ts +2 -1
  121. package/dist/loaders/KMZLoader.d.ts +2 -1
  122. package/dist/loaders/KTX2Loader.js +34 -15
  123. package/dist/loaders/KTX2Loader.mjs +35 -16
  124. package/dist/loaders/LDrawLoader.d.ts +2 -1
  125. package/dist/loaders/LDrawLoader.js +3 -3
  126. package/dist/loaders/LDrawLoader.mjs +3 -3
  127. package/dist/loaders/LUT3dlLoader.d.ts +3 -2
  128. package/dist/loaders/LUTCubeLoader.d.ts +3 -2
  129. package/dist/loaders/LWOLoader.d.ts +2 -1
  130. package/dist/loaders/LottieLoader.d.ts +2 -1
  131. package/dist/loaders/MD2Loader.d.ts +2 -1
  132. package/dist/loaders/MDDLoader.d.ts +2 -1
  133. package/dist/loaders/MMDLoader.d.ts +2 -1
  134. package/dist/loaders/MTLLoader.d.ts +2 -1
  135. package/dist/loaders/OBJLoader.d.ts +2 -1
  136. package/dist/loaders/OBJLoader.js +5 -5
  137. package/dist/loaders/OBJLoader.mjs +5 -5
  138. package/dist/loaders/PCDLoader.d.ts +2 -1
  139. package/dist/loaders/PDBLoader.d.ts +2 -1
  140. package/dist/loaders/PLYLoader.d.ts +2 -1
  141. package/dist/loaders/PRWMLoader.d.ts +2 -1
  142. package/dist/loaders/RGBMLoader.js +924 -918
  143. package/dist/loaders/RGBMLoader.mjs +924 -918
  144. package/dist/loaders/STLLoader.d.ts +2 -1
  145. package/dist/loaders/SVGLoader.d.ts +2 -1
  146. package/dist/loaders/TDSLoader.d.ts +2 -1
  147. package/dist/loaders/TTFLoader.d.ts +2 -1
  148. package/dist/loaders/TiltLoader.d.ts +2 -1
  149. package/dist/loaders/TiltLoader.js +3 -1
  150. package/dist/loaders/TiltLoader.mjs +3 -1
  151. package/dist/loaders/VOXLoader.d.ts +4 -2
  152. package/dist/loaders/VRMLLoader.d.ts +2 -1
  153. package/dist/loaders/VRMLoader.d.ts +20 -0
  154. package/dist/loaders/VTKLoader.d.ts +2 -1
  155. package/dist/loaders/XLoader.d.ts +20 -0
  156. package/dist/loaders/XLoader.js +1 -1
  157. package/dist/loaders/XLoader.mjs +1 -1
  158. package/dist/loaders/XYZLoader.d.ts +2 -1
  159. package/dist/loaders/lwo/IFFParser.js +104 -110
  160. package/dist/loaders/lwo/IFFParser.mjs +104 -110
  161. package/dist/loaders/lwo/LWO2Parser.js +18 -33
  162. package/dist/loaders/lwo/LWO2Parser.mjs +18 -33
  163. package/dist/loaders/lwo/LWO3Parser.js +17 -33
  164. package/dist/loaders/lwo/LWO3Parser.mjs +17 -33
  165. package/dist/math/Capsule.d.ts +1 -1
  166. package/dist/math/Capsule.js +90 -92
  167. package/dist/math/Capsule.mjs +90 -92
  168. package/dist/math/ColorConverter.js +26 -36
  169. package/dist/math/ColorConverter.mjs +26 -36
  170. package/dist/math/ConvexHull.js +16 -17
  171. package/dist/math/ConvexHull.mjs +17 -18
  172. package/dist/math/ImprovedNoise.js +41 -39
  173. package/dist/math/ImprovedNoise.mjs +41 -39
  174. package/dist/math/Lut.js +65 -63
  175. package/dist/math/Lut.mjs +66 -64
  176. package/dist/math/MeshSurfaceSampler.d.ts +3 -0
  177. package/dist/math/MeshSurfaceSampler.js +85 -89
  178. package/dist/math/MeshSurfaceSampler.mjs +85 -89
  179. package/dist/math/OBB.js +68 -88
  180. package/dist/math/OBB.mjs +68 -88
  181. package/dist/math/Octree.js +240 -245
  182. package/dist/math/Octree.mjs +240 -245
  183. package/dist/misc/ConvexObjectBreaker.js +114 -120
  184. package/dist/misc/ConvexObjectBreaker.mjs +115 -121
  185. package/dist/misc/GPUComputationRenderer.d.ts +1 -0
  186. package/dist/misc/GPUComputationRenderer.js +191 -157
  187. package/dist/misc/GPUComputationRenderer.mjs +192 -158
  188. package/dist/misc/Gyroscope.js +16 -18
  189. package/dist/misc/Gyroscope.mjs +17 -19
  190. package/dist/misc/MD2Character.js +88 -86
  191. package/dist/misc/MD2Character.mjs +89 -87
  192. package/dist/misc/MD2CharacterComplex.js +106 -105
  193. package/dist/misc/MD2CharacterComplex.mjs +107 -106
  194. package/dist/misc/MorphAnimMesh.d.ts +1 -1
  195. package/dist/misc/MorphAnimMesh.js +33 -33
  196. package/dist/misc/MorphAnimMesh.mjs +33 -33
  197. package/dist/misc/MorphBlendMesh.js +68 -68
  198. package/dist/misc/MorphBlendMesh.mjs +68 -68
  199. package/dist/misc/ProgressiveLightmap.d.ts +1 -2
  200. package/dist/misc/RollerCoaster.js +321 -314
  201. package/dist/misc/RollerCoaster.mjs +322 -315
  202. package/dist/misc/Volume.d.ts +1 -1
  203. package/dist/misc/Volume.js +169 -166
  204. package/dist/misc/Volume.mjs +170 -167
  205. package/dist/misc/VolumeSlice.js +50 -51
  206. package/dist/misc/VolumeSlice.mjs +50 -51
  207. package/dist/modifiers/CurveModifier.d.ts +2 -2
  208. package/dist/modifiers/CurveModifier.js +1 -1
  209. package/dist/modifiers/CurveModifier.mjs +1 -1
  210. package/dist/modifiers/SimplifyModifier.js +2 -1
  211. package/dist/modifiers/SimplifyModifier.mjs +2 -1
  212. package/dist/objects/Lensflare.js +32 -21
  213. package/dist/objects/Lensflare.mjs +33 -22
  214. package/dist/objects/LightningStorm.d.ts +3 -3
  215. package/dist/objects/LightningStorm.js +3 -3
  216. package/dist/objects/LightningStorm.mjs +3 -3
  217. package/dist/objects/MarchingCubes.d.ts +1 -0
  218. package/dist/objects/MarchingCubes.js +4362 -10
  219. package/dist/objects/MarchingCubes.mjs +4363 -11
  220. package/dist/objects/Reflector.d.ts +5 -2
  221. package/dist/objects/Reflector.js +39 -12
  222. package/dist/objects/Reflector.mjs +40 -13
  223. package/dist/objects/ReflectorForSSRPass.js +25 -21
  224. package/dist/objects/ReflectorForSSRPass.mjs +26 -22
  225. package/dist/objects/ReflectorRTT.d.ts +6 -0
  226. package/dist/objects/Refractor.d.ts +5 -2
  227. package/dist/objects/Refractor.js +39 -12
  228. package/dist/objects/Refractor.mjs +40 -13
  229. package/dist/objects/ShadowMesh.d.ts +6 -3
  230. package/dist/objects/ShadowMesh.js +7 -3
  231. package/dist/objects/ShadowMesh.mjs +8 -4
  232. package/dist/objects/Sky.js +181 -137
  233. package/dist/objects/Sky.mjs +182 -138
  234. package/dist/objects/Water.d.ts +3 -3
  235. package/dist/objects/Water.js +3 -2
  236. package/dist/objects/Water.mjs +3 -2
  237. package/dist/objects/Water2.d.ts +2 -2
  238. package/dist/objects/Water2.js +16 -18
  239. package/dist/objects/Water2.mjs +17 -19
  240. package/dist/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
  241. package/dist/postprocessing/AdaptiveToneMappingPass.js +105 -112
  242. package/dist/postprocessing/AdaptiveToneMappingPass.mjs +107 -114
  243. package/dist/postprocessing/BokehPass.d.ts +1 -1
  244. package/dist/postprocessing/ClearPass.d.ts +3 -3
  245. package/dist/postprocessing/CubeTexturePass.js +37 -33
  246. package/dist/postprocessing/CubeTexturePass.mjs +37 -33
  247. package/dist/postprocessing/HalftonePass.d.ts +1 -1
  248. package/dist/postprocessing/LUTPass.d.ts +3 -3
  249. package/dist/postprocessing/RenderPixelatedPass.d.ts +28 -0
  250. package/dist/postprocessing/SAOPass.d.ts +5 -6
  251. package/dist/postprocessing/SAOPass.js +151 -145
  252. package/dist/postprocessing/SAOPass.mjs +153 -147
  253. package/dist/postprocessing/SSAARenderPass.d.ts +5 -5
  254. package/dist/postprocessing/SSAARenderPass.js +78 -55
  255. package/dist/postprocessing/SSAARenderPass.mjs +80 -57
  256. package/dist/postprocessing/SSAOPass.d.ts +4 -5
  257. package/dist/postprocessing/SSAOPass.js +17 -10
  258. package/dist/postprocessing/SSAOPass.mjs +17 -10
  259. package/dist/postprocessing/SSRPass.d.ts +6 -7
  260. package/dist/postprocessing/SSRPass.js +235 -262
  261. package/dist/postprocessing/SSRPass.mjs +237 -264
  262. package/dist/postprocessing/TAARenderPass.d.ts +2 -2
  263. package/dist/postprocessing/TAARenderPass.js +106 -27
  264. package/dist/postprocessing/TAARenderPass.mjs +107 -28
  265. package/dist/postprocessing/TexturePass.d.ts +2 -2
  266. package/dist/postprocessing/TexturePass.js +24 -22
  267. package/dist/postprocessing/TexturePass.mjs +25 -23
  268. package/dist/postprocessing/UnrealBloomPass.js +175 -118
  269. package/dist/postprocessing/UnrealBloomPass.mjs +177 -120
  270. package/dist/renderers/CSS2DRenderer.d.ts +2 -1
  271. package/dist/renderers/CSS2DRenderer.js +5 -4
  272. package/dist/renderers/CSS2DRenderer.mjs +6 -5
  273. package/dist/renderers/CSS3DRenderer.d.ts +1 -1
  274. package/dist/renderers/CSS3DRenderer.js +147 -113
  275. package/dist/renderers/CSS3DRenderer.mjs +148 -114
  276. package/dist/renderers/Projector.js +377 -389
  277. package/dist/renderers/Projector.mjs +377 -389
  278. package/dist/renderers/SVGRenderer.js +280 -275
  279. package/dist/renderers/SVGRenderer.mjs +280 -275
  280. package/dist/shaders/ACESFilmicToneMappingShader.d.ts +1 -1
  281. package/dist/shaders/AfterimageShader.d.ts +1 -1
  282. package/dist/shaders/BasicShader.d.ts +1 -1
  283. package/dist/shaders/BleachBypassShader.d.ts +1 -1
  284. package/dist/shaders/BokehShader.d.ts +2 -2
  285. package/dist/shaders/BokehShader2.d.ts +2 -2
  286. package/dist/shaders/BokehShader2.js +1 -1
  287. package/dist/shaders/BokehShader2.mjs +1 -1
  288. package/dist/shaders/ColorCorrectionShader.js +3 -3
  289. package/dist/shaders/ColorCorrectionShader.mjs +3 -3
  290. package/dist/shaders/ColorifyShader.js +1 -1
  291. package/dist/shaders/ColorifyShader.mjs +1 -1
  292. package/dist/shaders/ConvolutionShader.d.ts +2 -2
  293. package/dist/shaders/ConvolutionShader.js +1 -1
  294. package/dist/shaders/ConvolutionShader.mjs +1 -1
  295. package/dist/shaders/CopyShader.d.ts +1 -1
  296. package/dist/shaders/DepthLimitedBlurShader.d.ts +2 -2
  297. package/dist/shaders/DepthLimitedBlurShader.js +2 -2
  298. package/dist/shaders/DepthLimitedBlurShader.mjs +2 -2
  299. package/dist/shaders/DotScreenShader.js +2 -2
  300. package/dist/shaders/DotScreenShader.mjs +2 -2
  301. package/dist/shaders/FXAAShader.js +1 -1
  302. package/dist/shaders/FXAAShader.mjs +1 -1
  303. package/dist/shaders/FreiChenShader.js +1 -1
  304. package/dist/shaders/FreiChenShader.mjs +1 -1
  305. package/dist/shaders/GammaCorrectionShader.d.ts +1 -1
  306. package/dist/shaders/GodRaysShader.js +4 -4
  307. package/dist/shaders/GodRaysShader.mjs +4 -4
  308. package/dist/shaders/HorizontalBlurShader.d.ts +1 -1
  309. package/dist/shaders/LuminosityHighPassShader.js +1 -1
  310. package/dist/shaders/LuminosityHighPassShader.mjs +1 -1
  311. package/dist/shaders/NormalMapShader.js +2 -2
  312. package/dist/shaders/NormalMapShader.mjs +2 -2
  313. package/dist/shaders/SAOShader.d.ts +2 -2
  314. package/dist/shaders/SAOShader.js +3 -3
  315. package/dist/shaders/SAOShader.mjs +3 -3
  316. package/dist/shaders/SMAAShader.js +3 -3
  317. package/dist/shaders/SMAAShader.mjs +3 -3
  318. package/dist/shaders/SSAOShader.js +4 -4
  319. package/dist/shaders/SSAOShader.mjs +4 -4
  320. package/dist/shaders/SSRShader.js +4 -4
  321. package/dist/shaders/SSRShader.mjs +4 -4
  322. package/dist/shaders/SobelOperatorShader.js +1 -1
  323. package/dist/shaders/SobelOperatorShader.mjs +1 -1
  324. package/dist/shaders/SubsurfaceScatteringShader.d.ts +2 -2
  325. package/dist/shaders/SubsurfaceScatteringShader.js +91 -52
  326. package/dist/shaders/SubsurfaceScatteringShader.mjs +91 -52
  327. package/dist/shaders/ToonShader.js +25 -25
  328. package/dist/shaders/ToonShader.mjs +25 -25
  329. package/dist/shaders/TriangleBlurShader.js +1 -1
  330. package/dist/shaders/TriangleBlurShader.mjs +1 -1
  331. package/dist/shaders/VerticalBlurShader.d.ts +1 -1
  332. package/dist/shaders/VolumeShader.js +2 -2
  333. package/dist/shaders/VolumeShader.mjs +2 -2
  334. package/dist/shaders/types.d.ts +2 -2
  335. package/dist/types/Loader.d.ts +4 -0
  336. package/dist/types/Loader.js +26 -0
  337. package/dist/types/Loader.mjs +9 -0
  338. package/dist/types/shared.d.ts +2 -2
  339. package/dist/types/utils.d.ts +1 -1
  340. package/dist/utils/BufferGeometryUtils.d.ts +2 -2
  341. package/dist/utils/BufferGeometryUtils.js +1 -1
  342. package/dist/utils/BufferGeometryUtils.mjs +1 -1
  343. package/dist/utils/RoughnessMipmapper.d.ts +8 -0
  344. package/dist/utils/RoughnessMipmapper.js +79 -75
  345. package/dist/utils/RoughnessMipmapper.mjs +79 -75
  346. package/dist/utils/ShadowMapViewer.js +103 -106
  347. package/dist/utils/ShadowMapViewer.mjs +103 -106
  348. package/dist/utils/SkeletonUtils.d.ts +5 -21
  349. package/dist/utils/SkeletonUtils.js +182 -263
  350. package/dist/utils/SkeletonUtils.mjs +183 -264
  351. package/dist/utils/UVsDebug.js +37 -42
  352. package/dist/utils/UVsDebug.mjs +37 -42
  353. package/dist/webxr/ARButton.d.ts +2 -1
  354. package/dist/webxr/OculusHandModel.d.ts +2 -1
  355. package/dist/webxr/OculusHandPointerModel.d.ts +2 -2
  356. package/dist/webxr/OculusHandPointerModel.js +2 -2
  357. package/dist/webxr/OculusHandPointerModel.mjs +2 -2
  358. package/dist/webxr/VRButton.d.ts +2 -1
  359. package/dist/webxr/XRHandPrimitiveModel.js +2 -2
  360. package/dist/webxr/XRHandPrimitiveModel.mjs +2 -2
  361. package/package.json +5 -6
  362. package/dist/custom.d.ts +0 -5
  363. package/dist/loaders/NodeMaterialLoader.js +0 -146
  364. package/dist/loaders/NodeMaterialLoader.mjs +0 -146
  365. package/dist/nodes/Nodes.js +0 -347
  366. package/dist/nodes/Nodes.mjs +0 -347
  367. package/dist/nodes/ShaderNode.js +0 -408
  368. package/dist/nodes/ShaderNode.mjs +0 -408
  369. package/dist/nodes/accessors/BufferNode.js +0 -14
  370. package/dist/nodes/accessors/BufferNode.mjs +0 -15
  371. package/dist/nodes/accessors/CameraNode.js +0 -43
  372. package/dist/nodes/accessors/CameraNode.mjs +0 -44
  373. package/dist/nodes/accessors/CubeTextureNode.js +0 -41
  374. package/dist/nodes/accessors/CubeTextureNode.mjs +0 -42
  375. package/dist/nodes/accessors/MaterialNode.js +0 -70
  376. package/dist/nodes/accessors/MaterialNode.mjs +0 -71
  377. package/dist/nodes/accessors/MaterialReferenceNode.js +0 -13
  378. package/dist/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  379. package/dist/nodes/accessors/ModelNode.js +0 -8
  380. package/dist/nodes/accessors/ModelNode.mjs +0 -9
  381. package/dist/nodes/accessors/ModelViewProjectionNode.js +0 -23
  382. package/dist/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  383. package/dist/nodes/accessors/NormalNode.js +0 -61
  384. package/dist/nodes/accessors/NormalNode.mjs +0 -62
  385. package/dist/nodes/accessors/Object3DNode.js +0 -75
  386. package/dist/nodes/accessors/Object3DNode.mjs +0 -76
  387. package/dist/nodes/accessors/PointUVNode.js +0 -12
  388. package/dist/nodes/accessors/PointUVNode.mjs +0 -13
  389. package/dist/nodes/accessors/PositionNode.js +0 -64
  390. package/dist/nodes/accessors/PositionNode.mjs +0 -65
  391. package/dist/nodes/accessors/ReferenceNode.js +0 -36
  392. package/dist/nodes/accessors/ReferenceNode.mjs +0 -37
  393. package/dist/nodes/accessors/ReflectNode.js +0 -42
  394. package/dist/nodes/accessors/ReflectNode.mjs +0 -43
  395. package/dist/nodes/accessors/SkinningNode.js +0 -57
  396. package/dist/nodes/accessors/SkinningNode.mjs +0 -58
  397. package/dist/nodes/accessors/TextureNode.js +0 -53
  398. package/dist/nodes/accessors/TextureNode.mjs +0 -54
  399. package/dist/nodes/accessors/UVNode.js +0 -22
  400. package/dist/nodes/accessors/UVNode.mjs +0 -23
  401. package/dist/nodes/core/ArrayUniformNode.js +0 -13
  402. package/dist/nodes/core/ArrayUniformNode.mjs +0 -14
  403. package/dist/nodes/core/AttributeNode.js +0 -29
  404. package/dist/nodes/core/AttributeNode.mjs +0 -30
  405. package/dist/nodes/core/BypassNode.js +0 -21
  406. package/dist/nodes/core/BypassNode.mjs +0 -22
  407. package/dist/nodes/core/CodeNode.js +0 -27
  408. package/dist/nodes/core/CodeNode.mjs +0 -28
  409. package/dist/nodes/core/ConstNode.js +0 -13
  410. package/dist/nodes/core/ConstNode.mjs +0 -14
  411. package/dist/nodes/core/ContextNode.js +0 -21
  412. package/dist/nodes/core/ContextNode.mjs +0 -22
  413. package/dist/nodes/core/ExpressionNode.js +0 -18
  414. package/dist/nodes/core/ExpressionNode.mjs +0 -19
  415. package/dist/nodes/core/FunctionCallNode.js +0 -36
  416. package/dist/nodes/core/FunctionCallNode.mjs +0 -37
  417. package/dist/nodes/core/FunctionNode.js +0 -55
  418. package/dist/nodes/core/FunctionNode.mjs +0 -56
  419. package/dist/nodes/core/InputNode.js +0 -37
  420. package/dist/nodes/core/InputNode.mjs +0 -38
  421. package/dist/nodes/core/Node.js +0 -138
  422. package/dist/nodes/core/Node.mjs +0 -139
  423. package/dist/nodes/core/NodeAttribute.js +0 -9
  424. package/dist/nodes/core/NodeAttribute.mjs +0 -10
  425. package/dist/nodes/core/NodeBuilder.js +0 -402
  426. package/dist/nodes/core/NodeBuilder.mjs +0 -402
  427. package/dist/nodes/core/NodeCode.js +0 -10
  428. package/dist/nodes/core/NodeCode.mjs +0 -11
  429. package/dist/nodes/core/NodeFrame.js +0 -34
  430. package/dist/nodes/core/NodeFrame.mjs +0 -35
  431. package/dist/nodes/core/NodeFunctionInput.js +0 -12
  432. package/dist/nodes/core/NodeFunctionInput.mjs +0 -13
  433. package/dist/nodes/core/NodeKeywords.js +0 -43
  434. package/dist/nodes/core/NodeKeywords.mjs +0 -44
  435. package/dist/nodes/core/NodeUniform.js +0 -17
  436. package/dist/nodes/core/NodeUniform.mjs +0 -18
  437. package/dist/nodes/core/NodeUtils.js +0 -57
  438. package/dist/nodes/core/NodeUtils.mjs +0 -57
  439. package/dist/nodes/core/NodeVar.js +0 -9
  440. package/dist/nodes/core/NodeVar.mjs +0 -10
  441. package/dist/nodes/core/NodeVary.js +0 -9
  442. package/dist/nodes/core/NodeVary.mjs +0 -10
  443. package/dist/nodes/core/PropertyNode.js +0 -20
  444. package/dist/nodes/core/PropertyNode.mjs +0 -21
  445. package/dist/nodes/core/TempNode.js +0 -24
  446. package/dist/nodes/core/TempNode.mjs +0 -25
  447. package/dist/nodes/core/UniformNode.js +0 -22
  448. package/dist/nodes/core/UniformNode.mjs +0 -23
  449. package/dist/nodes/core/VarNode.js +0 -30
  450. package/dist/nodes/core/VarNode.mjs +0 -31
  451. package/dist/nodes/core/VaryNode.js +0 -29
  452. package/dist/nodes/core/VaryNode.mjs +0 -30
  453. package/dist/nodes/core/constants.js +0 -24
  454. package/dist/nodes/core/constants.mjs +0 -24
  455. package/dist/nodes/display/ColorSpaceNode.js +0 -62
  456. package/dist/nodes/display/ColorSpaceNode.mjs +0 -62
  457. package/dist/nodes/display/NormalMapNode.js +0 -53
  458. package/dist/nodes/display/NormalMapNode.mjs +0 -54
  459. package/dist/nodes/fog/FogNode.js +0 -14
  460. package/dist/nodes/fog/FogNode.mjs +0 -15
  461. package/dist/nodes/fog/FogRangeNode.js +0 -16
  462. package/dist/nodes/fog/FogRangeNode.mjs +0 -17
  463. package/dist/nodes/functions/BSDFs.js +0 -64
  464. package/dist/nodes/functions/BSDFs.mjs +0 -64
  465. package/dist/nodes/lights/LightContextNode.js +0 -34
  466. package/dist/nodes/lights/LightContextNode.mjs +0 -35
  467. package/dist/nodes/lights/LightNode.js +0 -57
  468. package/dist/nodes/lights/LightNode.mjs +0 -58
  469. package/dist/nodes/lights/LightsNode.js +0 -58
  470. package/dist/nodes/lights/LightsNode.mjs +0 -59
  471. package/dist/nodes/loaders/NodeLoader.js +0 -195
  472. package/dist/nodes/loaders/NodeLoader.mjs +0 -196
  473. package/dist/nodes/loaders/NodeMaterialLoader.js +0 -23
  474. package/dist/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  475. package/dist/nodes/loaders/NodeObjectLoader.js +0 -39
  476. package/dist/nodes/loaders/NodeObjectLoader.mjs +0 -40
  477. package/dist/nodes/materials/LineBasicNodeMaterial.js +0 -26
  478. package/dist/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  479. package/dist/nodes/materials/Materials.js +0 -24
  480. package/dist/nodes/materials/Materials.mjs +0 -24
  481. package/dist/nodes/materials/MeshBasicNodeMaterial.js +0 -27
  482. package/dist/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  483. package/dist/nodes/materials/MeshStandardNodeMaterial.js +0 -40
  484. package/dist/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  485. package/dist/nodes/materials/NodeMaterial.js +0 -63
  486. package/dist/nodes/materials/NodeMaterial.mjs +0 -64
  487. package/dist/nodes/materials/PointsNodeMaterial.js +0 -29
  488. package/dist/nodes/materials/PointsNodeMaterial.mjs +0 -30
  489. package/dist/nodes/math/CondNode.js +0 -40
  490. package/dist/nodes/math/CondNode.mjs +0 -41
  491. package/dist/nodes/math/MathNode.js +0 -165
  492. package/dist/nodes/math/MathNode.mjs +0 -166
  493. package/dist/nodes/math/OperatorNode.js +0 -102
  494. package/dist/nodes/math/OperatorNode.mjs +0 -103
  495. package/dist/nodes/procedural/CheckerNode.js +0 -20
  496. package/dist/nodes/procedural/CheckerNode.mjs +0 -21
  497. package/dist/nodes/utils/ArrayElementNode.js +0 -18
  498. package/dist/nodes/utils/ArrayElementNode.mjs +0 -19
  499. package/dist/nodes/utils/ConvertNode.js +0 -24
  500. package/dist/nodes/utils/ConvertNode.mjs +0 -25
  501. package/dist/nodes/utils/JoinNode.js +0 -25
  502. package/dist/nodes/utils/JoinNode.mjs +0 -26
  503. package/dist/nodes/utils/MatcapUVNode.js +0 -15
  504. package/dist/nodes/utils/MatcapUVNode.mjs +0 -16
  505. package/dist/nodes/utils/OscNode.js +0 -49
  506. package/dist/nodes/utils/OscNode.mjs +0 -50
  507. package/dist/nodes/utils/SplitNode.js +0 -44
  508. package/dist/nodes/utils/SplitNode.mjs +0 -45
  509. package/dist/nodes/utils/SpriteSheetUVNode.js +0 -39
  510. package/dist/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  511. package/dist/nodes/utils/TimerNode.js +0 -43
  512. package/dist/nodes/utils/TimerNode.mjs +0 -44
  513. package/dist/offscreen/jank.js +0 -26
  514. package/dist/offscreen/jank.mjs +0 -27
  515. package/dist/offscreen/offscreen.js +0 -8
  516. package/dist/offscreen/offscreen.mjs +0 -7
  517. package/dist/offscreen/scene.js +0 -68
  518. package/dist/offscreen/scene.mjs +0 -52
  519. package/dist/renderers/nodes/accessors/CameraNode.js +0 -62
  520. package/dist/renderers/nodes/accessors/CameraNode.mjs +0 -63
  521. package/dist/renderers/nodes/accessors/ModelNode.js +0 -60
  522. package/dist/renderers/nodes/accessors/ModelNode.mjs +0 -61
  523. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.js +0 -20
  524. package/dist/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  525. package/dist/renderers/nodes/accessors/NormalNode.js +0 -60
  526. package/dist/renderers/nodes/accessors/NormalNode.mjs +0 -61
  527. package/dist/renderers/nodes/accessors/PositionNode.js +0 -29
  528. package/dist/renderers/nodes/accessors/PositionNode.mjs +0 -30
  529. package/dist/renderers/nodes/accessors/UVNode.js +0 -12
  530. package/dist/renderers/nodes/accessors/UVNode.mjs +0 -13
  531. package/dist/renderers/nodes/core/AttributeNode.js +0 -34
  532. package/dist/renderers/nodes/core/AttributeNode.mjs +0 -35
  533. package/dist/renderers/nodes/core/InputNode.js +0 -30
  534. package/dist/renderers/nodes/core/InputNode.mjs +0 -31
  535. package/dist/renderers/nodes/core/Node.js +0 -33
  536. package/dist/renderers/nodes/core/Node.mjs +0 -34
  537. package/dist/renderers/nodes/core/NodeAttribute.js +0 -9
  538. package/dist/renderers/nodes/core/NodeAttribute.mjs +0 -10
  539. package/dist/renderers/nodes/core/NodeBuilder.js +0 -248
  540. package/dist/renderers/nodes/core/NodeBuilder.mjs +0 -249
  541. package/dist/renderers/nodes/core/NodeFrame.js +0 -34
  542. package/dist/renderers/nodes/core/NodeFrame.mjs +0 -35
  543. package/dist/renderers/nodes/core/NodeSlot.js +0 -9
  544. package/dist/renderers/nodes/core/NodeSlot.mjs +0 -10
  545. package/dist/renderers/nodes/core/NodeUniform.js +0 -17
  546. package/dist/renderers/nodes/core/NodeUniform.mjs +0 -18
  547. package/dist/renderers/nodes/core/NodeVary.js +0 -10
  548. package/dist/renderers/nodes/core/NodeVary.mjs +0 -11
  549. package/dist/renderers/nodes/core/VaryNode.js +0 -21
  550. package/dist/renderers/nodes/core/VaryNode.mjs +0 -22
  551. package/dist/renderers/nodes/core/constants.js +0 -22
  552. package/dist/renderers/nodes/core/constants.mjs +0 -22
  553. package/dist/renderers/nodes/inputs/ColorNode.js +0 -10
  554. package/dist/renderers/nodes/inputs/ColorNode.mjs +0 -11
  555. package/dist/renderers/nodes/inputs/FloatNode.js +0 -10
  556. package/dist/renderers/nodes/inputs/FloatNode.mjs +0 -11
  557. package/dist/renderers/nodes/inputs/Matrix3Node.js +0 -11
  558. package/dist/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  559. package/dist/renderers/nodes/inputs/Matrix4Node.js +0 -11
  560. package/dist/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  561. package/dist/renderers/nodes/inputs/TextureNode.js +0 -19
  562. package/dist/renderers/nodes/inputs/TextureNode.mjs +0 -20
  563. package/dist/renderers/nodes/inputs/Vector2Node.js +0 -10
  564. package/dist/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  565. package/dist/renderers/nodes/inputs/Vector3Node.js +0 -11
  566. package/dist/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  567. package/dist/renderers/nodes/inputs/Vector4Node.js +0 -11
  568. package/dist/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  569. package/dist/renderers/nodes/math/MathNode.js +0 -54
  570. package/dist/renderers/nodes/math/MathNode.mjs +0 -55
  571. package/dist/renderers/nodes/math/OperatorNode.js +0 -41
  572. package/dist/renderers/nodes/math/OperatorNode.mjs +0 -42
  573. package/dist/renderers/nodes/utils/SwitchNode.js +0 -19
  574. package/dist/renderers/nodes/utils/SwitchNode.mjs +0 -20
  575. package/dist/renderers/nodes/utils/TimerNode.js +0 -13
  576. package/dist/renderers/nodes/utils/TimerNode.mjs +0 -14
  577. package/dist/renderers/webgpu/WebGPU.js +0 -23
  578. package/dist/renderers/webgpu/WebGPU.mjs +0 -24
  579. package/dist/renderers/webgpu/WebGPUAttributes.js +0 -68
  580. package/dist/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  581. package/dist/renderers/webgpu/WebGPUBackground.js +0 -60
  582. package/dist/renderers/webgpu/WebGPUBackground.mjs +0 -61
  583. package/dist/renderers/webgpu/WebGPUBinding.js +0 -13
  584. package/dist/renderers/webgpu/WebGPUBinding.mjs +0 -14
  585. package/dist/renderers/webgpu/WebGPUBindings.js +0 -154
  586. package/dist/renderers/webgpu/WebGPUBindings.mjs +0 -155
  587. package/dist/renderers/webgpu/WebGPUComputePipelines.js +0 -43
  588. package/dist/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  589. package/dist/renderers/webgpu/WebGPUGeometries.js +0 -40
  590. package/dist/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  591. package/dist/renderers/webgpu/WebGPUInfo.js +0 -45
  592. package/dist/renderers/webgpu/WebGPUInfo.mjs +0 -46
  593. package/dist/renderers/webgpu/WebGPUObjects.js +0 -24
  594. package/dist/renderers/webgpu/WebGPUObjects.mjs +0 -25
  595. package/dist/renderers/webgpu/WebGPUProperties.js +0 -21
  596. package/dist/renderers/webgpu/WebGPUProperties.mjs +0 -22
  597. package/dist/renderers/webgpu/WebGPURenderLists.js +0 -118
  598. package/dist/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  599. package/dist/renderers/webgpu/WebGPURenderPipelines.js +0 -545
  600. package/dist/renderers/webgpu/WebGPURenderPipelines.mjs +0 -546
  601. package/dist/renderers/webgpu/WebGPURenderer.js +0 -596
  602. package/dist/renderers/webgpu/WebGPURenderer.mjs +0 -575
  603. package/dist/renderers/webgpu/WebGPUSampledTexture.js +0 -40
  604. package/dist/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  605. package/dist/renderers/webgpu/WebGPUSampler.js +0 -14
  606. package/dist/renderers/webgpu/WebGPUSampler.mjs +0 -15
  607. package/dist/renderers/webgpu/WebGPUStorageBuffer.js +0 -14
  608. package/dist/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  609. package/dist/renderers/webgpu/WebGPUTextureRenderer.js +0 -22
  610. package/dist/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  611. package/dist/renderers/webgpu/WebGPUTextureUtils.js +0 -97
  612. package/dist/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  613. package/dist/renderers/webgpu/WebGPUTextures.js +0 -483
  614. package/dist/renderers/webgpu/WebGPUTextures.mjs +0 -484
  615. package/dist/renderers/webgpu/WebGPUUniform.js +0 -81
  616. package/dist/renderers/webgpu/WebGPUUniform.mjs +0 -81
  617. package/dist/renderers/webgpu/WebGPUUniformsGroup.js +0 -175
  618. package/dist/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  619. package/dist/renderers/webgpu/constants.js +0 -241
  620. package/dist/renderers/webgpu/constants.mjs +0 -241
  621. package/dist/renderers/webgpu/nodes/ShaderLib.js +0 -41
  622. package/dist/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  623. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.js +0 -164
  624. package/dist/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  625. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.js +0 -73
  626. package/dist/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  627. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +0 -14
  628. package/dist/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  629. package/dist/renderers/webgpu/nodes/WebGPUNodes.js +0 -39
  630. package/dist/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
@@ -1,12 +1,10 @@
1
- import { LoaderUtils } from "three";
2
1
  import { LWO2Parser } from "./LWO2Parser.mjs";
3
2
  import { LWO3Parser } from "./LWO3Parser.mjs";
4
- function IFFParser() {
5
- this.debugger = new Debugger();
6
- }
7
- IFFParser.prototype = {
8
- constructor: IFFParser,
9
- parse: function(buffer) {
3
+ class IFFParser {
4
+ constructor() {
5
+ this.debugger = new Debugger();
6
+ }
7
+ parse(buffer) {
10
8
  this.reader = new DataViewReader(buffer);
11
9
  this.tree = {
12
10
  materials: {},
@@ -31,7 +29,7 @@ IFFParser.prototype = {
31
29
  this.debugger.offset = this.reader.offset;
32
30
  this.debugger.closeForms();
33
31
  return this.tree;
34
- },
32
+ }
35
33
  parseTopForm() {
36
34
  this.debugger.offset = this.reader.offset;
37
35
  var topForm = this.reader.getIDTag();
@@ -52,7 +50,7 @@ IFFParser.prototype = {
52
50
  this.debugger.nodeID = type;
53
51
  this.debugger.log();
54
52
  return;
55
- },
53
+ }
56
54
  ///
57
55
  // FORM PARSING METHODS
58
56
  ///
@@ -183,7 +181,7 @@ IFFParser.prototype = {
183
181
  this.debugger.node = 0;
184
182
  this.debugger.nodeID = type;
185
183
  this.debugger.log();
186
- },
184
+ }
187
185
  setupForm(type, length) {
188
186
  if (!this.currentForm)
189
187
  this.currentForm = this.currentNode;
@@ -196,15 +194,15 @@ IFFParser.prototype = {
196
194
  console.warn("LWOLoader: form already exists on parent: ", type, this.currentForm);
197
195
  this.currentForm = this.currentForm[type];
198
196
  }
199
- },
197
+ }
200
198
  skipForm(length) {
201
199
  this.reader.skip(length - 4);
202
- },
200
+ }
203
201
  parseUnknownForm(type, length) {
204
202
  console.warn("LWOLoader: unknown FORM encountered: " + type, length);
205
203
  printBuffer(this.reader.dv.buffer, this.reader.offset, length - 4);
206
204
  this.reader.skip(length - 4);
207
- },
205
+ }
208
206
  parseSurfaceForm(length) {
209
207
  this.reader.skip(8);
210
208
  var name = this.reader.getString();
@@ -222,7 +220,7 @@ IFFParser.prototype = {
222
220
  this.parentForm = this.tree.materials;
223
221
  this.currentForm = surface;
224
222
  this.currentFormEnd = this.reader.offset + length;
225
- },
223
+ }
226
224
  parseSurfaceLwo2(length) {
227
225
  var name = this.reader.getString();
228
226
  var surface = {
@@ -238,7 +236,7 @@ IFFParser.prototype = {
238
236
  this.parentForm = this.tree.materials;
239
237
  this.currentForm = surface;
240
238
  this.currentFormEnd = this.reader.offset + length;
241
- },
239
+ }
242
240
  parseSubNode(length) {
243
241
  this.reader.skip(8);
244
242
  var name = this.reader.getString();
@@ -248,20 +246,20 @@ IFFParser.prototype = {
248
246
  this.currentForm = node;
249
247
  this.currentNode = node;
250
248
  this.currentFormEnd = this.reader.offset + length;
251
- },
249
+ }
252
250
  // collect attributes from all nodes at the top level of a surface
253
251
  parseConnections(length) {
254
252
  this.currentFormEnd = this.reader.offset + length;
255
253
  this.parentForm = this.currentForm;
256
254
  this.currentForm = this.currentSurface.connections;
257
- },
255
+ }
258
256
  // surface node attribute data, e.g. specular, roughness etc
259
257
  parseEntryForm(length) {
260
258
  this.reader.skip(8);
261
259
  var name = this.reader.getString();
262
260
  this.currentForm = this.currentNode.attributes;
263
261
  this.setupForm(name, length);
264
- },
262
+ }
265
263
  // parse values from material - doesn't match up to other LWO3 data types
266
264
  // sub form of entry form
267
265
  parseValueForm() {
@@ -278,13 +276,13 @@ IFFParser.prototype = {
278
276
  this.reader.skip(24);
279
277
  this.currentForm.value = this.reader.getFloat64Array(3);
280
278
  }
281
- },
279
+ }
282
280
  // holds various data about texture node image state
283
281
  // Data other thanmipMapLevel unknown
284
282
  parseImageStateForm() {
285
283
  this.reader.skip(8);
286
284
  this.currentForm.mipMapLevel = this.reader.getFloat32();
287
- },
285
+ }
288
286
  // LWO2 style image data node OR LWO3 textures defined at top level in editor (not as SURF node)
289
287
  parseImageMap(length) {
290
288
  this.currentFormEnd = this.reader.offset + length;
@@ -295,7 +293,7 @@ IFFParser.prototype = {
295
293
  this.currentForm.maps.push(map);
296
294
  this.currentForm = map;
297
295
  this.reader.skip(10);
298
- },
296
+ }
299
297
  parseTextureNodeAttribute(type) {
300
298
  this.reader.skip(28);
301
299
  this.reader.skip(20);
@@ -323,11 +321,11 @@ IFFParser.prototype = {
323
321
  break;
324
322
  }
325
323
  this.reader.skip(2);
326
- },
324
+ }
327
325
  // ENVL forms are currently ignored
328
326
  parseEnvelope(length) {
329
327
  this.reader.skip(length - 4);
330
- },
328
+ }
331
329
  ///
332
330
  // CHUNK PARSING METHODS
333
331
  ///
@@ -349,7 +347,7 @@ IFFParser.prototype = {
349
347
  };
350
348
  this.tree.textures.push(texture);
351
349
  this.currentForm = texture;
352
- },
350
+ }
353
351
  parseClipLwo2(length) {
354
352
  var texture = {
355
353
  index: this.reader.getUint32(),
@@ -368,17 +366,17 @@ IFFParser.prototype = {
368
366
  }
369
367
  this.tree.textures.push(texture);
370
368
  this.currentForm = texture;
371
- },
369
+ }
372
370
  parseImage() {
373
371
  this.reader.skip(8);
374
372
  this.currentForm.fileName = this.reader.getString();
375
- },
373
+ }
376
374
  parseXVAL(type, length) {
377
375
  var endOffset = this.reader.offset + length - 4;
378
376
  this.reader.skip(8);
379
377
  this.currentForm[type] = this.reader.getFloat32();
380
378
  this.reader.setOffset(endOffset);
381
- },
379
+ }
382
380
  parseXVAL3(type, length) {
383
381
  var endOffset = this.reader.offset + length - 4;
384
382
  this.reader.skip(8);
@@ -388,7 +386,7 @@ IFFParser.prototype = {
388
386
  z: this.reader.getFloat32()
389
387
  };
390
388
  this.reader.setOffset(endOffset);
391
- },
389
+ }
392
390
  // Tags associated with an object
393
391
  // OTAG { type[ID4], tag-string[S0] }
394
392
  parseObjectTag() {
@@ -397,7 +395,7 @@ IFFParser.prototype = {
397
395
  this.tree.objectTags[this.reader.getIDTag()] = {
398
396
  tagString: this.reader.getString()
399
397
  };
400
- },
398
+ }
401
399
  // Signals the start of a new layer. All the data chunks which follow will be included in this layer until another layer chunk is encountered.
402
400
  // LAYR: number[U2], flags[U2], pivot[VEC12], name[S0], parent[U2]
403
401
  parseLayer(length) {
@@ -413,16 +411,16 @@ IFFParser.prototype = {
413
411
  this.currentLayer = layer;
414
412
  var parsedLength = 16 + stringOffset(this.currentLayer.name);
415
413
  this.currentLayer.parent = parsedLength < length ? this.reader.getUint16() : -1;
416
- },
414
+ }
417
415
  // VEC12 * ( F4 + F4 + F4 ) array of x,y,z vectors
418
416
  // Converting from left to right handed coordinate system:
419
417
  // x -> -x and switch material FrontSide -> BackSide
420
418
  parsePoints(length) {
421
419
  this.currentPoints = [];
422
- for (let i = 0; i < length / 4; i += 3) {
420
+ for (var i = 0; i < length / 4; i += 3) {
423
421
  this.currentPoints.push(this.reader.getFloat32(), this.reader.getFloat32(), -this.reader.getFloat32());
424
422
  }
425
- },
423
+ }
426
424
  // parse VMAP or VMAD
427
425
  // Associates a set of floating-point vectors with a set of points.
428
426
  // VMAP: { type[ID4], dimension[U2], name[S0], ( vert[VX], value[F4] # dimension ) * }
@@ -465,7 +463,7 @@ IFFParser.prototype = {
465
463
  console.warn("LWOLoader: unknown vertex map type: " + type);
466
464
  this.reader.skip(remainingLength);
467
465
  }
468
- },
466
+ }
469
467
  parseUVMapping(name, finalOffset, discontinuous) {
470
468
  var uvIndices = [];
471
469
  var polyIndices = [];
@@ -492,7 +490,7 @@ IFFParser.prototype = {
492
490
  uvs
493
491
  };
494
492
  }
495
- },
493
+ }
496
494
  parseMorphTargets(name, finalOffset, type) {
497
495
  var indices = [];
498
496
  var points = [];
@@ -508,7 +506,7 @@ IFFParser.prototype = {
508
506
  points,
509
507
  type
510
508
  };
511
- },
509
+ }
512
510
  // A list of polygons for the current layer.
513
511
  // POLS { type[ID4], ( numvert+flags[U2], vert[VX] # numvert ) * }
514
512
  parsePolygonList(length) {
@@ -520,7 +518,7 @@ IFFParser.prototype = {
520
518
  var numverts = this.reader.getUint16();
521
519
  numverts = numverts & 1023;
522
520
  polygonDimensions.push(numverts);
523
- for (let j = 0; j < numverts; j++)
521
+ for (var j = 0; j < numverts; j++)
524
522
  indices.push(this.reader.getVariableLengthIndex());
525
523
  }
526
524
  var geometryData = {
@@ -534,23 +532,23 @@ IFFParser.prototype = {
534
532
  else if (polygonDimensions[0] === 2)
535
533
  geometryData.type = "lines";
536
534
  this.currentLayer.geometry = geometryData;
537
- },
535
+ }
538
536
  // Lists the tag strings that can be associated with polygons by the PTAG chunk.
539
537
  // TAGS { tag-string[S0] * }
540
538
  parseTagStrings(length) {
541
539
  this.tree.tags = this.reader.getStringArray(length);
542
- },
540
+ }
543
541
  // Associates tags of a given type with polygons in the most recent POLS chunk.
544
542
  // PTAG { type[ID4], ( poly[VX], tag[U2] ) * }
545
543
  parsePolygonTagMapping(length) {
546
544
  var finalOffset = this.reader.offset + length;
547
545
  var type = this.reader.getIDTag();
548
- if (type === "SURF") {
546
+ if (type === "SURF")
549
547
  this.parseMaterialIndices(finalOffset);
550
- } else {
548
+ else {
551
549
  this.reader.skip(length - 4);
552
550
  }
553
- },
551
+ }
554
552
  parseMaterialIndices(finalOffset) {
555
553
  this.currentLayer.geometry.materialIndices = [];
556
554
  while (this.reader.offset < finalOffset) {
@@ -558,87 +556,88 @@ IFFParser.prototype = {
558
556
  var materialIndex = this.reader.getUint16();
559
557
  this.currentLayer.geometry.materialIndices.push(polygonIndex, materialIndex);
560
558
  }
561
- },
559
+ }
562
560
  parseUnknownCHUNK(blockID, length) {
563
561
  console.warn("LWOLoader: unknown chunk type: " + blockID + " length: " + length);
564
562
  var data = this.reader.getString(length);
565
563
  this.currentForm[blockID] = data;
566
564
  }
567
- };
568
- function DataViewReader(buffer) {
569
- this.dv = new DataView(buffer);
570
- this.offset = 0;
571
565
  }
572
- DataViewReader.prototype = {
573
- constructor: DataViewReader,
574
- size: function() {
566
+ class DataViewReader {
567
+ constructor(buffer) {
568
+ this.dv = new DataView(buffer);
569
+ this.offset = 0;
570
+ this._textDecoder = new TextDecoder();
571
+ this._bytes = new Uint8Array(buffer);
572
+ }
573
+ size() {
575
574
  return this.dv.buffer.byteLength;
576
- },
575
+ }
577
576
  setOffset(offset) {
578
577
  if (offset > 0 && offset < this.dv.buffer.byteLength) {
579
578
  this.offset = offset;
580
579
  } else {
581
580
  console.error("LWOLoader: invalid buffer offset");
582
581
  }
583
- },
584
- endOfFile: function() {
582
+ }
583
+ endOfFile() {
585
584
  if (this.offset >= this.size())
586
585
  return true;
587
586
  return false;
588
- },
589
- skip: function(length) {
587
+ }
588
+ skip(length) {
590
589
  this.offset += length;
591
- },
592
- getUint8: function() {
590
+ }
591
+ getUint8() {
593
592
  var value = this.dv.getUint8(this.offset);
594
593
  this.offset += 1;
595
594
  return value;
596
- },
597
- getUint16: function() {
595
+ }
596
+ getUint16() {
598
597
  var value = this.dv.getUint16(this.offset);
599
598
  this.offset += 2;
600
599
  return value;
601
- },
602
- getInt32: function() {
600
+ }
601
+ getInt32() {
603
602
  var value = this.dv.getInt32(this.offset, false);
604
603
  this.offset += 4;
605
604
  return value;
606
- },
607
- getUint32: function() {
605
+ }
606
+ getUint32() {
608
607
  var value = this.dv.getUint32(this.offset, false);
609
608
  this.offset += 4;
610
609
  return value;
611
- },
612
- getUint64: function() {
610
+ }
611
+ getUint64() {
613
612
  var low, high;
614
613
  high = this.getUint32();
615
614
  low = this.getUint32();
616
615
  return high * 4294967296 + low;
617
- },
618
- getFloat32: function() {
616
+ }
617
+ getFloat32() {
619
618
  var value = this.dv.getFloat32(this.offset, false);
620
619
  this.offset += 4;
621
620
  return value;
622
- },
623
- getFloat32Array: function(size) {
621
+ }
622
+ getFloat32Array(size) {
624
623
  var a = [];
625
- for (let i = 0; i < size; i++) {
624
+ for (var i = 0; i < size; i++) {
626
625
  a.push(this.getFloat32());
627
626
  }
628
627
  return a;
629
- },
630
- getFloat64: function() {
628
+ }
629
+ getFloat64() {
631
630
  var value = this.dv.getFloat64(this.offset, this.littleEndian);
632
631
  this.offset += 8;
633
632
  return value;
634
- },
635
- getFloat64Array: function(size) {
633
+ }
634
+ getFloat64Array(size) {
636
635
  var a = [];
637
- for (let i = 0; i < size; i++) {
636
+ for (var i = 0; i < size; i++) {
638
637
  a.push(this.getFloat64());
639
638
  }
640
639
  return a;
641
- },
640
+ }
642
641
  // get variable-length index data type
643
642
  // VX ::= index[U2] | (index + 0xFF000000)[U4]
644
643
  // If the index value is less than 65,280 (0xFF00),then VX === U2
@@ -651,50 +650,45 @@ DataViewReader.prototype = {
651
650
  return this.getUint8() * 65536 + this.getUint8() * 256 + this.getUint8();
652
651
  }
653
652
  return firstByte * 256 + this.getUint8();
654
- },
653
+ }
655
654
  // An ID tag is a sequence of 4 bytes containing 7-bit ASCII values
656
655
  getIDTag() {
657
656
  return this.getString(4);
658
- },
659
- getString: function(size) {
657
+ }
658
+ getString(size) {
660
659
  if (size === 0)
661
660
  return;
662
- var a = [];
661
+ const start = this.offset;
662
+ let result;
663
+ let length;
663
664
  if (size) {
664
- for (let i = 0; i < size; i++) {
665
- a[i] = this.getUint8();
666
- }
665
+ length = size;
666
+ result = this._textDecoder.decode(new Uint8Array(this.dv.buffer, start, size));
667
667
  } else {
668
- var currentChar;
669
- var len = 0;
670
- while (currentChar !== 0) {
671
- currentChar = this.getUint8();
672
- if (currentChar !== 0)
673
- a.push(currentChar);
674
- len++;
675
- }
676
- if (!isEven(len + 1))
677
- this.getUint8();
668
+ length = this._bytes.indexOf(0, start) - start;
669
+ result = this._textDecoder.decode(new Uint8Array(this.dv.buffer, start, length));
670
+ length++;
671
+ length += length % 2;
678
672
  }
679
- return LoaderUtils.decodeText(new Uint8Array(a));
680
- },
681
- getStringArray: function(size) {
673
+ this.skip(length);
674
+ return result;
675
+ }
676
+ getStringArray(size) {
682
677
  var a = this.getString(size);
683
678
  a = a.split("\0");
684
679
  return a.filter(Boolean);
685
680
  }
686
- };
687
- function Debugger() {
688
- this.active = false;
689
- this.depth = 0;
690
- this.formList = [];
691
681
  }
692
- Debugger.prototype = {
693
- constructor: Debugger,
694
- enable: function() {
682
+ class Debugger {
683
+ constructor() {
684
+ this.active = false;
685
+ this.depth = 0;
686
+ this.formList = [];
687
+ }
688
+ enable() {
695
689
  this.active = true;
696
- },
697
- log: function() {
690
+ }
691
+ log() {
698
692
  if (!this.active)
699
693
  return;
700
694
  var nodeType;
@@ -722,11 +716,11 @@ Debugger.prototype = {
722
716
  this.formList.push(this.dataOffset + this.length);
723
717
  }
724
718
  this.skipped = false;
725
- },
726
- closeForms: function() {
719
+ }
720
+ closeForms() {
727
721
  if (!this.active)
728
722
  return;
729
- for (let i = this.formList.length - 1; i >= 0; i--) {
723
+ for (var i = this.formList.length - 1; i >= 0; i--) {
730
724
  if (this.offset >= this.formList[i]) {
731
725
  this.depth -= 1;
732
726
  console.log("| ".repeat(this.depth) + "}");
@@ -734,7 +728,7 @@ Debugger.prototype = {
734
728
  }
735
729
  }
736
730
  }
737
- };
731
+ }
738
732
  function isEven(num) {
739
733
  return num % 2;
740
734
  }
@@ -742,7 +736,7 @@ function stringOffset(string) {
742
736
  return string.length + 1 + (isEven(string.length + 1) ? 1 : 0);
743
737
  }
744
738
  function printBuffer(buffer, from, to) {
745
- console.log(LoaderUtils.decodeText(new Uint8Array(buffer, from, to)));
739
+ console.log(new TextDecoder().decode(new Uint8Array(buffer, from, to)));
746
740
  }
747
741
  export {
748
742
  IFFParser
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function LWO2Parser(IFFParser) {
4
- this.IFF = IFFParser;
5
- }
6
- LWO2Parser.prototype = {
7
- constructor: LWO2Parser,
8
- parseBlock: function() {
3
+ class LWO2Parser {
4
+ constructor(IFFParser) {
5
+ this.IFF = IFFParser;
6
+ }
7
+ parseBlock() {
9
8
  this.IFF.debugger.offset = this.IFF.reader.offset;
10
9
  this.IFF.debugger.closeForms();
11
- var blockID = this.IFF.reader.getIDTag();
12
- var length = this.IFF.reader.getUint32();
10
+ const blockID = this.IFF.reader.getIDTag();
11
+ let length = this.IFF.reader.getUint32();
13
12
  if (length > this.IFF.reader.dv.byteLength - this.IFF.reader.offset) {
14
13
  this.IFF.reader.offset -= 4;
15
14
  length = this.IFF.reader.getUint16();
@@ -69,6 +68,7 @@ LWO2Parser.prototype = {
69
68
  case "WRPW":
70
69
  case "WRPH":
71
70
  case "NMOD":
71
+ case "NSEL":
72
72
  case "NPRW":
73
73
  case "NPLA":
74
74
  case "NODS":
@@ -172,13 +172,10 @@ LWO2Parser.prototype = {
172
172
  this.IFF.currentForm.channelName = this.IFF.reader.getString();
173
173
  break;
174
174
  case "WRAP":
175
- this.IFF.currentForm.wrap = {
176
- w: this.IFF.reader.getUint16(),
177
- h: this.IFF.reader.getUint16()
178
- };
175
+ this.IFF.currentForm.wrap = { w: this.IFF.reader.getUint16(), h: this.IFF.reader.getUint16() };
179
176
  break;
180
177
  case "IMAG":
181
- var index = this.IFF.reader.getVariableLengthIndex();
178
+ const index = this.IFF.reader.getVariableLengthIndex();
182
179
  this.IFF.currentForm.imageIndex = index;
183
180
  break;
184
181
  case "OREF":
@@ -233,43 +230,31 @@ LWO2Parser.prototype = {
233
230
  this.IFF.reader.skip(length);
234
231
  break;
235
232
  case "SMAN":
236
- var maxSmoothingAngle = this.IFF.reader.getFloat32();
233
+ const maxSmoothingAngle = this.IFF.reader.getFloat32();
237
234
  this.IFF.currentSurface.attributes.smooth = maxSmoothingAngle < 0 ? false : true;
238
235
  break;
239
236
  case "COLR":
240
- this.IFF.currentSurface.attributes.Color = {
241
- value: this.IFF.reader.getFloat32Array(3)
242
- };
237
+ this.IFF.currentSurface.attributes.Color = { value: this.IFF.reader.getFloat32Array(3) };
243
238
  this.IFF.reader.skip(2);
244
239
  break;
245
240
  case "LUMI":
246
- this.IFF.currentSurface.attributes.Luminosity = {
247
- value: this.IFF.reader.getFloat32()
248
- };
241
+ this.IFF.currentSurface.attributes.Luminosity = { value: this.IFF.reader.getFloat32() };
249
242
  this.IFF.reader.skip(2);
250
243
  break;
251
244
  case "SPEC":
252
- this.IFF.currentSurface.attributes.Specular = {
253
- value: this.IFF.reader.getFloat32()
254
- };
245
+ this.IFF.currentSurface.attributes.Specular = { value: this.IFF.reader.getFloat32() };
255
246
  this.IFF.reader.skip(2);
256
247
  break;
257
248
  case "DIFF":
258
- this.IFF.currentSurface.attributes.Diffuse = {
259
- value: this.IFF.reader.getFloat32()
260
- };
249
+ this.IFF.currentSurface.attributes.Diffuse = { value: this.IFF.reader.getFloat32() };
261
250
  this.IFF.reader.skip(2);
262
251
  break;
263
252
  case "REFL":
264
- this.IFF.currentSurface.attributes.Reflection = {
265
- value: this.IFF.reader.getFloat32()
266
- };
253
+ this.IFF.currentSurface.attributes.Reflection = { value: this.IFF.reader.getFloat32() };
267
254
  this.IFF.reader.skip(2);
268
255
  break;
269
256
  case "GLOS":
270
- this.IFF.currentSurface.attributes.Glossiness = {
271
- value: this.IFF.reader.getFloat32()
272
- };
257
+ this.IFF.currentSurface.attributes.Glossiness = { value: this.IFF.reader.getFloat32() };
273
258
  this.IFF.reader.skip(2);
274
259
  break;
275
260
  case "TRAN":
@@ -323,5 +308,5 @@ LWO2Parser.prototype = {
323
308
  this.IFF.currentForm = this.IFF.parentForm;
324
309
  }
325
310
  }
326
- };
311
+ }
327
312
  exports.LWO2Parser = LWO2Parser;