three-stdlib 2.16.0 → 2.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1218) hide show
  1. package/BufferGeometryUtils-1a7a235c.js +655 -0
  2. package/BufferGeometryUtils-971dfde3.js +1 -0
  3. package/Nodes-4f766d71.js +471 -0
  4. package/Nodes-9aa16d74.js +1 -0
  5. package/animation/AnimationClipCreator.cjs.js +1 -0
  6. package/animation/AnimationClipCreator.js +52 -32
  7. package/animation/CCDIKSolver.cjs.js +1 -0
  8. package/animation/CCDIKSolver.js +143 -64
  9. package/animation/MMDAnimationHelper.cjs.js +1 -0
  10. package/animation/MMDAnimationHelper.js +341 -150
  11. package/animation/MMDPhysics.cjs.js +1 -0
  12. package/animation/MMDPhysics.js +361 -154
  13. package/cameras/CinematicCamera.cjs.js +1 -0
  14. package/cameras/CinematicCamera.js +77 -67
  15. package/controls/ArcballControls.cjs.js +1 -0
  16. package/controls/ArcballControls.js +1449 -544
  17. package/controls/DeviceOrientationControls.cjs.js +1 -0
  18. package/controls/DeviceOrientationControls.js +97 -52
  19. package/controls/DragControls.cjs.js +1 -0
  20. package/controls/DragControls.js +187 -85
  21. package/controls/FirstPersonControls.cjs.js +1 -0
  22. package/controls/FirstPersonControls.js +193 -123
  23. package/controls/FlyControls.cjs.js +1 -0
  24. package/controls/FlyControls.js +152 -82
  25. package/controls/OrbitControls.cjs.js +1 -0
  26. package/controls/OrbitControls.js +481 -232
  27. package/controls/PointerLockControls.cjs.js +1 -0
  28. package/controls/PointerLockControls.js +99 -63
  29. package/controls/TrackballControls.cjs.js +1 -0
  30. package/controls/TrackballControls.js +383 -211
  31. package/controls/TransformControls.cjs.js +1 -0
  32. package/controls/TransformControls.js +782 -575
  33. package/controls/experimental/CameraControls.cjs.js +1 -0
  34. package/controls/experimental/CameraControls.js +609 -329
  35. package/csm/CSM.cjs.js +1 -0
  36. package/csm/CSM.js +108 -47
  37. package/csm/CSMFrustum.cjs.js +1 -0
  38. package/csm/CSMFrustum.js +29 -14
  39. package/csm/CSMHelper.cjs.js +1 -0
  40. package/csm/CSMHelper.js +34 -20
  41. package/csm/CSMShader.cjs.js +1 -0
  42. package/csm/CSMShader.js +11 -7
  43. package/curves/CurveExtras.cjs.js +1 -0
  44. package/curves/CurveExtras.js +115 -73
  45. package/curves/NURBSCurve.cjs.js +1 -0
  46. package/curves/NURBSCurve.js +43 -15
  47. package/curves/NURBSSurface.cjs.js +1 -0
  48. package/curves/NURBSSurface.js +27 -11
  49. package/curves/NURBSUtils.cjs.js +1 -0
  50. package/curves/NURBSUtils.js +203 -54
  51. package/custom.d.cjs.js +1 -0
  52. package/{shaders/types.mjs → custom.d.js} +0 -0
  53. package/deprecated/Geometry.cjs.js +1 -0
  54. package/deprecated/Geometry.js +486 -191
  55. package/effects/AnaglyphEffect.cjs.js +1 -0
  56. package/effects/AnaglyphEffect.js +60 -95
  57. package/effects/AsciiEffect.cjs.js +1 -0
  58. package/effects/AsciiEffect.js +110 -80
  59. package/effects/OutlineEffect.cjs.js +1 -0
  60. package/effects/OutlineEffect.js +204 -121
  61. package/effects/ParallaxBarrierEffect.cjs.js +1 -0
  62. package/effects/ParallaxBarrierEffect.js +38 -39
  63. package/effects/PeppersGhostEffect.cjs.js +1 -0
  64. package/effects/PeppersGhostEffect.js +68 -19
  65. package/effects/StereoEffect.cjs.js +1 -0
  66. package/effects/StereoEffect.js +16 -12
  67. package/environments/RoomEnvironment.cjs.js +1 -0
  68. package/environments/RoomEnvironment.js +47 -52
  69. package/exporters/ColladaExporter.cjs.js +1 -0
  70. package/exporters/ColladaExporter.js +241 -115
  71. package/exporters/DRACOExporter.cjs.js +1 -0
  72. package/exporters/DRACOExporter.js +121 -67
  73. package/exporters/GLTFExporter.cjs.js +1 -0
  74. package/exporters/GLTFExporter.js +1014 -463
  75. package/exporters/MMDExporter.cjs.js +1 -0
  76. package/exporters/MMDExporter.js +102 -44
  77. package/exporters/OBJExporter.cjs.js +1 -0
  78. package/exporters/OBJExporter.js +140 -78
  79. package/exporters/PLYExporter.cjs.js +1 -0
  80. package/exporters/PLYExporter.js +154 -93
  81. package/exporters/STLExporter.cjs.js +1 -0
  82. package/exporters/STLExporter.js +81 -30
  83. package/exporters/USDZExporter.cjs.js +1 -0
  84. package/exporters/USDZExporter.js +144 -84
  85. package/geometries/BoxLineGeometry.cjs.js +1 -0
  86. package/geometries/BoxLineGeometry.js +14 -7
  87. package/geometries/ConvexGeometry.cjs.js +1 -0
  88. package/geometries/ConvexGeometry.js +23 -14
  89. package/geometries/DecalGeometry.cjs.js +1 -0
  90. package/geometries/DecalGeometry.js +162 -108
  91. package/geometries/LightningStrike.cjs.js +1 -0
  92. package/geometries/LightningStrike.js +294 -101
  93. package/geometries/ParametricGeometries.cjs.js +1 -0
  94. package/geometries/ParametricGeometries.js +76 -26
  95. package/geometries/ParametricGeometry.cjs.js +1 -0
  96. package/geometries/ParametricGeometry.js +48 -24
  97. package/geometries/RoundedBoxGeometry.cjs.js +1 -0
  98. package/geometries/RoundedBoxGeometry.js +64 -33
  99. package/geometries/TeapotGeometry.cjs.js +1 -0
  100. package/geometries/TeapotGeometry.js +174 -1434
  101. package/geometries/TextGeometry.cjs.js +1 -0
  102. package/geometries/TextGeometry.js +17 -9
  103. package/helpers/LightProbeHelper.cjs.js +1 -0
  104. package/helpers/LightProbeHelper.js +21 -53
  105. package/helpers/PositionalAudioHelper.cjs.js +1 -0
  106. package/helpers/PositionalAudioHelper.js +30 -23
  107. package/helpers/RectAreaLightHelper.cjs.js +1 -0
  108. package/helpers/RectAreaLightHelper.js +33 -17
  109. package/helpers/VertexNormalsHelper.cjs.js +1 -0
  110. package/helpers/VertexNormalsHelper.js +41 -20
  111. package/helpers/VertexTangentsHelper.cjs.js +1 -0
  112. package/helpers/VertexTangentsHelper.js +36 -18
  113. package/index.cjs.js +1 -0
  114. package/index.js +333 -969
  115. package/interactive/InteractiveGroup.cjs.js +1 -0
  116. package/interactive/InteractiveGroup.d.ts +5 -0
  117. package/interactive/InteractiveGroup.js +87 -0
  118. package/interactive/SelectionBox.cjs.js +1 -0
  119. package/interactive/SelectionBox.js +46 -31
  120. package/interactive/SelectionHelper.cjs.js +1 -0
  121. package/interactive/SelectionHelper.js +21 -16
  122. package/libs/MeshoptDecoder.cjs.js +1 -0
  123. package/libs/MeshoptDecoder.js +58 -147
  124. package/libs/MotionControllers.cjs.js +1 -0
  125. package/libs/MotionControllers.js +208 -66
  126. package/lights/LightProbeGenerator.cjs.js +1 -0
  127. package/lights/LightProbeGenerator.js +96 -40
  128. package/lights/RectAreaLightUniformsLib.cjs.js +1 -0
  129. package/lights/RectAreaLightUniformsLib.js +9 -32842
  130. package/lines/Line2.cjs.js +1 -0
  131. package/lines/Line2.js +12 -9
  132. package/lines/LineGeometry.cjs.js +1 -0
  133. package/lines/LineGeometry.js +19 -7
  134. package/lines/LineMaterial.cjs.js +1 -0
  135. package/lines/LineMaterial.js +89 -51
  136. package/lines/LineSegments2.cjs.js +1 -0
  137. package/lines/LineSegments2.js +165 -56
  138. package/lines/LineSegmentsGeometry.cjs.js +1 -0
  139. package/lines/LineSegmentsGeometry.js +71 -29
  140. package/lines/Wireframe.cjs.js +1 -0
  141. package/lines/Wireframe.js +29 -15
  142. package/lines/WireframeGeometry2.cjs.js +1 -0
  143. package/lines/WireframeGeometry2.js +9 -8
  144. package/loaders/3DMLoader.cjs.js +1 -0
  145. package/loaders/3DMLoader.js +469 -234
  146. package/loaders/3MFLoader.cjs.js +1 -0
  147. package/loaders/3MFLoader.js +555 -340
  148. package/loaders/AMFLoader.cjs.js +1 -0
  149. package/loaders/AMFLoader.js +219 -114
  150. package/loaders/AssimpLoader.cjs.js +1 -0
  151. package/loaders/AssimpLoader.js +725 -328
  152. package/loaders/BVHLoader.cjs.js +1 -0
  153. package/loaders/BVHLoader.js +200 -94
  154. package/loaders/BasisTextureLoader.cjs.js +1 -0
  155. package/loaders/BasisTextureLoader.js +357 -229
  156. package/loaders/ColladaLoader.cjs.js +1 -0
  157. package/loaders/ColladaLoader.js +1522 -932
  158. package/loaders/DDSLoader.cjs.js +1 -0
  159. package/loaders/DDSLoader.js +108 -42
  160. package/loaders/DRACOLoader.cjs.js +1 -0
  161. package/loaders/DRACOLoader.js +210 -103
  162. package/loaders/EXRLoader.cjs.js +1 -0
  163. package/loaders/EXRLoader.js +809 -461
  164. package/loaders/FBXLoader.cjs.js +1 -0
  165. package/loaders/FBXLoader.js +1397 -842
  166. package/loaders/FontLoader.cjs.js +1 -0
  167. package/loaders/FontLoader.js +66 -33
  168. package/loaders/GCodeLoader.cjs.js +1 -0
  169. package/loaders/GCodeLoader.js +111 -63
  170. package/loaders/GLTFLoader.cjs.js +1 -0
  171. package/loaders/GLTFLoader.js +1484 -771
  172. package/loaders/HDRCubeTextureLoader.cjs.js +1 -0
  173. package/loaders/HDRCubeTextureLoader.js +50 -45
  174. package/loaders/KMZLoader.cjs.js +1 -0
  175. package/loaders/KMZLoader.js +55 -42
  176. package/loaders/KTX2Loader.cjs.js +1 -0
  177. package/loaders/KTX2Loader.js +362 -229
  178. package/loaders/KTXLoader.cjs.js +1 -0
  179. package/loaders/KTXLoader.js +99 -37
  180. package/loaders/LDrawLoader.cjs.js +1 -0
  181. package/loaders/LDrawLoader.js +746 -313
  182. package/loaders/LUT3dlLoader.cjs.js +1 -0
  183. package/loaders/LUT3dlLoader.js +62 -50
  184. package/loaders/LUTCubeLoader.cjs.js +1 -0
  185. package/loaders/LUTCubeLoader.js +56 -45
  186. package/loaders/LWOLoader.cjs.js +1 -0
  187. package/loaders/LWOLoader.js +339 -227
  188. package/loaders/LottieLoader.cjs.js +1 -0
  189. package/loaders/LottieLoader.js +38 -36
  190. package/loaders/MD2Loader.cjs.js +1 -0
  191. package/loaders/MD2Loader.js +91 -248
  192. package/loaders/MDDLoader.cjs.js +1 -0
  193. package/loaders/MDDLoader.js +45 -25
  194. package/loaders/MMDLoader.cjs.js +1 -0
  195. package/loaders/MMDLoader.js +795 -359
  196. package/loaders/MTLLoader.cjs.js +1 -0
  197. package/loaders/MTLLoader.js +201 -91
  198. package/loaders/NRRDLoader.cjs.js +1 -0
  199. package/loaders/NRRDLoader.js +263 -182
  200. package/loaders/NodeMaterialLoader.cjs.js +1 -0
  201. package/loaders/NodeMaterialLoader.js +14 -121
  202. package/loaders/OBJLoader.cjs.js +1 -0
  203. package/loaders/OBJLoader.js +283 -161
  204. package/loaders/PCDLoader.cjs.js +1 -0
  205. package/loaders/PCDLoader.js +164 -145
  206. package/loaders/PDBLoader.cjs.js +1 -0
  207. package/loaders/PDBLoader.js +63 -45
  208. package/loaders/PLYLoader.cjs.js +1 -0
  209. package/loaders/PLYLoader.js +203 -106
  210. package/loaders/PRWMLoader.cjs.js +1 -0
  211. package/loaders/PRWMLoader.js +110 -73
  212. package/loaders/PVRLoader.cjs.js +1 -0
  213. package/loaders/PVRLoader.js +93 -32
  214. package/loaders/RGBELoader.cjs.js +1 -0
  215. package/loaders/RGBELoader.js +233 -96
  216. package/loaders/RGBMLoader.cjs.js +1 -0
  217. package/loaders/RGBMLoader.js +514 -344
  218. package/loaders/STLLoader.cjs.js +1 -0
  219. package/loaders/STLLoader.js +165 -59
  220. package/loaders/SVGLoader.cjs.js +1 -0
  221. package/loaders/SVGLoader.js +851 -481
  222. package/loaders/TDSLoader.cjs.js +1 -0
  223. package/loaders/TDSLoader.js +527 -137
  224. package/loaders/TGALoader.cjs.js +1 -0
  225. package/loaders/TGALoader.js +205 -94
  226. package/loaders/TTFLoader.cjs.js +1 -0
  227. package/loaders/TTFLoader.js +79 -58
  228. package/loaders/TiltLoader.cjs.js +1 -0
  229. package/loaders/TiltLoader.js +167 -129
  230. package/loaders/VOXLoader.cjs.js +1 -0
  231. package/loaders/VOXLoader.js +84 -320
  232. package/loaders/VRMLLoader.cjs.js +1 -0
  233. package/loaders/VRMLLoader.js +1268 -786
  234. package/loaders/VRMLoader.cjs.js +1 -0
  235. package/loaders/VRMLoader.js +31 -23
  236. package/loaders/VTKLoader.cjs.js +1 -0
  237. package/loaders/VTKLoader.js +407 -219
  238. package/loaders/XLoader.cjs.js +1 -0
  239. package/loaders/XLoader.js +1259 -1083
  240. package/loaders/XYZLoader.cjs.js +1 -0
  241. package/loaders/XYZLoader.js +34 -28
  242. package/loaders/lwo/IFFParser.cjs.js +1 -0
  243. package/loaders/lwo/IFFParser.js +492 -238
  244. package/loaders/lwo/LWO2Parser.cjs.js +1 -0
  245. package/loaders/lwo/LWO2Parser.js +279 -176
  246. package/loaders/lwo/LWO3Parser.cjs.js +1 -0
  247. package/loaders/lwo/LWO3Parser.js +247 -160
  248. package/math/Capsule.cjs.js +1 -0
  249. package/math/Capsule.js +43 -56
  250. package/math/ColorConverter.cjs.js +1 -0
  251. package/math/ColorConverter.js +32 -18
  252. package/math/ConvexHull.cjs.js +1 -0
  253. package/math/ConvexHull.js +357 -97
  254. package/math/ImprovedNoise.cjs.js +1 -0
  255. package/math/ImprovedNoise.js +32 -282
  256. package/math/Lut.cjs.js +1 -0
  257. package/math/Lut.js +35 -51
  258. package/math/MeshSurfaceSampler.cjs.js +1 -0
  259. package/math/MeshSurfaceSampler.js +68 -25
  260. package/math/OBB.cjs.js +1 -0
  261. package/math/OBB.js +152 -91
  262. package/math/Octree.cjs.js +1 -0
  263. package/math/Octree.js +139 -76
  264. package/math/SimplexNoise.cjs.js +1 -0
  265. package/math/SimplexNoise.js +238 -217
  266. package/misc/ConvexObjectBreaker.cjs.js +1 -0
  267. package/misc/ConvexObjectBreaker.js +185 -79
  268. package/misc/GPUComputationRenderer.cjs.js +1 -0
  269. package/misc/GPUComputationRenderer.js +194 -69
  270. package/misc/Gyroscope.cjs.js +1 -0
  271. package/misc/Gyroscope.js +22 -16
  272. package/misc/MD2Character.cjs.js +1 -0
  273. package/misc/MD2Character.js +74 -52
  274. package/misc/MD2CharacterComplex.cjs.js +1 -0
  275. package/misc/MD2CharacterComplex.js +163 -112
  276. package/misc/MorphAnimMesh.cjs.js +1 -0
  277. package/misc/MorphAnimMesh.js +28 -20
  278. package/misc/MorphBlendMesh.cjs.js +1 -0
  279. package/misc/MorphBlendMesh.js +69 -45
  280. package/misc/ProgressiveLightmap.cjs.js +1 -0
  281. package/misc/ProgressiveLightmap.js +187 -70
  282. package/misc/RollerCoaster.cjs.js +1 -0
  283. package/misc/RollerCoaster.js +135 -106
  284. package/misc/TubePainter.cjs.js +1 -0
  285. package/misc/TubePainter.js +92 -74
  286. package/misc/Volume.cjs.js +1 -0
  287. package/misc/Volume.js +270 -108
  288. package/misc/VolumeSlice.cjs.js +1 -0
  289. package/misc/VolumeSlice.js +122 -34
  290. package/misc/WebGL.cjs.js +1 -0
  291. package/misc/WebGL.js +34 -37
  292. package/modifiers/CurveModifier.cjs.js +1 -0
  293. package/modifiers/CurveModifier.js +151 -46
  294. package/modifiers/EdgeSplitModifier.cjs.js +1 -0
  295. package/modifiers/EdgeSplitModifier.js +90 -46
  296. package/modifiers/SimplifyModifier.cjs.js +1 -0
  297. package/modifiers/SimplifyModifier.js +202 -77
  298. package/modifiers/TessellateModifier.cjs.js +1 -0
  299. package/modifiers/TessellateModifier.js +90 -65
  300. package/nodes/Nodes.cjs.js +1 -0
  301. package/nodes/Nodes.js +140 -274
  302. package/nodes/ShaderNode.cjs.js +1 -0
  303. package/nodes/ShaderNode.js +196 -296
  304. package/nodes/accessors/BufferNode.cjs.js +1 -0
  305. package/nodes/accessors/BufferNode.js +8 -4
  306. package/nodes/accessors/CameraNode.cjs.js +1 -0
  307. package/nodes/accessors/CameraNode.js +25 -20
  308. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  309. package/nodes/accessors/CubeTextureNode.js +26 -14
  310. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  311. package/nodes/accessors/MaterialNode.js +53 -43
  312. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  313. package/nodes/accessors/MaterialReferenceNode.js +6 -3
  314. package/nodes/accessors/ModelNode.cjs.js +1 -0
  315. package/nodes/accessors/ModelNode.js +5 -3
  316. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  317. package/nodes/accessors/ModelViewProjectionNode.js +13 -14
  318. package/nodes/accessors/NormalNode.cjs.js +1 -0
  319. package/nodes/accessors/NormalNode.js +39 -40
  320. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  321. package/nodes/accessors/Object3DNode.js +50 -40
  322. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  323. package/nodes/accessors/PointUVNode.js +9 -5
  324. package/nodes/accessors/PositionNode.cjs.js +1 -0
  325. package/nodes/accessors/PositionNode.js +41 -42
  326. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  327. package/nodes/accessors/ReferenceNode.js +17 -10
  328. package/nodes/accessors/ReflectNode.cjs.js +1 -0
  329. package/nodes/accessors/ReflectNode.js +26 -23
  330. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  331. package/nodes/accessors/SkinningNode.js +48 -46
  332. package/nodes/accessors/TextureNode.cjs.js +1 -0
  333. package/nodes/accessors/TextureNode.js +29 -14
  334. package/nodes/accessors/UVNode.cjs.js +1 -0
  335. package/nodes/accessors/UVNode.js +11 -5
  336. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  337. package/nodes/core/ArrayUniformNode.js +7 -3
  338. package/nodes/core/AttributeNode.cjs.js +1 -0
  339. package/nodes/core/AttributeNode.js +12 -5
  340. package/nodes/core/BypassNode.cjs.js +1 -0
  341. package/nodes/core/BypassNode.js +12 -5
  342. package/nodes/core/CodeNode.cjs.js +1 -0
  343. package/nodes/core/CodeNode.js +12 -4
  344. package/nodes/core/ConstNode.cjs.js +1 -0
  345. package/nodes/core/ConstNode.js +7 -3
  346. package/nodes/core/ContextNode.cjs.js +1 -0
  347. package/nodes/core/ContextNode.js +8 -3
  348. package/nodes/core/ExpressionNode.cjs.js +1 -0
  349. package/nodes/core/ExpressionNode.js +9 -5
  350. package/nodes/core/FunctionCallNode.cjs.js +1 -0
  351. package/nodes/core/FunctionCallNode.js +15 -6
  352. package/nodes/core/FunctionNode.cjs.js +1 -0
  353. package/nodes/core/FunctionNode.js +25 -10
  354. package/nodes/core/InputNode.cjs.js +1 -0
  355. package/nodes/core/InputNode.js +23 -12
  356. package/nodes/core/Node.cjs.js +1 -0
  357. package/nodes/core/Node.js +75 -35
  358. package/nodes/core/NodeAttribute.cjs.js +1 -0
  359. package/nodes/core/NodeAttribute.js +4 -2
  360. package/nodes/core/NodeBuilder.cjs.js +1 -0
  361. package/nodes/core/NodeBuilder.js +224 -110
  362. package/nodes/core/NodeCode.cjs.js +1 -0
  363. package/nodes/core/NodeCode.js +7 -4
  364. package/nodes/core/NodeFrame.cjs.js +1 -0
  365. package/nodes/core/NodeFrame.js +12 -9
  366. package/nodes/core/NodeFunction.cjs.js +1 -0
  367. package/nodes/core/NodeFunction.js +17 -0
  368. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  369. package/nodes/core/NodeFunctionInput.js +5 -3
  370. package/nodes/core/NodeKeywords.cjs.js +1 -0
  371. package/nodes/core/NodeKeywords.js +16 -5
  372. package/nodes/core/NodeParser.cjs.js +1 -0
  373. package/nodes/core/NodeParser.js +8 -0
  374. package/nodes/core/NodeUniform.cjs.js +1 -0
  375. package/nodes/core/NodeUniform.js +7 -3
  376. package/nodes/core/NodeUtils.cjs.js +1 -0
  377. package/nodes/core/NodeUtils.js +43 -39
  378. package/nodes/core/NodeVar.cjs.js +1 -0
  379. package/nodes/core/NodeVar.js +4 -2
  380. package/nodes/core/NodeVary.cjs.js +1 -0
  381. package/nodes/core/NodeVary.js +4 -2
  382. package/nodes/core/PropertyNode.cjs.js +1 -0
  383. package/nodes/core/PropertyNode.js +10 -4
  384. package/nodes/core/TempNode.cjs.js +1 -0
  385. package/nodes/core/TempNode.js +11 -5
  386. package/nodes/core/UniformNode.cjs.js +1 -0
  387. package/nodes/core/UniformNode.js +10 -4
  388. package/nodes/core/VarNode.cjs.js +1 -0
  389. package/nodes/core/VarNode.js +11 -3
  390. package/nodes/core/VaryNode.cjs.js +1 -0
  391. package/nodes/core/VaryNode.js +15 -6
  392. package/nodes/core/constants.cjs.js +1 -0
  393. package/nodes/core/constants.js +7 -20
  394. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  395. package/nodes/display/ColorSpaceNode.js +38 -34
  396. package/nodes/display/NormalMapNode.cjs.js +1 -0
  397. package/nodes/display/NormalMapNode.js +53 -35
  398. package/nodes/fog/FogNode.cjs.js +1 -0
  399. package/nodes/fog/FogNode.js +9 -5
  400. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  401. package/nodes/fog/FogRangeNode.js +9 -5
  402. package/nodes/functions/BSDFs.cjs.js +1 -0
  403. package/nodes/functions/BSDFs.js +118 -61
  404. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  405. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  406. package/nodes/lights/LightContextNode.cjs.js +1 -0
  407. package/nodes/lights/LightContextNode.js +23 -14
  408. package/nodes/lights/LightNode.cjs.js +1 -0
  409. package/nodes/lights/LightNode.js +31 -27
  410. package/nodes/lights/LightsNode.cjs.js +1 -0
  411. package/nodes/lights/LightsNode.js +28 -9
  412. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  413. package/nodes/loaders/NodeLoader.js +42 -27
  414. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  415. package/nodes/loaders/NodeMaterialLoader.js +10 -4
  416. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  417. package/nodes/loaders/NodeObjectLoader.js +19 -9
  418. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  419. package/nodes/materials/LineBasicNodeMaterial.js +10 -5
  420. package/nodes/materials/Materials.cjs.js +1 -0
  421. package/nodes/materials/Materials.js +17 -14
  422. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  423. package/nodes/materials/MeshBasicNodeMaterial.js +10 -5
  424. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -0
  425. package/nodes/materials/MeshStandardNodeMaterial.js +8 -5
  426. package/nodes/materials/NodeMaterial.cjs.js +1 -0
  427. package/nodes/materials/NodeMaterial.js +36 -20
  428. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  429. package/nodes/materials/PointsNodeMaterial.js +10 -5
  430. package/nodes/math/CondNode.cjs.js +1 -0
  431. package/nodes/math/CondNode.js +23 -11
  432. package/nodes/math/MathNode.cjs.js +1 -0
  433. package/nodes/math/MathNode.js +142 -98
  434. package/nodes/math/OperatorNode.cjs.js +1 -0
  435. package/nodes/math/OperatorNode.js +46 -24
  436. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  437. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  438. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  439. package/nodes/parsers/GLSLNodeParser.js +13 -0
  440. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  441. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  442. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  443. package/nodes/parsers/WGSLNodeParser.js +13 -0
  444. package/nodes/procedural/CheckerNode.cjs.js +1 -0
  445. package/nodes/procedural/CheckerNode.js +19 -13
  446. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  447. package/nodes/utils/ArrayElementNode.js +8 -4
  448. package/nodes/utils/ConvertNode.cjs.js +1 -0
  449. package/nodes/utils/ConvertNode.js +8 -3
  450. package/nodes/utils/JoinNode.cjs.js +1 -0
  451. package/nodes/utils/JoinNode.js +11 -7
  452. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  453. package/nodes/utils/MatcapUVNode.js +11 -8
  454. package/nodes/utils/OscNode.cjs.js +1 -0
  455. package/nodes/utils/OscNode.js +33 -27
  456. package/nodes/utils/SplitNode.cjs.js +1 -0
  457. package/nodes/utils/SplitNode.js +20 -6
  458. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  459. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  460. package/nodes/utils/TimerNode.cjs.js +1 -0
  461. package/nodes/utils/TimerNode.js +24 -20
  462. package/objects/GroundProjectedEnv.cjs.js +1 -0
  463. package/objects/GroundProjectedEnv.js +37 -22
  464. package/objects/Lensflare.cjs.js +1 -0
  465. package/objects/Lensflare.js +156 -86
  466. package/objects/LightningStorm.cjs.js +1 -0
  467. package/objects/LightningStorm.js +102 -38
  468. package/objects/MarchingCubes.cjs.js +1 -0
  469. package/objects/MarchingCubes.js +303 -150
  470. package/objects/Reflector.cjs.js +1 -0
  471. package/objects/Reflector.js +72 -50
  472. package/objects/ReflectorForSSRPass.cjs.js +1 -0
  473. package/objects/ReflectorForSSRPass.js +131 -80
  474. package/objects/ReflectorRTT.cjs.js +1 -0
  475. package/objects/ReflectorRTT.js +7 -6
  476. package/objects/Refractor.cjs.js +1 -0
  477. package/objects/Refractor.js +106 -64
  478. package/objects/ShadowMesh.cjs.js +1 -0
  479. package/objects/ShadowMesh.js +17 -8
  480. package/objects/Sky.cjs.js +1 -0
  481. package/objects/Sky.js +80 -119
  482. package/objects/Water.cjs.js +1 -0
  483. package/objects/Water.js +127 -83
  484. package/objects/Water2.cjs.js +1 -0
  485. package/objects/Water2.js +108 -72
  486. package/offscreen/jank.cjs.js +1 -0
  487. package/offscreen/jank.js +14 -10
  488. package/offscreen/offscreen.cjs.js +1 -0
  489. package/offscreen/offscreen.js +5 -4
  490. package/offscreen/scene.cjs.js +1 -0
  491. package/offscreen/scene.js +48 -45
  492. package/package.json +3 -3
  493. package/physics/AmmoPhysics.cjs.js +1 -0
  494. package/physics/AmmoPhysics.js +71 -30
  495. package/postprocessing/AdaptiveToneMappingPass.cjs.js +1 -0
  496. package/postprocessing/AdaptiveToneMappingPass.js +123 -97
  497. package/postprocessing/AfterimagePass.cjs.js +1 -0
  498. package/postprocessing/AfterimagePass.js +49 -28
  499. package/postprocessing/BloomPass.cjs.js +1 -0
  500. package/postprocessing/BloomPass.js +69 -43
  501. package/postprocessing/BokehPass.cjs.js +1 -0
  502. package/postprocessing/BokehPass.js +69 -39
  503. package/postprocessing/ClearPass.cjs.js +1 -0
  504. package/postprocessing/ClearPass.js +25 -10
  505. package/postprocessing/CubeTexturePass.cjs.js +1 -0
  506. package/postprocessing/CubeTexturePass.js +27 -28
  507. package/postprocessing/DotScreenPass.cjs.js +1 -0
  508. package/postprocessing/DotScreenPass.js +32 -24
  509. package/postprocessing/EffectComposer.cjs.js +1 -0
  510. package/postprocessing/EffectComposer.js +86 -39
  511. package/postprocessing/FilmPass.cjs.js +1 -0
  512. package/postprocessing/FilmPass.js +30 -25
  513. package/postprocessing/GlitchPass.cjs.js +1 -0
  514. package/postprocessing/GlitchPass.js +61 -38
  515. package/postprocessing/HalftonePass.cjs.js +1 -0
  516. package/postprocessing/HalftonePass.js +39 -19
  517. package/postprocessing/LUTPass.cjs.js +1 -0
  518. package/postprocessing/LUTPass.js +38 -13
  519. package/postprocessing/MaskPass.cjs.js +1 -0
  520. package/postprocessing/MaskPass.js +38 -19
  521. package/postprocessing/OutlinePass.cjs.js +1 -0
  522. package/postprocessing/OutlinePass.js +277 -135
  523. package/postprocessing/Pass.cjs.js +1 -0
  524. package/postprocessing/Pass.js +44 -20
  525. package/postprocessing/RenderPass.cjs.js +1 -0
  526. package/postprocessing/RenderPass.js +36 -13
  527. package/postprocessing/RenderPixelatedPass.cjs.js +1 -0
  528. package/postprocessing/RenderPixelatedPass.js +58 -44
  529. package/postprocessing/SAOPass.cjs.js +1 -0
  530. package/postprocessing/SAOPass.js +189 -154
  531. package/postprocessing/SMAAPass.cjs.js +1 -0
  532. package/postprocessing/SMAAPass.js +84 -64
  533. package/postprocessing/SSAARenderPass.cjs.js +1 -0
  534. package/postprocessing/SSAARenderPass.js +69 -121
  535. package/postprocessing/SSAOPass.cjs.js +1 -0
  536. package/postprocessing/SSAOPass.js +172 -123
  537. package/postprocessing/SSRPass.cjs.js +1 -0
  538. package/postprocessing/SSRPass.js +280 -211
  539. package/postprocessing/SavePass.cjs.js +1 -0
  540. package/postprocessing/SavePass.js +25 -20
  541. package/postprocessing/ShaderPass.cjs.js +1 -0
  542. package/postprocessing/ShaderPass.js +30 -14
  543. package/postprocessing/TAARenderPass.cjs.js +1 -0
  544. package/postprocessing/TAARenderPass.js +61 -42
  545. package/postprocessing/TexturePass.cjs.js +1 -0
  546. package/postprocessing/TexturePass.js +22 -21
  547. package/postprocessing/UnrealBloomPass.cjs.js +1 -0
  548. package/postprocessing/UnrealBloomPass.js +213 -105
  549. package/renderers/CSS2DRenderer.cjs.js +1 -0
  550. package/renderers/CSS2DRenderer.js +56 -44
  551. package/renderers/CSS3DRenderer.cjs.js +1 -0
  552. package/renderers/CSS3DRenderer.js +86 -53
  553. package/renderers/Projector.cjs.js +1 -0
  554. package/renderers/Projector.js +274 -107
  555. package/renderers/SVGRenderer.cjs.js +1 -0
  556. package/renderers/SVGRenderer.js +182 -72
  557. package/renderers/nodes/accessors/CameraNode.cjs.js +1 -0
  558. package/renderers/nodes/accessors/CameraNode.js +40 -29
  559. package/renderers/nodes/accessors/ModelNode.cjs.js +1 -0
  560. package/renderers/nodes/accessors/ModelNode.js +37 -28
  561. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  562. package/renderers/nodes/accessors/ModelViewProjectionNode.js +23 -10
  563. package/renderers/nodes/accessors/NormalNode.cjs.js +1 -0
  564. package/renderers/nodes/accessors/NormalNode.js +45 -35
  565. package/renderers/nodes/accessors/PositionNode.cjs.js +1 -0
  566. package/renderers/nodes/accessors/PositionNode.js +19 -18
  567. package/renderers/nodes/accessors/UVNode.cjs.js +1 -0
  568. package/renderers/nodes/accessors/UVNode.js +10 -5
  569. package/renderers/nodes/core/AttributeNode.cjs.js +1 -0
  570. package/renderers/nodes/core/AttributeNode.js +14 -5
  571. package/renderers/nodes/core/InputNode.cjs.js +1 -0
  572. package/renderers/nodes/core/InputNode.js +14 -4
  573. package/renderers/nodes/core/Node.cjs.js +1 -0
  574. package/renderers/nodes/core/Node.js +17 -7
  575. package/renderers/nodes/core/NodeAttribute.cjs.js +1 -0
  576. package/renderers/nodes/core/NodeAttribute.js +6 -3
  577. package/renderers/nodes/core/NodeBuilder.cjs.js +1 -0
  578. package/renderers/nodes/core/NodeBuilder.js +154 -87
  579. package/renderers/nodes/core/NodeFrame.cjs.js +1 -0
  580. package/renderers/nodes/core/NodeFrame.js +12 -9
  581. package/renderers/nodes/core/NodeSlot.cjs.js +1 -0
  582. package/renderers/nodes/core/NodeSlot.js +3 -2
  583. package/renderers/nodes/core/NodeUniform.cjs.js +1 -0
  584. package/renderers/nodes/core/NodeUniform.js +9 -4
  585. package/renderers/nodes/core/NodeVary.cjs.js +1 -0
  586. package/renderers/nodes/core/NodeVary.js +7 -4
  587. package/renderers/nodes/core/VaryNode.cjs.js +1 -0
  588. package/renderers/nodes/core/VaryNode.js +12 -6
  589. package/renderers/nodes/core/constants.cjs.js +1 -0
  590. package/renderers/nodes/core/constants.js +13 -16
  591. package/renderers/nodes/inputs/ColorNode.cjs.js +1 -0
  592. package/renderers/nodes/inputs/ColorNode.js +11 -5
  593. package/renderers/nodes/inputs/FloatNode.cjs.js +1 -0
  594. package/renderers/nodes/inputs/FloatNode.js +11 -5
  595. package/renderers/nodes/inputs/Matrix3Node.cjs.js +1 -0
  596. package/renderers/nodes/inputs/Matrix3Node.js +13 -7
  597. package/renderers/nodes/inputs/Matrix4Node.cjs.js +1 -0
  598. package/renderers/nodes/inputs/Matrix4Node.js +13 -7
  599. package/renderers/nodes/inputs/TextureNode.cjs.js +1 -0
  600. package/renderers/nodes/inputs/TextureNode.js +15 -7
  601. package/renderers/nodes/inputs/Vector2Node.cjs.js +1 -0
  602. package/renderers/nodes/inputs/Vector2Node.js +11 -5
  603. package/renderers/nodes/inputs/Vector3Node.cjs.js +1 -0
  604. package/renderers/nodes/inputs/Vector3Node.js +13 -7
  605. package/renderers/nodes/inputs/Vector4Node.cjs.js +1 -0
  606. package/renderers/nodes/inputs/Vector4Node.js +13 -7
  607. package/renderers/nodes/math/MathNode.cjs.js +1 -0
  608. package/renderers/nodes/math/MathNode.js +30 -20
  609. package/renderers/nodes/math/OperatorNode.cjs.js +1 -0
  610. package/renderers/nodes/math/OperatorNode.js +20 -4
  611. package/renderers/nodes/utils/SwitchNode.cjs.js +1 -0
  612. package/renderers/nodes/utils/SwitchNode.js +9 -4
  613. package/renderers/nodes/utils/TimerNode.cjs.js +1 -0
  614. package/renderers/nodes/utils/TimerNode.js +10 -5
  615. package/renderers/webgpu/WebGPU.cjs.js +1 -0
  616. package/renderers/webgpu/WebGPU.js +16 -14
  617. package/renderers/webgpu/WebGPUAttributes.cjs.js +1 -0
  618. package/renderers/webgpu/WebGPUAttributes.js +23 -16
  619. package/renderers/webgpu/WebGPUBackground.cjs.js +1 -0
  620. package/renderers/webgpu/WebGPUBackground.js +30 -13
  621. package/renderers/webgpu/WebGPUBinding.cjs.js +1 -0
  622. package/renderers/webgpu/WebGPUBinding.js +7 -4
  623. package/renderers/webgpu/WebGPUBindings.cjs.js +1 -0
  624. package/renderers/webgpu/WebGPUBindings.js +57 -21
  625. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +1 -0
  626. package/renderers/webgpu/WebGPUComputePipelines.js +25 -14
  627. package/renderers/webgpu/WebGPUGeometries.cjs.js +1 -0
  628. package/renderers/webgpu/WebGPUGeometries.js +15 -5
  629. package/renderers/webgpu/WebGPUInfo.cjs.js +1 -0
  630. package/renderers/webgpu/WebGPUInfo.js +8 -3
  631. package/renderers/webgpu/WebGPUObjects.cjs.js +1 -0
  632. package/renderers/webgpu/WebGPUObjects.js +10 -5
  633. package/renderers/webgpu/WebGPUProperties.cjs.js +1 -0
  634. package/renderers/webgpu/WebGPUProperties.js +11 -5
  635. package/renderers/webgpu/WebGPURenderLists.cjs.js +1 -0
  636. package/renderers/webgpu/WebGPURenderLists.js +36 -20
  637. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +1 -0
  638. package/renderers/webgpu/WebGPURenderPipelines.js +387 -260
  639. package/renderers/webgpu/WebGPURenderer.cjs.js +1 -0
  640. package/renderers/webgpu/WebGPURenderer.js +262 -124
  641. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +1 -0
  642. package/renderers/webgpu/WebGPUSampledTexture.js +31 -18
  643. package/renderers/webgpu/WebGPUSampler.cjs.js +1 -0
  644. package/renderers/webgpu/WebGPUSampler.js +12 -7
  645. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +1 -0
  646. package/renderers/webgpu/WebGPUStorageBuffer.js +12 -7
  647. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +1 -0
  648. package/renderers/webgpu/WebGPUTextureRenderer.js +11 -5
  649. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +1 -0
  650. package/renderers/webgpu/WebGPUTextureUtils.js +40 -29
  651. package/renderers/webgpu/WebGPUTextures.cjs.js +1 -0
  652. package/renderers/webgpu/WebGPUTextures.js +333 -186
  653. package/renderers/webgpu/WebGPUUniform.cjs.js +1 -0
  654. package/renderers/webgpu/WebGPUUniform.js +51 -25
  655. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +1 -0
  656. package/renderers/webgpu/WebGPUUniformsGroup.js +72 -32
  657. package/renderers/webgpu/constants.cjs.js +1 -0
  658. package/renderers/webgpu/constants.js +181 -190
  659. package/renderers/webgpu/nodes/ShaderLib.cjs.js +1 -0
  660. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  661. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +1 -0
  662. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +124 -53
  663. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +1 -0
  664. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +31 -17
  665. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +1 -0
  666. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +9 -8
  667. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +1 -0
  668. package/renderers/webgpu/nodes/WebGPUNodes.js +45 -7
  669. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -0
  670. package/shaders/ACESFilmicToneMappingShader.js +24 -44
  671. package/shaders/AfterimageShader.cjs.js +1 -0
  672. package/shaders/AfterimageShader.js +18 -28
  673. package/shaders/BasicShader.cjs.js +1 -0
  674. package/shaders/BasicShader.js +7 -9
  675. package/shaders/BleachBypassShader.cjs.js +1 -0
  676. package/shaders/BleachBypassShader.js +15 -31
  677. package/shaders/BlendShader.cjs.js +1 -0
  678. package/shaders/BlendShader.js +19 -26
  679. package/shaders/BokehShader.cjs.js +1 -0
  680. package/shaders/BokehShader.js +36 -98
  681. package/shaders/BokehShader2.cjs.js +1 -0
  682. package/shaders/BokehShader2.js +90 -261
  683. package/shaders/BrightnessContrastShader.cjs.js +1 -0
  684. package/shaders/BrightnessContrastShader.js +19 -28
  685. package/shaders/ColorCorrectionShader.cjs.js +1 -0
  686. package/shaders/ColorCorrectionShader.js +22 -26
  687. package/shaders/ColorifyShader.cjs.js +1 -0
  688. package/shaders/ColorifyShader.js +16 -24
  689. package/shaders/ConvolutionShader.cjs.js +1 -0
  690. package/shaders/ConvolutionShader.js +36 -40
  691. package/shaders/CopyShader.cjs.js +1 -0
  692. package/shaders/CopyShader.js +13 -21
  693. package/shaders/DOFMipMapShader.cjs.js +1 -0
  694. package/shaders/DOFMipMapShader.js +21 -28
  695. package/shaders/DepthLimitedBlurShader.cjs.js +1 -0
  696. package/shaders/DepthLimitedBlurShader.js +40 -85
  697. package/shaders/DigitalGlitch.cjs.js +1 -0
  698. package/shaders/DigitalGlitch.js +46 -74
  699. package/shaders/DotScreenShader.cjs.js +1 -0
  700. package/shaders/DotScreenShader.js +27 -35
  701. package/shaders/FXAAShader.cjs.js +1 -0
  702. package/shaders/FXAAShader.js +19 -1094
  703. package/shaders/FilmShader.cjs.js +1 -0
  704. package/shaders/FilmShader.js +52 -38
  705. package/shaders/FocusShader.cjs.js +1 -0
  706. package/shaders/FocusShader.js +24 -51
  707. package/shaders/FreiChenShader.cjs.js +1 -0
  708. package/shaders/FreiChenShader.js +24 -57
  709. package/shaders/FresnelShader.cjs.js +1 -0
  710. package/shaders/FresnelShader.js +22 -43
  711. package/shaders/GammaCorrectionShader.cjs.js +1 -0
  712. package/shaders/GammaCorrectionShader.js +11 -19
  713. package/shaders/GodRaysShader.cjs.js +1 -0
  714. package/shaders/GodRaysShader.js +94 -103
  715. package/shaders/HalftoneShader.cjs.js +1 -0
  716. package/shaders/HalftoneShader.js +65 -208
  717. package/shaders/HorizontalBlurShader.cjs.js +1 -0
  718. package/shaders/HorizontalBlurShader.js +23 -7
  719. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -0
  720. package/shaders/HorizontalTiltShiftShader.js +21 -33
  721. package/shaders/HueSaturationShader.cjs.js +1 -0
  722. package/shaders/HueSaturationShader.js +21 -37
  723. package/shaders/KaleidoShader.cjs.js +1 -0
  724. package/shaders/KaleidoShader.js +22 -30
  725. package/shaders/LuminosityHighPassShader.cjs.js +1 -0
  726. package/shaders/LuminosityHighPassShader.js +27 -33
  727. package/shaders/LuminosityShader.cjs.js +1 -0
  728. package/shaders/LuminosityShader.js +11 -21
  729. package/shaders/MirrorShader.cjs.js +1 -0
  730. package/shaders/MirrorShader.js +16 -31
  731. package/shaders/NormalMapShader.cjs.js +1 -0
  732. package/shaders/NormalMapShader.js +23 -27
  733. package/shaders/ParallaxShader.cjs.js +1 -0
  734. package/shaders/ParallaxShader.js +48 -107
  735. package/shaders/PixelShader.cjs.js +1 -0
  736. package/shaders/PixelShader.js +16 -24
  737. package/shaders/RGBShiftShader.cjs.js +1 -0
  738. package/shaders/RGBShiftShader.js +22 -26
  739. package/shaders/SAOShader.cjs.js +1 -0
  740. package/shaders/SAOShader.js +48 -132
  741. package/shaders/SMAAShader.cjs.js +1 -0
  742. package/shaders/SMAAShader.js +135 -256
  743. package/shaders/SSAOShader.cjs.js +1 -0
  744. package/shaders/SSAOShader.js +81 -153
  745. package/shaders/SSRShader.cjs.js +1 -0
  746. package/shaders/SSRShader.js +87 -32
  747. package/shaders/SepiaShader.cjs.js +1 -0
  748. package/shaders/SepiaShader.js +15 -25
  749. package/shaders/SobelOperatorShader.cjs.js +1 -0
  750. package/shaders/SobelOperatorShader.js +29 -40
  751. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -0
  752. package/shaders/SubsurfaceScatteringShader.js +39 -53
  753. package/shaders/TechnicolorShader.cjs.js +1 -0
  754. package/shaders/TechnicolorShader.js +13 -20
  755. package/shaders/ToneMapShader.cjs.js +1 -0
  756. package/shaders/ToneMapShader.js +28 -44
  757. package/shaders/ToonShader.cjs.js +1 -0
  758. package/shaders/ToonShader.js +96 -172
  759. package/shaders/TriangleBlurShader.cjs.js +1 -0
  760. package/shaders/TriangleBlurShader.js +23 -32
  761. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -0
  762. package/shaders/UnpackDepthRGBAShader.js +14 -22
  763. package/shaders/VerticalBlurShader.cjs.js +1 -0
  764. package/shaders/VerticalBlurShader.js +23 -7
  765. package/shaders/VerticalTiltShiftShader.cjs.js +1 -0
  766. package/shaders/VerticalTiltShiftShader.js +21 -33
  767. package/shaders/VignetteShader.cjs.js +1 -0
  768. package/shaders/VignetteShader.js +28 -24
  769. package/shaders/VolumeShader.cjs.js +1 -0
  770. package/shaders/VolumeShader.js +77 -174
  771. package/shaders/WaterRefractionShader.cjs.js +1 -0
  772. package/shaders/WaterRefractionShader.js +6 -38
  773. package/shaders/types.cjs.js +1 -0
  774. package/shaders/types.js +1 -1
  775. package/textures/FlakesTexture.cjs.js +1 -0
  776. package/textures/FlakesTexture.js +10 -8
  777. package/types/helpers.cjs.js +1 -0
  778. package/types/helpers.js +2 -3
  779. package/types/shared.cjs.js +1 -0
  780. package/types/shared.js +1 -0
  781. package/types/utils.cjs.js +1 -0
  782. package/types/utils.js +1 -0
  783. package/utils/BufferGeometryUtils.cjs.js +1 -0
  784. package/utils/BufferGeometryUtils.js +325 -251
  785. package/utils/GeometryCompressionUtils.cjs.js +1 -0
  786. package/utils/GeometryCompressionUtils.js +239 -241
  787. package/utils/GeometryUtils.cjs.js +1 -0
  788. package/utils/GeometryUtils.js +94 -41
  789. package/utils/LDrawUtils.cjs.js +1 -0
  790. package/utils/LDrawUtils.d.ts +5 -0
  791. package/utils/LDrawUtils.js +144 -0
  792. package/utils/RoughnessMipmapper.cjs.js +1 -0
  793. package/utils/RoughnessMipmapper.js +82 -38
  794. package/utils/SceneUtils.cjs.js +1 -0
  795. package/utils/SceneUtils.js +20 -15
  796. package/utils/ShadowMapViewer.cjs.js +1 -0
  797. package/utils/ShadowMapViewer.js +95 -49
  798. package/utils/SkeletonUtils.cjs.js +1 -0
  799. package/utils/SkeletonUtils.js +165 -74
  800. package/utils/UVsDebug.cjs.js +1 -0
  801. package/utils/UVsDebug.js +62 -32
  802. package/utils/WorkerPool.cjs.js +1 -0
  803. package/utils/WorkerPool.js +33 -13
  804. package/webxr/ARButton.cjs.js +1 -0
  805. package/webxr/ARButton.js +98 -72
  806. package/webxr/OculusHandModel.cjs.js +1 -0
  807. package/webxr/OculusHandModel.js +37 -18
  808. package/webxr/OculusHandPointerModel.cjs.js +1 -0
  809. package/webxr/OculusHandPointerModel.js +80 -58
  810. package/webxr/Text2D.cjs.js +1 -0
  811. package/webxr/Text2D.js +19 -37
  812. package/webxr/VRButton.cjs.js +1 -0
  813. package/webxr/VRButton.js +90 -59
  814. package/webxr/XRControllerModelFactory.cjs.js +1 -0
  815. package/webxr/XRControllerModelFactory.js +116 -58
  816. package/webxr/XREstimatedLight.cjs.js +1 -0
  817. package/webxr/XREstimatedLight.js +66 -39
  818. package/webxr/XRHandMeshModel.cjs.js +1 -0
  819. package/webxr/XRHandMeshModel.js +29 -40
  820. package/webxr/XRHandModelFactory.cjs.js +1 -0
  821. package/webxr/XRHandModelFactory.js +31 -28
  822. package/webxr/XRHandPrimitiveModel.cjs.js +1 -0
  823. package/webxr/XRHandPrimitiveModel.js +27 -41
  824. package/animation/AnimationClipCreator.mjs +0 -57
  825. package/animation/CCDIKSolver.mjs +0 -223
  826. package/animation/MMDAnimationHelper.mjs +0 -514
  827. package/animation/MMDPhysics.mjs +0 -769
  828. package/cameras/CinematicCamera.mjs +0 -129
  829. package/controls/ArcballControls.mjs +0 -1737
  830. package/controls/DeviceOrientationControls.mjs +0 -74
  831. package/controls/DragControls.mjs +0 -172
  832. package/controls/FirstPersonControls.mjs +0 -220
  833. package/controls/FlyControls.mjs +0 -239
  834. package/controls/OrbitControls.mjs +0 -731
  835. package/controls/PointerLockControls.mjs +0 -88
  836. package/controls/TrackballControls.mjs +0 -481
  837. package/controls/TransformControls.mjs +0 -1068
  838. package/controls/experimental/CameraControls.mjs +0 -673
  839. package/csm/CSM.mjs +0 -244
  840. package/csm/CSMFrustum.mjs +0 -75
  841. package/csm/CSMHelper.mjs +0 -114
  842. package/csm/CSMShader.mjs +0 -251
  843. package/curves/CurveExtras.mjs +0 -224
  844. package/curves/NURBSCurve.mjs +0 -35
  845. package/curves/NURBSSurface.mjs +0 -28
  846. package/curves/NURBSUtils.mjs +0 -226
  847. package/deprecated/Geometry.mjs +0 -966
  848. package/effects/AnaglyphEffect.mjs +0 -120
  849. package/effects/AsciiEffect.mjs +0 -173
  850. package/effects/OutlineEffect.mjs +0 -295
  851. package/effects/ParallaxBarrierEffect.mjs +0 -64
  852. package/effects/PeppersGhostEffect.mjs +0 -85
  853. package/effects/StereoEffect.mjs +0 -32
  854. package/environments/RoomEnvironment.mjs +0 -78
  855. package/exporters/ColladaExporter.mjs +0 -299
  856. package/exporters/DRACOExporter.mjs +0 -132
  857. package/exporters/GLTFExporter.mjs +0 -1381
  858. package/exporters/MMDExporter.mjs +0 -102
  859. package/exporters/OBJExporter.mjs +0 -166
  860. package/exporters/PLYExporter.mjs +0 -278
  861. package/exporters/STLExporter.mjs +0 -129
  862. package/exporters/USDZExporter.mjs +0 -328
  863. package/geometries/BoxLineGeometry.mjs +0 -45
  864. package/geometries/ConvexGeometry.mjs +0 -29
  865. package/geometries/DecalGeometry.mjs +0 -184
  866. package/geometries/LightningStrike.mjs +0 -547
  867. package/geometries/ParametricGeometries.mjs +0 -129
  868. package/geometries/ParametricGeometry.mjs +0 -63
  869. package/geometries/RoundedBoxGeometry.mjs +0 -91
  870. package/geometries/TeapotGeometry.mjs +0 -1557
  871. package/geometries/TextGeometry.mjs +0 -23
  872. package/helpers/LightProbeHelper.mjs +0 -72
  873. package/helpers/PositionalAudioHelper.mjs +0 -68
  874. package/helpers/RectAreaLightHelper.mjs +0 -44
  875. package/helpers/VertexNormalsHelper.mjs +0 -54
  876. package/helpers/VertexTangentsHelper.mjs +0 -45
  877. package/index.mjs +0 -969
  878. package/interactive/SelectionBox.mjs +0 -137
  879. package/interactive/SelectionHelper.mjs +0 -54
  880. package/libs/MeshoptDecoder.mjs +0 -210
  881. package/libs/MotionControllers.mjs +0 -261
  882. package/lights/LightProbeGenerator.mjs +0 -145
  883. package/lights/RectAreaLightUniformsLib.mjs +0 -32842
  884. package/lines/Line2.mjs +0 -13
  885. package/lines/LineGeometry.mjs +0 -44
  886. package/lines/LineMaterial.mjs +0 -539
  887. package/lines/LineSegments2.mjs +0 -202
  888. package/lines/LineSegmentsGeometry.mjs +0 -124
  889. package/lines/Wireframe.mjs +0 -31
  890. package/lines/WireframeGeometry2.mjs +0 -13
  891. package/loaders/3DMLoader.mjs +0 -802
  892. package/loaders/3MFLoader.mjs +0 -837
  893. package/loaders/AMFLoader.mjs +0 -284
  894. package/loaders/AssimpLoader.mjs +0 -1396
  895. package/loaders/BVHLoader.mjs +0 -207
  896. package/loaders/BasisTextureLoader.mjs +0 -474
  897. package/loaders/ColladaLoader.mjs +0 -2403
  898. package/loaders/DDSLoader.mjs +0 -148
  899. package/loaders/DRACOLoader.mjs +0 -340
  900. package/loaders/EXRLoader.mjs +0 -1351
  901. package/loaders/FBXLoader.mjs +0 -2362
  902. package/loaders/FontLoader.mjs +0 -111
  903. package/loaders/GCodeLoader.mjs +0 -141
  904. package/loaders/GLTFLoader.mjs +0 -2316
  905. package/loaders/HDRCubeTextureLoader.mjs +0 -77
  906. package/loaders/KMZLoader.mjs +0 -75
  907. package/loaders/KTX2Loader.mjs +0 -427
  908. package/loaders/KTXLoader.mjs +0 -87
  909. package/loaders/LDrawLoader.mjs +0 -1409
  910. package/loaders/LUT3dlLoader.mjs +0 -100
  911. package/loaders/LUTCubeLoader.mjs +0 -104
  912. package/loaders/LWOLoader.mjs +0 -625
  913. package/loaders/LottieLoader.mjs +0 -47
  914. package/loaders/MD2Loader.mjs +0 -359
  915. package/loaders/MDDLoader.mjs +0 -58
  916. package/loaders/MMDLoader.mjs +0 -998
  917. package/loaders/MTLLoader.mjs +0 -280
  918. package/loaders/NRRDLoader.mjs +0 -401
  919. package/loaders/NodeMaterialLoader.mjs +0 -146
  920. package/loaders/OBJLoader.mjs +0 -487
  921. package/loaders/PCDLoader.mjs +0 -248
  922. package/loaders/PDBLoader.mjs +0 -246
  923. package/loaders/PLYLoader.mjs +0 -317
  924. package/loaders/PRWMLoader.mjs +0 -160
  925. package/loaders/PVRLoader.mjs +0 -131
  926. package/loaders/RGBELoader.mjs +0 -244
  927. package/loaders/RGBMLoader.mjs +0 -998
  928. package/loaders/STLLoader.mjs +0 -190
  929. package/loaders/SVGLoader.mjs +0 -1709
  930. package/loaders/TDSLoader.mjs +0 -480
  931. package/loaders/TGALoader.mjs +0 -285
  932. package/loaders/TTFLoader.mjs +0 -131
  933. package/loaders/TiltLoader.mjs +0 -373
  934. package/loaders/VOXLoader.mjs +0 -431
  935. package/loaders/VRMLLoader.mjs +0 -2093
  936. package/loaders/VRMLoader.mjs +0 -38
  937. package/loaders/VTKLoader.mjs +0 -646
  938. package/loaders/XLoader.mjs +0 -1258
  939. package/loaders/XYZLoader.mjs +0 -60
  940. package/loaders/lwo/IFFParser.mjs +0 -697
  941. package/loaders/lwo/LWO2Parser.mjs +0 -327
  942. package/loaders/lwo/LWO3Parser.mjs +0 -298
  943. package/math/Capsule.mjs +0 -100
  944. package/math/ColorConverter.mjs +0 -51
  945. package/math/ConvexHull.mjs +0 -574
  946. package/math/ImprovedNoise.mjs +0 -302
  947. package/math/Lut.mjs +0 -135
  948. package/math/MeshSurfaceSampler.mjs +0 -107
  949. package/math/OBB.mjs +0 -235
  950. package/math/Octree.mjs +0 -278
  951. package/math/SimplexNoise.mjs +0 -425
  952. package/misc/ConvexObjectBreaker.mjs +0 -292
  953. package/misc/GPUComputationRenderer.mjs +0 -171
  954. package/misc/Gyroscope.mjs +0 -35
  955. package/misc/MD2Character.mjs +0 -162
  956. package/misc/MD2CharacterComplex.mjs +0 -328
  957. package/misc/MorphAnimMesh.mjs +0 -40
  958. package/misc/MorphBlendMesh.mjs +0 -179
  959. package/misc/ProgressiveLightmap.mjs +0 -166
  960. package/misc/RollerCoaster.mjs +0 -346
  961. package/misc/TubePainter.mjs +0 -123
  962. package/misc/Volume.mjs +0 -244
  963. package/misc/VolumeSlice.mjs +0 -106
  964. package/misc/WebGL.mjs +0 -74
  965. package/modifiers/CurveModifier.mjs +0 -182
  966. package/modifiers/EdgeSplitModifier.mjs +0 -162
  967. package/modifiers/SimplifyModifier.mjs +0 -282
  968. package/modifiers/TessellateModifier.mjs +0 -206
  969. package/nodes/Nodes.mjs +0 -400
  970. package/nodes/ShaderNode.mjs +0 -408
  971. package/nodes/accessors/BufferNode.mjs +0 -15
  972. package/nodes/accessors/CameraNode.mjs +0 -44
  973. package/nodes/accessors/CubeTextureNode.mjs +0 -42
  974. package/nodes/accessors/MaterialNode.mjs +0 -71
  975. package/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  976. package/nodes/accessors/ModelNode.mjs +0 -9
  977. package/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  978. package/nodes/accessors/NormalNode.mjs +0 -62
  979. package/nodes/accessors/Object3DNode.mjs +0 -76
  980. package/nodes/accessors/PointUVNode.mjs +0 -13
  981. package/nodes/accessors/PositionNode.mjs +0 -65
  982. package/nodes/accessors/ReferenceNode.mjs +0 -37
  983. package/nodes/accessors/ReflectNode.mjs +0 -43
  984. package/nodes/accessors/SkinningNode.mjs +0 -58
  985. package/nodes/accessors/TextureNode.mjs +0 -54
  986. package/nodes/accessors/UVNode.mjs +0 -23
  987. package/nodes/core/ArrayUniformNode.mjs +0 -14
  988. package/nodes/core/AttributeNode.mjs +0 -30
  989. package/nodes/core/BypassNode.mjs +0 -22
  990. package/nodes/core/CodeNode.mjs +0 -28
  991. package/nodes/core/ConstNode.mjs +0 -14
  992. package/nodes/core/ContextNode.mjs +0 -22
  993. package/nodes/core/ExpressionNode.mjs +0 -19
  994. package/nodes/core/FunctionCallNode.mjs +0 -37
  995. package/nodes/core/FunctionNode.mjs +0 -56
  996. package/nodes/core/InputNode.mjs +0 -38
  997. package/nodes/core/Node.mjs +0 -139
  998. package/nodes/core/NodeAttribute.mjs +0 -10
  999. package/nodes/core/NodeBuilder.mjs +0 -395
  1000. package/nodes/core/NodeCode.mjs +0 -11
  1001. package/nodes/core/NodeFrame.mjs +0 -35
  1002. package/nodes/core/NodeFunctionInput.mjs +0 -13
  1003. package/nodes/core/NodeKeywords.mjs +0 -44
  1004. package/nodes/core/NodeUniform.mjs +0 -18
  1005. package/nodes/core/NodeUtils.mjs +0 -57
  1006. package/nodes/core/NodeVar.mjs +0 -10
  1007. package/nodes/core/NodeVary.mjs +0 -10
  1008. package/nodes/core/PropertyNode.mjs +0 -21
  1009. package/nodes/core/TempNode.mjs +0 -25
  1010. package/nodes/core/UniformNode.mjs +0 -23
  1011. package/nodes/core/VarNode.mjs +0 -31
  1012. package/nodes/core/VaryNode.mjs +0 -30
  1013. package/nodes/core/constants.mjs +0 -24
  1014. package/nodes/display/ColorSpaceNode.mjs +0 -63
  1015. package/nodes/display/NormalMapNode.mjs +0 -54
  1016. package/nodes/fog/FogNode.mjs +0 -15
  1017. package/nodes/fog/FogRangeNode.mjs +0 -17
  1018. package/nodes/functions/BSDFs.mjs +0 -64
  1019. package/nodes/lights/LightContextNode.mjs +0 -35
  1020. package/nodes/lights/LightNode.mjs +0 -58
  1021. package/nodes/lights/LightsNode.mjs +0 -59
  1022. package/nodes/loaders/NodeLoader.mjs +0 -66
  1023. package/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  1024. package/nodes/loaders/NodeObjectLoader.mjs +0 -40
  1025. package/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  1026. package/nodes/materials/Materials.mjs +0 -28
  1027. package/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  1028. package/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  1029. package/nodes/materials/NodeMaterial.mjs +0 -64
  1030. package/nodes/materials/PointsNodeMaterial.mjs +0 -30
  1031. package/nodes/math/CondNode.mjs +0 -38
  1032. package/nodes/math/MathNode.mjs +0 -163
  1033. package/nodes/math/OperatorNode.mjs +0 -103
  1034. package/nodes/procedural/CheckerNode.mjs +0 -21
  1035. package/nodes/utils/ArrayElementNode.mjs +0 -19
  1036. package/nodes/utils/ConvertNode.mjs +0 -25
  1037. package/nodes/utils/JoinNode.mjs +0 -26
  1038. package/nodes/utils/MatcapUVNode.mjs +0 -16
  1039. package/nodes/utils/OscNode.mjs +0 -50
  1040. package/nodes/utils/SplitNode.mjs +0 -45
  1041. package/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  1042. package/nodes/utils/TimerNode.mjs +0 -44
  1043. package/objects/GroundProjectedEnv.mjs +0 -130
  1044. package/objects/Lensflare.mjs +0 -262
  1045. package/objects/LightningStorm.mjs +0 -110
  1046. package/objects/MarchingCubes.mjs +0 -457
  1047. package/objects/Reflector.mjs +0 -166
  1048. package/objects/ReflectorForSSRPass.mjs +0 -247
  1049. package/objects/ReflectorRTT.mjs +0 -10
  1050. package/objects/Refractor.mjs +0 -178
  1051. package/objects/ShadowMesh.mjs +0 -41
  1052. package/objects/Sky.mjs +0 -124
  1053. package/objects/Water.mjs +0 -235
  1054. package/objects/Water2.mjs +0 -252
  1055. package/offscreen/jank.mjs +0 -27
  1056. package/offscreen/offscreen.mjs +0 -5
  1057. package/offscreen/scene.mjs +0 -52
  1058. package/physics/AmmoPhysics.mjs +0 -165
  1059. package/postprocessing/AdaptiveToneMappingPass.mjs +0 -221
  1060. package/postprocessing/AfterimagePass.mjs +0 -55
  1061. package/postprocessing/BloomPass.mjs +0 -90
  1062. package/postprocessing/BokehPass.mjs +0 -76
  1063. package/postprocessing/ClearPass.mjs +0 -27
  1064. package/postprocessing/CubeTexturePass.mjs +0 -49
  1065. package/postprocessing/DotScreenPass.mjs +0 -40
  1066. package/postprocessing/EffectComposer.mjs +0 -139
  1067. package/postprocessing/FilmPass.mjs +0 -42
  1068. package/postprocessing/GlitchPass.mjs +0 -75
  1069. package/postprocessing/HalftonePass.mjs +0 -44
  1070. package/postprocessing/LUTPass.mjs +0 -136
  1071. package/postprocessing/MaskPass.mjs +0 -60
  1072. package/postprocessing/OutlinePass.mjs +0 -438
  1073. package/postprocessing/Pass.mjs +0 -37
  1074. package/postprocessing/RenderPass.mjs +0 -48
  1075. package/postprocessing/RenderPixelatedPass.mjs +0 -199
  1076. package/postprocessing/SAOPass.mjs +0 -282
  1077. package/postprocessing/SMAAPass.mjs +0 -112
  1078. package/postprocessing/SSAARenderPass.mjs +0 -170
  1079. package/postprocessing/SSAOPass.mjs +0 -265
  1080. package/postprocessing/SSRPass.mjs +0 -432
  1081. package/postprocessing/SavePass.mjs +0 -37
  1082. package/postprocessing/ShaderPass.mjs +0 -39
  1083. package/postprocessing/TAARenderPass.mjs +0 -88
  1084. package/postprocessing/TexturePass.mjs +0 -39
  1085. package/postprocessing/UnrealBloomPass.mjs +0 -220
  1086. package/renderers/CSS2DRenderer.mjs +0 -112
  1087. package/renderers/CSS3DRenderer.mjs +0 -133
  1088. package/renderers/Projector.mjs +0 -511
  1089. package/renderers/SVGRenderer.mjs +0 -306
  1090. package/renderers/nodes/accessors/CameraNode.mjs +0 -63
  1091. package/renderers/nodes/accessors/ModelNode.mjs +0 -61
  1092. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  1093. package/renderers/nodes/accessors/NormalNode.mjs +0 -61
  1094. package/renderers/nodes/accessors/PositionNode.mjs +0 -30
  1095. package/renderers/nodes/accessors/UVNode.mjs +0 -13
  1096. package/renderers/nodes/core/AttributeNode.mjs +0 -35
  1097. package/renderers/nodes/core/InputNode.mjs +0 -31
  1098. package/renderers/nodes/core/Node.mjs +0 -34
  1099. package/renderers/nodes/core/NodeAttribute.mjs +0 -10
  1100. package/renderers/nodes/core/NodeBuilder.mjs +0 -243
  1101. package/renderers/nodes/core/NodeFrame.mjs +0 -35
  1102. package/renderers/nodes/core/NodeSlot.mjs +0 -10
  1103. package/renderers/nodes/core/NodeUniform.mjs +0 -18
  1104. package/renderers/nodes/core/NodeVary.mjs +0 -11
  1105. package/renderers/nodes/core/VaryNode.mjs +0 -22
  1106. package/renderers/nodes/core/constants.mjs +0 -22
  1107. package/renderers/nodes/inputs/ColorNode.mjs +0 -11
  1108. package/renderers/nodes/inputs/FloatNode.mjs +0 -11
  1109. package/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  1110. package/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  1111. package/renderers/nodes/inputs/TextureNode.mjs +0 -20
  1112. package/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  1113. package/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  1114. package/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  1115. package/renderers/nodes/math/MathNode.mjs +0 -55
  1116. package/renderers/nodes/math/OperatorNode.mjs +0 -42
  1117. package/renderers/nodes/utils/SwitchNode.mjs +0 -20
  1118. package/renderers/nodes/utils/TimerNode.mjs +0 -14
  1119. package/renderers/webgpu/WebGPU.mjs +0 -24
  1120. package/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  1121. package/renderers/webgpu/WebGPUBackground.mjs +0 -61
  1122. package/renderers/webgpu/WebGPUBinding.mjs +0 -14
  1123. package/renderers/webgpu/WebGPUBindings.mjs +0 -155
  1124. package/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  1125. package/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  1126. package/renderers/webgpu/WebGPUInfo.mjs +0 -46
  1127. package/renderers/webgpu/WebGPUObjects.mjs +0 -25
  1128. package/renderers/webgpu/WebGPUProperties.mjs +0 -22
  1129. package/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  1130. package/renderers/webgpu/WebGPURenderPipelines.mjs +0 -545
  1131. package/renderers/webgpu/WebGPURenderer.mjs +0 -574
  1132. package/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  1133. package/renderers/webgpu/WebGPUSampler.mjs +0 -15
  1134. package/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  1135. package/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  1136. package/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  1137. package/renderers/webgpu/WebGPUTextures.mjs +0 -484
  1138. package/renderers/webgpu/WebGPUUniform.mjs +0 -81
  1139. package/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  1140. package/renderers/webgpu/constants.mjs +0 -230
  1141. package/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  1142. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  1143. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  1144. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  1145. package/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
  1146. package/shaders/ACESFilmicToneMappingShader.mjs +0 -48
  1147. package/shaders/AfterimageShader.mjs +0 -32
  1148. package/shaders/BasicShader.mjs +0 -12
  1149. package/shaders/BleachBypassShader.mjs +0 -35
  1150. package/shaders/BlendShader.mjs +0 -30
  1151. package/shaders/BokehShader.mjs +0 -106
  1152. package/shaders/BokehShader2.mjs +0 -269
  1153. package/shaders/BrightnessContrastShader.mjs +0 -32
  1154. package/shaders/ColorCorrectionShader.mjs +0 -30
  1155. package/shaders/ColorifyShader.mjs +0 -28
  1156. package/shaders/ConvolutionShader.mjs +0 -55
  1157. package/shaders/CopyShader.mjs +0 -25
  1158. package/shaders/DOFMipMapShader.mjs +0 -32
  1159. package/shaders/DepthLimitedBlurShader.mjs +0 -114
  1160. package/shaders/DigitalGlitch.mjs +0 -78
  1161. package/shaders/DotScreenShader.mjs +0 -39
  1162. package/shaders/FXAAShader.mjs +0 -1098
  1163. package/shaders/FilmShader.mjs +0 -42
  1164. package/shaders/FocusShader.mjs +0 -55
  1165. package/shaders/FreiChenShader.mjs +0 -61
  1166. package/shaders/FresnelShader.mjs +0 -47
  1167. package/shaders/GammaCorrectionShader.mjs +0 -23
  1168. package/shaders/GodRaysShader.mjs +0 -146
  1169. package/shaders/HalftoneShader.mjs +0 -212
  1170. package/shaders/HorizontalBlurShader.mjs +0 -43
  1171. package/shaders/HorizontalTiltShiftShader.mjs +0 -37
  1172. package/shaders/HueSaturationShader.mjs +0 -41
  1173. package/shaders/KaleidoShader.mjs +0 -34
  1174. package/shaders/LuminosityHighPassShader.mjs +0 -37
  1175. package/shaders/LuminosityShader.mjs +0 -25
  1176. package/shaders/MirrorShader.mjs +0 -35
  1177. package/shaders/NormalMapShader.mjs +0 -31
  1178. package/shaders/ParallaxShader.mjs +0 -113
  1179. package/shaders/PixelShader.mjs +0 -28
  1180. package/shaders/RGBShiftShader.mjs +0 -30
  1181. package/shaders/SAOShader.mjs +0 -144
  1182. package/shaders/SMAAShader.mjs +0 -272
  1183. package/shaders/SSAOShader.mjs +0 -172
  1184. package/shaders/SSRShader.mjs +0 -324
  1185. package/shaders/SepiaShader.mjs +0 -29
  1186. package/shaders/SobelOperatorShader.mjs +0 -44
  1187. package/shaders/SubsurfaceScatteringShader.mjs +0 -59
  1188. package/shaders/TechnicolorShader.mjs +0 -24
  1189. package/shaders/ToneMapShader.mjs +0 -48
  1190. package/shaders/ToonShader.mjs +0 -188
  1191. package/shaders/TriangleBlurShader.mjs +0 -36
  1192. package/shaders/UnpackDepthRGBAShader.mjs +0 -26
  1193. package/shaders/VerticalBlurShader.mjs +0 -44
  1194. package/shaders/VerticalTiltShiftShader.mjs +0 -37
  1195. package/shaders/VignetteShader.mjs +0 -28
  1196. package/shaders/VolumeShader.mjs +0 -178
  1197. package/shaders/WaterRefractionShader.mjs +0 -57
  1198. package/textures/FlakesTexture.mjs +0 -30
  1199. package/types/helpers.mjs +0 -4
  1200. package/utils/BufferGeometryUtils.mjs +0 -570
  1201. package/utils/GeometryCompressionUtils.mjs +0 -547
  1202. package/utils/GeometryUtils.mjs +0 -108
  1203. package/utils/RoughnessMipmapper.mjs +0 -213
  1204. package/utils/SceneUtils.mjs +0 -36
  1205. package/utils/ShadowMapViewer.mjs +0 -114
  1206. package/utils/SkeletonUtils.mjs +0 -292
  1207. package/utils/UVsDebug.mjs +0 -85
  1208. package/utils/WorkerPool.mjs +0 -62
  1209. package/webxr/ARButton.mjs +0 -119
  1210. package/webxr/OculusHandModel.mjs +0 -71
  1211. package/webxr/OculusHandPointerModel.mjs +0 -207
  1212. package/webxr/Text2D.mjs +0 -31
  1213. package/webxr/VRButton.mjs +0 -105
  1214. package/webxr/XRControllerModelFactory.mjs +0 -146
  1215. package/webxr/XREstimatedLight.mjs +0 -126
  1216. package/webxr/XRHandMeshModel.mjs +0 -73
  1217. package/webxr/XRHandModelFactory.mjs +0 -61
  1218. package/webxr/XRHandPrimitiveModel.mjs +0 -68
@@ -1,213 +1,325 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const THREE = require("three");
4
- const LWO2Parser = require("./LWO2Parser.js");
5
- const LWO3Parser = require("./LWO3Parser.js");
1
+ import { LoaderUtils } from 'three';
2
+ import { LWO2Parser } from './LWO2Parser.js';
3
+ import { LWO3Parser } from './LWO3Parser.js';
4
+
5
+ /**
6
+ * === IFFParser ===
7
+ * - Parses data from the IFF buffer.
8
+ * - LWO3 files are in IFF format and can contain the following data types, referred to by shorthand codes
9
+ *
10
+ * ATOMIC DATA TYPES
11
+ * ID Tag - 4x 7 bit uppercase ASCII chars: ID4
12
+ * signed integer, 1, 2, or 4 byte length: I1, I2, I4
13
+ * unsigned integer, 1, 2, or 4 byte length: U1, U2, U4
14
+ * float, 4 byte length: F4
15
+ * string, series of ASCII chars followed by null byte (If the length of the string including the null terminating byte is odd, an extra null is added so that the data that follows will begin on an even byte boundary): S0
16
+ *
17
+ * COMPOUND DATA TYPES
18
+ * Variable-length Index (index into an array or collection): U2 or U4 : VX
19
+ * Color (RGB): F4 + F4 + F4: COL12
20
+ * Coordinate (x, y, z): F4 + F4 + F4: VEC12
21
+ * Percentage F4 data type from 0->1 with 1 = 100%: FP4
22
+ * Angle in radian F4: ANG4
23
+ * Filename (string) S0: FNAM0
24
+ * XValue F4 + index (VX) + optional envelope( ENVL ): XVAL
25
+ * XValue vector VEC12 + index (VX) + optional envelope( ENVL ): XVAL3
26
+ *
27
+ * The IFF file is arranged in chunks:
28
+ * CHUNK = ID4 + length (U4) + length X bytes of data + optional 0 pad byte
29
+ * optional 0 pad byte is there to ensure chunk ends on even boundary, not counted in size
30
+ *
31
+ * COMPOUND DATA TYPES
32
+ * - Chunks are combined in Forms (collections of chunks)
33
+ * - FORM = string 'FORM' (ID4) + length (U4) + type (ID4) + optional ( CHUNK | FORM )
34
+ * - CHUNKS and FORMS are collectively referred to as blocks
35
+ * - The entire file is contained in one top level FORM
36
+ *
37
+ **/
38
+
6
39
  function IFFParser() {
7
- this.debugger = new Debugger();
40
+ this.debugger = new Debugger(); // this.debugger.enable(); // un-comment to log IFF hierarchy.
8
41
  }
42
+
9
43
  IFFParser.prototype = {
10
44
  constructor: IFFParser,
11
- parse: function(buffer) {
45
+ parse: function (buffer) {
12
46
  this.reader = new DataViewReader(buffer);
13
47
  this.tree = {
14
48
  materials: {},
15
49
  layers: [],
16
50
  tags: [],
17
51
  textures: []
18
- };
52
+ }; // start out at the top level to add any data before first layer is encountered
53
+
19
54
  this.currentLayer = this.tree;
20
55
  this.currentForm = this.tree;
21
56
  this.parseTopForm();
22
- if (this.tree.format === void 0)
23
- return;
24
- if (this.tree.format === "LWO2") {
25
- this.parser = new LWO2Parser.LWO2Parser(this);
26
- while (!this.reader.endOfFile())
27
- this.parser.parseBlock();
28
- } else if (this.tree.format === "LWO3") {
29
- this.parser = new LWO3Parser.LWO3Parser(this);
30
- while (!this.reader.endOfFile())
31
- this.parser.parseBlock();
57
+ if (this.tree.format === undefined) return;
58
+
59
+ if (this.tree.format === 'LWO2') {
60
+ this.parser = new LWO2Parser(this);
61
+
62
+ while (!this.reader.endOfFile()) this.parser.parseBlock();
63
+ } else if (this.tree.format === 'LWO3') {
64
+ this.parser = new LWO3Parser(this);
65
+
66
+ while (!this.reader.endOfFile()) this.parser.parseBlock();
32
67
  }
68
+
33
69
  this.debugger.offset = this.reader.offset;
34
70
  this.debugger.closeForms();
35
71
  return this.tree;
36
72
  },
73
+
37
74
  parseTopForm() {
38
75
  this.debugger.offset = this.reader.offset;
39
76
  var topForm = this.reader.getIDTag();
40
- if (topForm !== "FORM") {
41
- console.warn("LWOLoader: Top-level FORM missing.");
77
+
78
+ if (topForm !== 'FORM') {
79
+ console.warn('LWOLoader: Top-level FORM missing.');
42
80
  return;
43
81
  }
82
+
44
83
  var length = this.reader.getUint32();
45
84
  this.debugger.dataOffset = this.reader.offset;
46
85
  this.debugger.length = length;
47
86
  var type = this.reader.getIDTag();
48
- if (type === "LWO2") {
87
+
88
+ if (type === 'LWO2') {
49
89
  this.tree.format = type;
50
- } else if (type === "LWO3") {
90
+ } else if (type === 'LWO3') {
51
91
  this.tree.format = type;
52
92
  }
93
+
53
94
  this.debugger.node = 0;
54
95
  this.debugger.nodeID = type;
55
96
  this.debugger.log();
56
97
  return;
57
98
  },
99
+
100
+ ///
101
+ // FORM PARSING METHODS
102
+ ///
103
+ // Forms are organisational and can contain any number of sub chunks and sub forms
104
+ // FORM ::= 'FORM'[ID4], length[U4], type[ID4], ( chunk[CHUNK] | form[FORM] ) * }
58
105
  parseForm(length) {
59
106
  var type = this.reader.getIDTag();
107
+
60
108
  switch (type) {
61
- case "ISEQ":
62
- case "ANIM":
63
- case "STCC":
64
- case "VPVL":
65
- case "VPRM":
66
- case "NROT":
67
- case "WRPW":
68
- case "WRPH":
69
- case "FUNC":
70
- case "FALL":
71
- case "OPAC":
72
- case "GRAD":
73
- case "ENVS":
74
- case "VMOP":
75
- case "VMBG":
76
- case "OMAX":
77
- case "STEX":
78
- case "CKBG":
79
- case "CKEY":
80
- case "VMLA":
81
- case "VMLB":
109
+ // SKIPPED FORMS
110
+ // if skipForm( length ) is called, the entire form and any sub forms and chunks are skipped
111
+ case 'ISEQ': // Image sequence
112
+
113
+ case 'ANIM': // plug in animation
114
+
115
+ case 'STCC': // Color-cycling Still
116
+
117
+ case 'VPVL':
118
+ case 'VPRM':
119
+ case 'NROT':
120
+ case 'WRPW': // image wrap w ( for cylindrical and spherical projections)
121
+
122
+ case 'WRPH': // image wrap h
123
+
124
+ case 'FUNC':
125
+ case 'FALL':
126
+ case 'OPAC':
127
+ case 'GRAD': // gradient texture
128
+
129
+ case 'ENVS':
130
+ case 'VMOP':
131
+ case 'VMBG': // Car Material FORMS
132
+
133
+ case 'OMAX':
134
+ case 'STEX':
135
+ case 'CKBG':
136
+ case 'CKEY':
137
+ case 'VMLA':
138
+ case 'VMLB':
82
139
  this.debugger.skipped = true;
83
- this.skipForm(length);
84
- break;
85
- case "META":
86
- case "NNDS":
87
- case "NODS":
88
- case "NDTA":
89
- case "ADAT":
90
- case "AOVS":
91
- case "BLOK":
92
- case "IBGC":
93
- case "IOPC":
94
- case "IIMG":
95
- case "TXTR":
140
+ this.skipForm(length); // not currently supported
141
+
142
+ break;
143
+ // if break; is called directly, the position in the lwoTree is not created
144
+ // any sub chunks and forms are added to the parent form instead
145
+
146
+ case 'META':
147
+ case 'NNDS':
148
+ case 'NODS':
149
+ case 'NDTA':
150
+ case 'ADAT':
151
+ case 'AOVS':
152
+ case 'BLOK': // used by texture nodes
153
+
154
+ case 'IBGC': // imageBackgroundColor
155
+
156
+ case 'IOPC': // imageOpacity
157
+
158
+ case 'IIMG': // hold reference to image path
159
+
160
+ case 'TXTR':
161
+ // this.setupForm( type, length );
96
162
  this.debugger.length = 4;
97
163
  this.debugger.skipped = true;
98
164
  break;
99
- case "IFAL":
100
- case "ISCL":
101
- case "IPOS":
102
- case "IROT":
103
- case "IBMP":
104
- case "IUTD":
105
- case "IVTD":
165
+
166
+ case 'IFAL': // imageFallof
167
+
168
+ case 'ISCL': // imageScale
169
+
170
+ case 'IPOS': // imagePosition
171
+
172
+ case 'IROT': // imageRotation
173
+
174
+ case 'IBMP':
175
+ case 'IUTD':
176
+ case 'IVTD':
106
177
  this.parseTextureNodeAttribute(type);
107
178
  break;
108
- case "ENVL":
179
+
180
+ case 'ENVL':
109
181
  this.parseEnvelope(length);
110
182
  break;
111
- case "CLIP":
112
- if (this.tree.format === "LWO2") {
183
+ // CLIP FORM AND SUB FORMS
184
+
185
+ case 'CLIP':
186
+ if (this.tree.format === 'LWO2') {
113
187
  this.parseForm(length);
114
188
  } else {
115
189
  this.parseClip(length);
116
190
  }
191
+
117
192
  break;
118
- case "STIL":
193
+
194
+ case 'STIL':
119
195
  this.parseImage();
120
196
  break;
121
- case "XREF":
122
- this.reader.skip(8);
197
+
198
+ case 'XREF':
199
+ // clone of another STIL
200
+ this.reader.skip(8); // unknown
201
+
123
202
  this.currentForm.referenceTexture = {
124
203
  index: this.reader.getUint32(),
125
- refName: this.reader.getString()
204
+ refName: this.reader.getString() // internal unique ref
205
+
126
206
  };
127
207
  break;
128
- case "IMST":
208
+ // Not in spec, used by texture nodes
209
+
210
+ case 'IMST':
129
211
  this.parseImageStateForm(length);
130
212
  break;
131
- case "SURF":
213
+ // SURF FORM AND SUB FORMS
214
+
215
+ case 'SURF':
132
216
  this.parseSurfaceForm(length);
133
217
  break;
134
- case "VALU":
218
+
219
+ case 'VALU':
220
+ // Not in spec
135
221
  this.parseValueForm(length);
136
222
  break;
137
- case "NTAG":
223
+
224
+ case 'NTAG':
138
225
  this.parseSubNode(length);
139
226
  break;
140
- case "ATTR":
141
- case "SATR":
142
- this.setupForm("attributes", length);
227
+
228
+ case 'ATTR': // BSDF Node Attributes
229
+
230
+ case 'SATR':
231
+ // Standard Node Attributes
232
+ this.setupForm('attributes', length);
143
233
  break;
144
- case "NCON":
234
+
235
+ case 'NCON':
145
236
  this.parseConnections(length);
146
237
  break;
147
- case "SSHA":
238
+
239
+ case 'SSHA':
148
240
  this.parentForm = this.currentForm;
149
241
  this.currentForm = this.currentSurface;
150
- this.setupForm("surfaceShader", length);
242
+ this.setupForm('surfaceShader', length);
151
243
  break;
152
- case "SSHD":
153
- this.setupForm("surfaceShaderData", length);
244
+
245
+ case 'SSHD':
246
+ this.setupForm('surfaceShaderData', length);
154
247
  break;
155
- case "ENTR":
248
+
249
+ case 'ENTR':
250
+ // Not in spec
156
251
  this.parseEntryForm(length);
157
252
  break;
158
- case "IMAP":
253
+ // Image Map Layer
254
+
255
+ case 'IMAP':
159
256
  this.parseImageMap(length);
160
257
  break;
161
- case "TAMP":
162
- this.parseXVAL("amplitude", length);
258
+
259
+ case 'TAMP':
260
+ this.parseXVAL('amplitude', length);
163
261
  break;
164
- case "TMAP":
165
- this.setupForm("textureMap", length);
262
+ //Texture Mapping Form
263
+
264
+ case 'TMAP':
265
+ this.setupForm('textureMap', length);
166
266
  break;
167
- case "CNTR":
168
- this.parseXVAL3("center", length);
267
+
268
+ case 'CNTR':
269
+ this.parseXVAL3('center', length);
169
270
  break;
170
- case "SIZE":
171
- this.parseXVAL3("scale", length);
271
+
272
+ case 'SIZE':
273
+ this.parseXVAL3('scale', length);
172
274
  break;
173
- case "ROTA":
174
- this.parseXVAL3("rotation", length);
275
+
276
+ case 'ROTA':
277
+ this.parseXVAL3('rotation', length);
175
278
  break;
279
+
176
280
  default:
177
281
  this.parseUnknownForm(type, length);
178
282
  }
283
+
179
284
  this.debugger.node = 0;
180
285
  this.debugger.nodeID = type;
181
286
  this.debugger.log();
182
287
  },
288
+
183
289
  setupForm(type, length) {
184
- if (!this.currentForm)
185
- this.currentForm = this.currentNode;
290
+ if (!this.currentForm) this.currentForm = this.currentNode;
186
291
  this.currentFormEnd = this.reader.offset + length;
187
292
  this.parentForm = this.currentForm;
293
+
188
294
  if (!this.currentForm[type]) {
189
295
  this.currentForm[type] = {};
190
296
  this.currentForm = this.currentForm[type];
191
297
  } else {
192
- console.warn("LWOLoader: form already exists on parent: ", type, this.currentForm);
298
+ // should never see this unless there's a bug in the reader
299
+ console.warn('LWOLoader: form already exists on parent: ', type, this.currentForm);
193
300
  this.currentForm = this.currentForm[type];
194
301
  }
195
302
  },
303
+
196
304
  skipForm(length) {
197
305
  this.reader.skip(length - 4);
198
306
  },
307
+
199
308
  parseUnknownForm(type, length) {
200
- console.warn("LWOLoader: unknown FORM encountered: " + type, length);
309
+ console.warn('LWOLoader: unknown FORM encountered: ' + type, length);
201
310
  printBuffer(this.reader.dv.buffer, this.reader.offset, length - 4);
202
311
  this.reader.skip(length - 4);
203
312
  },
313
+
204
314
  parseSurfaceForm(length) {
205
- this.reader.skip(8);
315
+ this.reader.skip(8); // unknown Uint32 x2
316
+
206
317
  var name = this.reader.getString();
207
318
  var surface = {
208
319
  attributes: {},
320
+ // LWO2 style non-node attributes will go here
209
321
  connections: {},
210
- name,
322
+ name: name,
211
323
  inputName: name,
212
324
  nodes: {},
213
325
  source: this.reader.getString()
@@ -218,12 +330,14 @@ IFFParser.prototype = {
218
330
  this.currentForm = surface;
219
331
  this.currentFormEnd = this.reader.offset + length;
220
332
  },
333
+
221
334
  parseSurfaceLwo2(length) {
222
335
  var name = this.reader.getString();
223
336
  var surface = {
224
337
  attributes: {},
338
+ // LWO2 style non-node attributes will go here
225
339
  connections: {},
226
- name,
340
+ name: name,
227
341
  nodes: {},
228
342
  source: this.reader.getString()
229
343
  };
@@ -233,133 +347,184 @@ IFFParser.prototype = {
233
347
  this.currentForm = surface;
234
348
  this.currentFormEnd = this.reader.offset + length;
235
349
  },
350
+
236
351
  parseSubNode(length) {
237
- this.reader.skip(8);
352
+ // parse the NRNM CHUNK of the subnode FORM to get
353
+ // a meaningful name for the subNode
354
+ // some subnodes can be renamed, but Input and Surface cannot
355
+ this.reader.skip(8); // NRNM + length
356
+
238
357
  var name = this.reader.getString();
239
358
  var node = {
240
- name
359
+ name: name
241
360
  };
242
361
  this.currentForm = node;
243
362
  this.currentNode = node;
244
363
  this.currentFormEnd = this.reader.offset + length;
245
364
  },
365
+
366
+ // collect attributes from all nodes at the top level of a surface
246
367
  parseConnections(length) {
247
368
  this.currentFormEnd = this.reader.offset + length;
248
369
  this.parentForm = this.currentForm;
249
370
  this.currentForm = this.currentSurface.connections;
250
371
  },
372
+
373
+ // surface node attribute data, e.g. specular, roughness etc
251
374
  parseEntryForm(length) {
252
- this.reader.skip(8);
375
+ this.reader.skip(8); // NAME + length
376
+
253
377
  var name = this.reader.getString();
254
378
  this.currentForm = this.currentNode.attributes;
255
379
  this.setupForm(name, length);
256
380
  },
381
+
382
+ // parse values from material - doesn't match up to other LWO3 data types
383
+ // sub form of entry form
257
384
  parseValueForm() {
258
- this.reader.skip(8);
385
+ this.reader.skip(8); // unknown + length
386
+
259
387
  var valueType = this.reader.getString();
260
- if (valueType === "double") {
388
+
389
+ if (valueType === 'double') {
261
390
  this.currentForm.value = this.reader.getUint64();
262
- } else if (valueType === "int") {
391
+ } else if (valueType === 'int') {
263
392
  this.currentForm.value = this.reader.getUint32();
264
- } else if (valueType === "vparam") {
393
+ } else if (valueType === 'vparam') {
265
394
  this.reader.skip(24);
266
395
  this.currentForm.value = this.reader.getFloat64();
267
- } else if (valueType === "vparam3") {
396
+ } else if (valueType === 'vparam3') {
268
397
  this.reader.skip(24);
269
398
  this.currentForm.value = this.reader.getFloat64Array(3);
270
399
  }
271
400
  },
401
+
402
+ // holds various data about texture node image state
403
+ // Data other thanmipMapLevel unknown
272
404
  parseImageStateForm() {
273
- this.reader.skip(8);
405
+ this.reader.skip(8); // unknown
406
+
274
407
  this.currentForm.mipMapLevel = this.reader.getFloat32();
275
408
  },
409
+
410
+ // LWO2 style image data node OR LWO3 textures defined at top level in editor (not as SURF node)
276
411
  parseImageMap(length) {
277
412
  this.currentFormEnd = this.reader.offset + length;
278
413
  this.parentForm = this.currentForm;
279
- if (!this.currentForm.maps)
280
- this.currentForm.maps = [];
414
+ if (!this.currentForm.maps) this.currentForm.maps = [];
281
415
  var map = {};
282
416
  this.currentForm.maps.push(map);
283
417
  this.currentForm = map;
284
- this.reader.skip(10);
418
+ this.reader.skip(10); // unknown, could be an issue if it contains a VX
285
419
  },
420
+
286
421
  parseTextureNodeAttribute(type) {
287
- this.reader.skip(28);
288
- this.reader.skip(20);
422
+ this.reader.skip(28); // FORM + length + VPRM + unknown + Uint32 x2 + float32
423
+
424
+ this.reader.skip(20); // FORM + length + VPVL + float32 + Uint32
425
+
289
426
  switch (type) {
290
- case "ISCL":
427
+ case 'ISCL':
291
428
  this.currentNode.scale = this.reader.getFloat32Array(3);
292
429
  break;
293
- case "IPOS":
430
+
431
+ case 'IPOS':
294
432
  this.currentNode.position = this.reader.getFloat32Array(3);
295
433
  break;
296
- case "IROT":
434
+
435
+ case 'IROT':
297
436
  this.currentNode.rotation = this.reader.getFloat32Array(3);
298
437
  break;
299
- case "IFAL":
438
+
439
+ case 'IFAL':
300
440
  this.currentNode.falloff = this.reader.getFloat32Array(3);
301
441
  break;
302
- case "IBMP":
442
+
443
+ case 'IBMP':
303
444
  this.currentNode.amplitude = this.reader.getFloat32();
304
445
  break;
305
- case "IUTD":
446
+
447
+ case 'IUTD':
306
448
  this.currentNode.uTiles = this.reader.getFloat32();
307
449
  break;
308
- case "IVTD":
450
+
451
+ case 'IVTD':
309
452
  this.currentNode.vTiles = this.reader.getFloat32();
310
453
  break;
311
454
  }
312
- this.reader.skip(2);
455
+
456
+ this.reader.skip(2); // unknown
313
457
  },
458
+
459
+ // ENVL forms are currently ignored
314
460
  parseEnvelope(length) {
315
- this.reader.skip(length - 4);
316
- },
461
+ this.reader.skip(length - 4); // skipping entirely for now
462
+ },
463
+
464
+ ///
465
+ // CHUNK PARSING METHODS
466
+ ///
467
+ // clips can either be defined inside a surface node, or at the top
468
+ // level and they have a different format in each case
317
469
  parseClip(length) {
318
- var tag = this.reader.getIDTag();
319
- if (tag === "FORM") {
470
+ var tag = this.reader.getIDTag(); // inside surface node
471
+
472
+ if (tag === 'FORM') {
320
473
  this.reader.skip(16);
321
474
  this.currentNode.fileName = this.reader.getString();
322
475
  return;
323
- }
476
+ } // otherwise top level
477
+
478
+
324
479
  this.reader.setOffset(this.reader.offset - 4);
325
480
  this.currentFormEnd = this.reader.offset + length;
326
481
  this.parentForm = this.currentForm;
327
- this.reader.skip(8);
482
+ this.reader.skip(8); // unknown
483
+
328
484
  var texture = {
329
485
  index: this.reader.getUint32()
330
486
  };
331
487
  this.tree.textures.push(texture);
332
488
  this.currentForm = texture;
333
489
  },
490
+
334
491
  parseClipLwo2(length) {
335
492
  var texture = {
336
493
  index: this.reader.getUint32(),
337
- fileName: ""
338
- };
494
+ fileName: ''
495
+ }; // seach STIL block
496
+
339
497
  while (true) {
340
498
  var tag = this.reader.getIDTag();
341
499
  var n_length = this.reader.getUint16();
342
- if (tag === "STIL") {
500
+
501
+ if (tag === 'STIL') {
343
502
  texture.fileName = this.reader.getString();
344
503
  break;
345
504
  }
505
+
346
506
  if (n_length >= length) {
347
507
  break;
348
508
  }
349
509
  }
510
+
350
511
  this.tree.textures.push(texture);
351
512
  this.currentForm = texture;
352
513
  },
514
+
353
515
  parseImage() {
354
- this.reader.skip(8);
516
+ this.reader.skip(8); // unknown
517
+
355
518
  this.currentForm.fileName = this.reader.getString();
356
519
  },
520
+
357
521
  parseXVAL(type, length) {
358
522
  var endOffset = this.reader.offset + length - 4;
359
523
  this.reader.skip(8);
360
524
  this.currentForm[type] = this.reader.getFloat32();
361
- this.reader.setOffset(endOffset);
525
+ this.reader.setOffset(endOffset); // set end offset directly to skip optional envelope
362
526
  },
527
+
363
528
  parseXVAL3(type, length) {
364
529
  var endOffset = this.reader.offset + length - 4;
365
530
  this.reader.skip(8);
@@ -370,246 +535,326 @@ IFFParser.prototype = {
370
535
  };
371
536
  this.reader.setOffset(endOffset);
372
537
  },
538
+
539
+ // Tags associated with an object
540
+ // OTAG { type[ID4], tag-string[S0] }
373
541
  parseObjectTag() {
374
- if (!this.tree.objectTags)
375
- this.tree.objectTags = {};
542
+ if (!this.tree.objectTags) this.tree.objectTags = {};
376
543
  this.tree.objectTags[this.reader.getIDTag()] = {
377
544
  tagString: this.reader.getString()
378
545
  };
379
546
  },
547
+
548
+ // 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.
549
+ // LAYR: number[U2], flags[U2], pivot[VEC12], name[S0], parent[U2]
380
550
  parseLayer(length) {
381
551
  var layer = {
382
552
  number: this.reader.getUint16(),
383
553
  flags: this.reader.getUint16(),
554
+ // If the least significant bit of flags is set, the layer is hidden.
384
555
  pivot: this.reader.getFloat32Array(3),
556
+ // Note: this seems to be superflous, as the geometry is translated when pivot is present
385
557
  name: this.reader.getString()
386
558
  };
387
559
  this.tree.layers.push(layer);
388
560
  this.currentLayer = layer;
389
- var parsedLength = 16 + stringOffset(this.currentLayer.name);
390
- this.currentLayer.parent = parsedLength < length ? this.reader.getUint16() : -1;
391
- },
561
+ var parsedLength = 16 + stringOffset(this.currentLayer.name); // index ( 2 ) + flags( 2 ) + pivot( 12 ) + stringlength
562
+ // if we have not reached then end of the layer block, there must be a parent defined
563
+
564
+ this.currentLayer.parent = parsedLength < length ? this.reader.getUint16() : -1; // omitted or -1 for no parent
565
+ },
566
+
567
+ // VEC12 * ( F4 + F4 + F4 ) array of x,y,z vectors
568
+ // Converting from left to right handed coordinate system:
569
+ // x -> -x and switch material FrontSide -> BackSide
392
570
  parsePoints(length) {
393
571
  this.currentPoints = [];
572
+
394
573
  for (let i = 0; i < length / 4; i += 3) {
574
+ // z -> -z to match three.js right handed coords
395
575
  this.currentPoints.push(this.reader.getFloat32(), this.reader.getFloat32(), -this.reader.getFloat32());
396
576
  }
397
577
  },
578
+
579
+ // parse VMAP or VMAD
580
+ // Associates a set of floating-point vectors with a set of points.
581
+ // VMAP: { type[ID4], dimension[U2], name[S0], ( vert[VX], value[F4] # dimension ) * }
582
+ // VMAD Associates a set of floating-point vectors with the vertices of specific polygons.
583
+ // Similar to VMAP UVs, but associates with polygon vertices rather than points
584
+ // to solve to problem of UV seams: VMAD chunks are paired with VMAPs of the same name,
585
+ // if they exist. The vector values in the VMAD will then replace those in the
586
+ // corresponding VMAP, but only for calculations involving the specified polygons.
587
+ // VMAD { type[ID4], dimension[U2], name[S0], ( vert[VX], poly[VX], value[F4] # dimension ) * }
398
588
  parseVertexMapping(length, discontinuous) {
399
589
  var finalOffset = this.reader.offset + length;
400
590
  var channelName = this.reader.getString();
591
+
401
592
  if (this.reader.offset === finalOffset) {
593
+ // then we are in a texture node and the VMAP chunk is just a reference to a UV channel name
402
594
  this.currentForm.UVChannel = channelName;
403
595
  return;
404
- }
596
+ } // otherwise reset to initial length and parse normal VMAP CHUNK
597
+
598
+
405
599
  this.reader.setOffset(this.reader.offset - stringOffset(channelName));
406
600
  var type = this.reader.getIDTag();
407
- this.reader.getUint16();
601
+ this.reader.getUint16(); // dimension
602
+
408
603
  var name = this.reader.getString();
409
604
  var remainingLength = length - 6 - stringOffset(name);
605
+
410
606
  switch (type) {
411
- case "TXUV":
607
+ case 'TXUV':
412
608
  this.parseUVMapping(name, finalOffset, discontinuous);
413
609
  break;
414
- case "MORF":
415
- case "SPOT":
416
- this.parseMorphTargets(name, finalOffset, type);
417
- break;
418
- case "APSL":
419
- case "NORM":
420
- case "WGHT":
421
- case "MNVW":
422
- case "PICK":
423
- case "RGB ":
424
- case "RGBA":
610
+
611
+ case 'MORF':
612
+ case 'SPOT':
613
+ this.parseMorphTargets(name, finalOffset, type); // can't be discontinuous
614
+
615
+ break;
616
+ // unsupported VMAPs
617
+
618
+ case 'APSL':
619
+ case 'NORM':
620
+ case 'WGHT':
621
+ case 'MNVW':
622
+ case 'PICK':
623
+ case 'RGB ':
624
+ case 'RGBA':
425
625
  this.reader.skip(remainingLength);
426
626
  break;
627
+
427
628
  default:
428
- console.warn("LWOLoader: unknown vertex map type: " + type);
629
+ console.warn('LWOLoader: unknown vertex map type: ' + type);
429
630
  this.reader.skip(remainingLength);
430
631
  }
431
632
  },
633
+
432
634
  parseUVMapping(name, finalOffset, discontinuous) {
433
635
  var uvIndices = [];
434
636
  var polyIndices = [];
435
637
  var uvs = [];
638
+
436
639
  while (this.reader.offset < finalOffset) {
437
640
  uvIndices.push(this.reader.getVariableLengthIndex());
438
- if (discontinuous)
439
- polyIndices.push(this.reader.getVariableLengthIndex());
641
+ if (discontinuous) polyIndices.push(this.reader.getVariableLengthIndex());
440
642
  uvs.push(this.reader.getFloat32(), this.reader.getFloat32());
441
643
  }
644
+
442
645
  if (discontinuous) {
443
- if (!this.currentLayer.discontinuousUVs)
444
- this.currentLayer.discontinuousUVs = {};
646
+ if (!this.currentLayer.discontinuousUVs) this.currentLayer.discontinuousUVs = {};
445
647
  this.currentLayer.discontinuousUVs[name] = {
446
- uvIndices,
447
- polyIndices,
448
- uvs
648
+ uvIndices: uvIndices,
649
+ polyIndices: polyIndices,
650
+ uvs: uvs
449
651
  };
450
652
  } else {
451
- if (!this.currentLayer.uvs)
452
- this.currentLayer.uvs = {};
653
+ if (!this.currentLayer.uvs) this.currentLayer.uvs = {};
453
654
  this.currentLayer.uvs[name] = {
454
- uvIndices,
455
- uvs
655
+ uvIndices: uvIndices,
656
+ uvs: uvs
456
657
  };
457
658
  }
458
659
  },
660
+
459
661
  parseMorphTargets(name, finalOffset, type) {
460
662
  var indices = [];
461
663
  var points = [];
462
- type = type === "MORF" ? "relative" : "absolute";
664
+ type = type === 'MORF' ? 'relative' : 'absolute';
665
+
463
666
  while (this.reader.offset < finalOffset) {
464
- indices.push(this.reader.getVariableLengthIndex());
667
+ indices.push(this.reader.getVariableLengthIndex()); // z -> -z to match three.js right handed coords
668
+
465
669
  points.push(this.reader.getFloat32(), this.reader.getFloat32(), -this.reader.getFloat32());
466
670
  }
467
- if (!this.currentLayer.morphTargets)
468
- this.currentLayer.morphTargets = {};
671
+
672
+ if (!this.currentLayer.morphTargets) this.currentLayer.morphTargets = {};
469
673
  this.currentLayer.morphTargets[name] = {
470
- indices,
471
- points,
472
- type
674
+ indices: indices,
675
+ points: points,
676
+ type: type
473
677
  };
474
678
  },
679
+
680
+ // A list of polygons for the current layer.
681
+ // POLS { type[ID4], ( numvert+flags[U2], vert[VX] # numvert ) * }
475
682
  parsePolygonList(length) {
476
683
  var finalOffset = this.reader.offset + length;
477
684
  var type = this.reader.getIDTag();
478
- var indices = [];
685
+ var indices = []; // hold a list of polygon sizes, to be split up later
686
+
479
687
  var polygonDimensions = [];
688
+
480
689
  while (this.reader.offset < finalOffset) {
481
- var numverts = this.reader.getUint16();
482
- numverts = numverts & 1023;
690
+ var numverts = this.reader.getUint16(); //var flags = numverts & 64512; // 6 high order bits are flags - ignoring for now
691
+
692
+ numverts = numverts & 1023; // remaining ten low order bits are vertex num
693
+
483
694
  polygonDimensions.push(numverts);
484
- for (let j = 0; j < numverts; j++)
485
- indices.push(this.reader.getVariableLengthIndex());
695
+
696
+ for (let j = 0; j < numverts; j++) indices.push(this.reader.getVariableLengthIndex());
486
697
  }
698
+
487
699
  var geometryData = {
488
- type,
700
+ type: type,
489
701
  vertexIndices: indices,
490
- polygonDimensions,
702
+ polygonDimensions: polygonDimensions,
491
703
  points: this.currentPoints
492
- };
493
- if (polygonDimensions[0] === 1)
494
- geometryData.type = "points";
495
- else if (polygonDimensions[0] === 2)
496
- geometryData.type = "lines";
704
+ }; // Note: assuming that all polys will be lines or points if the first is
705
+
706
+ if (polygonDimensions[0] === 1) geometryData.type = 'points';else if (polygonDimensions[0] === 2) geometryData.type = 'lines';
497
707
  this.currentLayer.geometry = geometryData;
498
708
  },
709
+
710
+ // Lists the tag strings that can be associated with polygons by the PTAG chunk.
711
+ // TAGS { tag-string[S0] * }
499
712
  parseTagStrings(length) {
500
713
  this.tree.tags = this.reader.getStringArray(length);
501
714
  },
715
+
716
+ // Associates tags of a given type with polygons in the most recent POLS chunk.
717
+ // PTAG { type[ID4], ( poly[VX], tag[U2] ) * }
502
718
  parsePolygonTagMapping(length) {
503
719
  var finalOffset = this.reader.offset + length;
504
720
  var type = this.reader.getIDTag();
505
- if (type === "SURF") {
721
+
722
+ if (type === 'SURF') {
506
723
  this.parseMaterialIndices(finalOffset);
507
724
  } else {
725
+ //PART, SMGP, COLR not supported
508
726
  this.reader.skip(length - 4);
509
727
  }
510
728
  },
729
+
511
730
  parseMaterialIndices(finalOffset) {
731
+ // array holds polygon index followed by material index
512
732
  this.currentLayer.geometry.materialIndices = [];
733
+
513
734
  while (this.reader.offset < finalOffset) {
514
735
  var polygonIndex = this.reader.getVariableLengthIndex();
515
736
  var materialIndex = this.reader.getUint16();
516
737
  this.currentLayer.geometry.materialIndices.push(polygonIndex, materialIndex);
517
738
  }
518
739
  },
740
+
519
741
  parseUnknownCHUNK(blockID, length) {
520
- console.warn("LWOLoader: unknown chunk type: " + blockID + " length: " + length);
742
+ console.warn('LWOLoader: unknown chunk type: ' + blockID + ' length: ' + length); // print the chunk plus some bytes padding either side
743
+ // printBuffer( this.reader.dv.buffer, this.reader.offset - 20, length + 40 );
744
+
521
745
  var data = this.reader.getString(length);
522
746
  this.currentForm[blockID] = data;
523
747
  }
748
+
524
749
  };
750
+
525
751
  function DataViewReader(buffer) {
526
752
  this.dv = new DataView(buffer);
527
753
  this.offset = 0;
528
754
  }
755
+
529
756
  DataViewReader.prototype = {
530
757
  constructor: DataViewReader,
531
- size: function() {
758
+ size: function () {
532
759
  return this.dv.buffer.byteLength;
533
760
  },
761
+
534
762
  setOffset(offset) {
535
763
  if (offset > 0 && offset < this.dv.buffer.byteLength) {
536
764
  this.offset = offset;
537
765
  } else {
538
- console.error("LWOLoader: invalid buffer offset");
766
+ console.error('LWOLoader: invalid buffer offset');
539
767
  }
540
768
  },
541
- endOfFile: function() {
542
- if (this.offset >= this.size())
543
- return true;
769
+
770
+ endOfFile: function () {
771
+ if (this.offset >= this.size()) return true;
544
772
  return false;
545
773
  },
546
- skip: function(length) {
774
+ skip: function (length) {
547
775
  this.offset += length;
548
776
  },
549
- getUint8: function() {
777
+ getUint8: function () {
550
778
  var value = this.dv.getUint8(this.offset);
551
779
  this.offset += 1;
552
780
  return value;
553
781
  },
554
- getUint16: function() {
782
+ getUint16: function () {
555
783
  var value = this.dv.getUint16(this.offset);
556
784
  this.offset += 2;
557
785
  return value;
558
786
  },
559
- getInt32: function() {
787
+ getInt32: function () {
560
788
  var value = this.dv.getInt32(this.offset, false);
561
789
  this.offset += 4;
562
790
  return value;
563
791
  },
564
- getUint32: function() {
792
+ getUint32: function () {
565
793
  var value = this.dv.getUint32(this.offset, false);
566
794
  this.offset += 4;
567
795
  return value;
568
796
  },
569
- getUint64: function() {
797
+ getUint64: function () {
570
798
  var low, high;
571
799
  high = this.getUint32();
572
800
  low = this.getUint32();
573
- return high * 4294967296 + low;
801
+ return high * 0x100000000 + low;
574
802
  },
575
- getFloat32: function() {
803
+ getFloat32: function () {
576
804
  var value = this.dv.getFloat32(this.offset, false);
577
805
  this.offset += 4;
578
806
  return value;
579
807
  },
580
- getFloat32Array: function(size) {
808
+ getFloat32Array: function (size) {
581
809
  var a = [];
810
+
582
811
  for (let i = 0; i < size; i++) {
583
812
  a.push(this.getFloat32());
584
813
  }
814
+
585
815
  return a;
586
816
  },
587
- getFloat64: function() {
817
+ getFloat64: function () {
588
818
  var value = this.dv.getFloat64(this.offset, this.littleEndian);
589
819
  this.offset += 8;
590
820
  return value;
591
821
  },
592
- getFloat64Array: function(size) {
822
+ getFloat64Array: function (size) {
593
823
  var a = [];
824
+
594
825
  for (let i = 0; i < size; i++) {
595
826
  a.push(this.getFloat64());
596
827
  }
828
+
597
829
  return a;
598
830
  },
831
+
832
+ // get variable-length index data type
833
+ // VX ::= index[U2] | (index + 0xFF000000)[U4]
834
+ // If the index value is less than 65,280 (0xFF00),then VX === U2
835
+ // otherwise VX === U4 with bits 24-31 set
836
+ // When reading an index, if the first byte encountered is 255 (0xFF), then
837
+ // the four-byte form is being used and the first byte should be discarded or masked out.
599
838
  getVariableLengthIndex() {
600
839
  var firstByte = this.getUint8();
840
+
601
841
  if (firstByte === 255) {
602
842
  return this.getUint8() * 65536 + this.getUint8() * 256 + this.getUint8();
603
843
  }
844
+
604
845
  return firstByte * 256 + this.getUint8();
605
846
  },
847
+
848
+ // An ID tag is a sequence of 4 bytes containing 7-bit ASCII values
606
849
  getIDTag() {
607
850
  return this.getString(4);
608
851
  },
609
- getString: function(size) {
610
- if (size === 0)
611
- return;
852
+
853
+ getString: function (size) {
854
+ if (size === 0) return; // note: safari 9 doesn't support Uint8Array.indexOf; create intermediate array instead
855
+
612
856
  var a = [];
857
+
613
858
  if (size) {
614
859
  for (let i = 0; i < size; i++) {
615
860
  a[i] = this.getUint8();
@@ -617,81 +862,90 @@ DataViewReader.prototype = {
617
862
  } else {
618
863
  var currentChar;
619
864
  var len = 0;
865
+
620
866
  while (currentChar !== 0) {
621
867
  currentChar = this.getUint8();
622
- if (currentChar !== 0)
623
- a.push(currentChar);
868
+ if (currentChar !== 0) a.push(currentChar);
624
869
  len++;
625
870
  }
626
- if (!isEven(len + 1))
627
- this.getUint8();
871
+
872
+ if (!isEven(len + 1)) this.getUint8(); // if string with terminating nullbyte is uneven, extra nullbyte is added
628
873
  }
629
- return THREE.LoaderUtils.decodeText(new Uint8Array(a));
874
+
875
+ return LoaderUtils.decodeText(new Uint8Array(a));
630
876
  },
631
- getStringArray: function(size) {
877
+ getStringArray: function (size) {
632
878
  var a = this.getString(size);
633
- a = a.split("\0");
634
- return a.filter(Boolean);
879
+ a = a.split('\0');
880
+ return a.filter(Boolean); // return array with any empty strings removed
635
881
  }
636
- };
882
+ }; // ************** DEBUGGER **************
883
+
637
884
  function Debugger() {
638
885
  this.active = false;
639
886
  this.depth = 0;
640
887
  this.formList = [];
641
888
  }
889
+
642
890
  Debugger.prototype = {
643
891
  constructor: Debugger,
644
- enable: function() {
892
+ enable: function () {
645
893
  this.active = true;
646
894
  },
647
- log: function() {
648
- if (!this.active)
649
- return;
895
+ log: function () {
896
+ if (!this.active) return;
650
897
  var nodeType;
898
+
651
899
  switch (this.node) {
652
900
  case 0:
653
- nodeType = "FORM";
901
+ nodeType = 'FORM';
654
902
  break;
903
+
655
904
  case 1:
656
- nodeType = "CHK";
905
+ nodeType = 'CHK';
657
906
  break;
907
+
658
908
  case 2:
659
- nodeType = "S-CHK";
909
+ nodeType = 'S-CHK';
660
910
  break;
661
911
  }
662
- console.log(
663
- "| ".repeat(this.depth) + nodeType,
664
- this.nodeID,
665
- `( ${this.offset} ) -> ( ${this.dataOffset + this.length} )`,
666
- this.node == 0 ? " {" : "",
667
- this.skipped ? "SKIPPED" : "",
668
- this.node == 0 && this.skipped ? "}" : ""
669
- );
912
+
913
+ console.log('| '.repeat(this.depth) + nodeType, this.nodeID, `( ${this.offset} ) -> ( ${this.dataOffset + this.length} )`, this.node == 0 ? ' {' : '', this.skipped ? 'SKIPPED' : '', this.node == 0 && this.skipped ? '}' : '');
914
+
670
915
  if (this.node == 0 && !this.skipped) {
671
916
  this.depth += 1;
672
917
  this.formList.push(this.dataOffset + this.length);
673
918
  }
919
+
674
920
  this.skipped = false;
675
921
  },
676
- closeForms: function() {
677
- if (!this.active)
678
- return;
922
+ closeForms: function () {
923
+ if (!this.active) return;
924
+
679
925
  for (let i = this.formList.length - 1; i >= 0; i--) {
680
926
  if (this.offset >= this.formList[i]) {
681
927
  this.depth -= 1;
682
- console.log("| ".repeat(this.depth) + "}");
928
+ console.log('| '.repeat(this.depth) + '}');
683
929
  this.formList.splice(-1, 1);
684
930
  }
685
931
  }
686
932
  }
687
- };
933
+ }; // ************** UTILITY FUNCTIONS **************
934
+
688
935
  function isEven(num) {
689
936
  return num % 2;
690
- }
937
+ } // calculate the length of the string in the buffer
938
+ // this will be string.length + nullbyte + optional padbyte to make the length even
939
+
940
+
691
941
  function stringOffset(string) {
692
942
  return string.length + 1 + (isEven(string.length + 1) ? 1 : 0);
693
- }
943
+ } // for testing purposes, dump buffer to console
944
+ // printBuffer( this.reader.dv.buffer, this.reader.offset, length );
945
+
946
+
694
947
  function printBuffer(buffer, from, to) {
695
- console.log(THREE.LoaderUtils.decodeText(new Uint8Array(buffer, from, to)));
948
+ console.log(LoaderUtils.decodeText(new Uint8Array(buffer, from, to)));
696
949
  }
697
- exports.IFFParser = IFFParser;
950
+
951
+ export { IFFParser };