three-stdlib 2.15.1 → 2.16.0

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