three-stdlib 2.16.0 → 2.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1219) hide show
  1. package/BufferGeometryUtils-1a7a235c.js +655 -0
  2. package/BufferGeometryUtils-971dfde3.js +1 -0
  3. package/Nodes-4f766d71.js +471 -0
  4. package/Nodes-9aa16d74.js +1 -0
  5. package/animation/AnimationClipCreator.cjs.js +1 -0
  6. package/animation/AnimationClipCreator.js +52 -32
  7. package/animation/CCDIKSolver.cjs.js +1 -0
  8. package/animation/CCDIKSolver.js +143 -64
  9. package/animation/MMDAnimationHelper.cjs.js +1 -0
  10. package/animation/MMDAnimationHelper.js +341 -150
  11. package/animation/MMDPhysics.cjs.js +1 -0
  12. package/animation/MMDPhysics.js +361 -154
  13. package/cameras/CinematicCamera.cjs.js +1 -0
  14. package/cameras/CinematicCamera.js +77 -67
  15. package/controls/ArcballControls.cjs.js +1 -0
  16. package/controls/ArcballControls.js +1449 -544
  17. package/controls/DeviceOrientationControls.cjs.js +1 -0
  18. package/controls/DeviceOrientationControls.js +97 -52
  19. package/controls/DragControls.cjs.js +1 -0
  20. package/controls/DragControls.js +187 -85
  21. package/controls/FirstPersonControls.cjs.js +1 -0
  22. package/controls/FirstPersonControls.js +193 -123
  23. package/controls/FlyControls.cjs.js +1 -0
  24. package/controls/FlyControls.d.ts +5 -4
  25. package/controls/FlyControls.js +160 -90
  26. package/controls/OrbitControls.cjs.js +1 -0
  27. package/controls/OrbitControls.js +481 -232
  28. package/controls/PointerLockControls.cjs.js +1 -0
  29. package/controls/PointerLockControls.js +99 -63
  30. package/controls/TrackballControls.cjs.js +1 -0
  31. package/controls/TrackballControls.js +383 -211
  32. package/controls/TransformControls.cjs.js +1 -0
  33. package/controls/TransformControls.js +782 -575
  34. package/controls/experimental/CameraControls.cjs.js +1 -0
  35. package/controls/experimental/CameraControls.js +609 -329
  36. package/csm/CSM.cjs.js +1 -0
  37. package/csm/CSM.js +108 -47
  38. package/csm/CSMFrustum.cjs.js +1 -0
  39. package/csm/CSMFrustum.js +29 -14
  40. package/csm/CSMHelper.cjs.js +1 -0
  41. package/csm/CSMHelper.js +34 -20
  42. package/csm/CSMShader.cjs.js +1 -0
  43. package/csm/CSMShader.js +11 -7
  44. package/curves/CurveExtras.cjs.js +1 -0
  45. package/curves/CurveExtras.js +115 -73
  46. package/curves/NURBSCurve.cjs.js +1 -0
  47. package/curves/NURBSCurve.js +43 -15
  48. package/curves/NURBSSurface.cjs.js +1 -0
  49. package/curves/NURBSSurface.js +27 -11
  50. package/curves/NURBSUtils.cjs.js +1 -0
  51. package/curves/NURBSUtils.js +203 -54
  52. package/custom.d.cjs.js +1 -0
  53. package/{shaders/types.mjs → custom.d.js} +0 -0
  54. package/deprecated/Geometry.cjs.js +1 -0
  55. package/deprecated/Geometry.js +486 -191
  56. package/effects/AnaglyphEffect.cjs.js +1 -0
  57. package/effects/AnaglyphEffect.js +60 -95
  58. package/effects/AsciiEffect.cjs.js +1 -0
  59. package/effects/AsciiEffect.js +110 -80
  60. package/effects/OutlineEffect.cjs.js +1 -0
  61. package/effects/OutlineEffect.js +204 -121
  62. package/effects/ParallaxBarrierEffect.cjs.js +1 -0
  63. package/effects/ParallaxBarrierEffect.js +38 -39
  64. package/effects/PeppersGhostEffect.cjs.js +1 -0
  65. package/effects/PeppersGhostEffect.js +68 -19
  66. package/effects/StereoEffect.cjs.js +1 -0
  67. package/effects/StereoEffect.js +16 -12
  68. package/environments/RoomEnvironment.cjs.js +1 -0
  69. package/environments/RoomEnvironment.js +47 -52
  70. package/exporters/ColladaExporter.cjs.js +1 -0
  71. package/exporters/ColladaExporter.js +241 -115
  72. package/exporters/DRACOExporter.cjs.js +1 -0
  73. package/exporters/DRACOExporter.js +121 -67
  74. package/exporters/GLTFExporter.cjs.js +1 -0
  75. package/exporters/GLTFExporter.js +1014 -463
  76. package/exporters/MMDExporter.cjs.js +1 -0
  77. package/exporters/MMDExporter.js +102 -44
  78. package/exporters/OBJExporter.cjs.js +1 -0
  79. package/exporters/OBJExporter.js +140 -78
  80. package/exporters/PLYExporter.cjs.js +1 -0
  81. package/exporters/PLYExporter.js +154 -93
  82. package/exporters/STLExporter.cjs.js +1 -0
  83. package/exporters/STLExporter.js +81 -30
  84. package/exporters/USDZExporter.cjs.js +1 -0
  85. package/exporters/USDZExporter.js +144 -84
  86. package/geometries/BoxLineGeometry.cjs.js +1 -0
  87. package/geometries/BoxLineGeometry.js +14 -7
  88. package/geometries/ConvexGeometry.cjs.js +1 -0
  89. package/geometries/ConvexGeometry.js +23 -14
  90. package/geometries/DecalGeometry.cjs.js +1 -0
  91. package/geometries/DecalGeometry.js +162 -108
  92. package/geometries/LightningStrike.cjs.js +1 -0
  93. package/geometries/LightningStrike.js +294 -101
  94. package/geometries/ParametricGeometries.cjs.js +1 -0
  95. package/geometries/ParametricGeometries.js +76 -26
  96. package/geometries/ParametricGeometry.cjs.js +1 -0
  97. package/geometries/ParametricGeometry.js +48 -24
  98. package/geometries/RoundedBoxGeometry.cjs.js +1 -0
  99. package/geometries/RoundedBoxGeometry.js +64 -33
  100. package/geometries/TeapotGeometry.cjs.js +1 -0
  101. package/geometries/TeapotGeometry.js +174 -1434
  102. package/geometries/TextGeometry.cjs.js +1 -0
  103. package/geometries/TextGeometry.js +17 -9
  104. package/helpers/LightProbeHelper.cjs.js +1 -0
  105. package/helpers/LightProbeHelper.js +21 -53
  106. package/helpers/PositionalAudioHelper.cjs.js +1 -0
  107. package/helpers/PositionalAudioHelper.js +30 -23
  108. package/helpers/RectAreaLightHelper.cjs.js +1 -0
  109. package/helpers/RectAreaLightHelper.js +33 -17
  110. package/helpers/VertexNormalsHelper.cjs.js +1 -0
  111. package/helpers/VertexNormalsHelper.js +41 -20
  112. package/helpers/VertexTangentsHelper.cjs.js +1 -0
  113. package/helpers/VertexTangentsHelper.js +36 -18
  114. package/index.cjs.js +1 -0
  115. package/index.js +333 -969
  116. package/interactive/InteractiveGroup.cjs.js +1 -0
  117. package/interactive/InteractiveGroup.d.ts +5 -0
  118. package/interactive/InteractiveGroup.js +87 -0
  119. package/interactive/SelectionBox.cjs.js +1 -0
  120. package/interactive/SelectionBox.js +46 -31
  121. package/interactive/SelectionHelper.cjs.js +1 -0
  122. package/interactive/SelectionHelper.js +21 -16
  123. package/libs/MeshoptDecoder.cjs.js +1 -0
  124. package/libs/MeshoptDecoder.js +58 -147
  125. package/libs/MotionControllers.cjs.js +1 -0
  126. package/libs/MotionControllers.js +208 -66
  127. package/lights/LightProbeGenerator.cjs.js +1 -0
  128. package/lights/LightProbeGenerator.js +96 -40
  129. package/lights/RectAreaLightUniformsLib.cjs.js +1 -0
  130. package/lights/RectAreaLightUniformsLib.js +9 -32842
  131. package/lines/Line2.cjs.js +1 -0
  132. package/lines/Line2.js +12 -9
  133. package/lines/LineGeometry.cjs.js +1 -0
  134. package/lines/LineGeometry.js +19 -7
  135. package/lines/LineMaterial.cjs.js +1 -0
  136. package/lines/LineMaterial.js +89 -51
  137. package/lines/LineSegments2.cjs.js +1 -0
  138. package/lines/LineSegments2.js +165 -56
  139. package/lines/LineSegmentsGeometry.cjs.js +1 -0
  140. package/lines/LineSegmentsGeometry.js +71 -29
  141. package/lines/Wireframe.cjs.js +1 -0
  142. package/lines/Wireframe.js +29 -15
  143. package/lines/WireframeGeometry2.cjs.js +1 -0
  144. package/lines/WireframeGeometry2.js +9 -8
  145. package/loaders/3DMLoader.cjs.js +1 -0
  146. package/loaders/3DMLoader.js +469 -234
  147. package/loaders/3MFLoader.cjs.js +1 -0
  148. package/loaders/3MFLoader.js +555 -340
  149. package/loaders/AMFLoader.cjs.js +1 -0
  150. package/loaders/AMFLoader.js +219 -114
  151. package/loaders/AssimpLoader.cjs.js +1 -0
  152. package/loaders/AssimpLoader.js +725 -328
  153. package/loaders/BVHLoader.cjs.js +1 -0
  154. package/loaders/BVHLoader.js +200 -94
  155. package/loaders/BasisTextureLoader.cjs.js +1 -0
  156. package/loaders/BasisTextureLoader.js +357 -229
  157. package/loaders/ColladaLoader.cjs.js +1 -0
  158. package/loaders/ColladaLoader.js +1522 -932
  159. package/loaders/DDSLoader.cjs.js +1 -0
  160. package/loaders/DDSLoader.js +108 -42
  161. package/loaders/DRACOLoader.cjs.js +1 -0
  162. package/loaders/DRACOLoader.js +210 -103
  163. package/loaders/EXRLoader.cjs.js +1 -0
  164. package/loaders/EXRLoader.js +809 -461
  165. package/loaders/FBXLoader.cjs.js +1 -0
  166. package/loaders/FBXLoader.js +1397 -842
  167. package/loaders/FontLoader.cjs.js +1 -0
  168. package/loaders/FontLoader.js +66 -33
  169. package/loaders/GCodeLoader.cjs.js +1 -0
  170. package/loaders/GCodeLoader.js +111 -63
  171. package/loaders/GLTFLoader.cjs.js +1 -0
  172. package/loaders/GLTFLoader.js +1484 -771
  173. package/loaders/HDRCubeTextureLoader.cjs.js +1 -0
  174. package/loaders/HDRCubeTextureLoader.js +50 -45
  175. package/loaders/KMZLoader.cjs.js +1 -0
  176. package/loaders/KMZLoader.js +55 -42
  177. package/loaders/KTX2Loader.cjs.js +1 -0
  178. package/loaders/KTX2Loader.js +362 -229
  179. package/loaders/KTXLoader.cjs.js +1 -0
  180. package/loaders/KTXLoader.js +99 -37
  181. package/loaders/LDrawLoader.cjs.js +1 -0
  182. package/loaders/LDrawLoader.js +746 -313
  183. package/loaders/LUT3dlLoader.cjs.js +1 -0
  184. package/loaders/LUT3dlLoader.js +62 -50
  185. package/loaders/LUTCubeLoader.cjs.js +1 -0
  186. package/loaders/LUTCubeLoader.js +56 -45
  187. package/loaders/LWOLoader.cjs.js +1 -0
  188. package/loaders/LWOLoader.js +339 -227
  189. package/loaders/LottieLoader.cjs.js +1 -0
  190. package/loaders/LottieLoader.js +38 -36
  191. package/loaders/MD2Loader.cjs.js +1 -0
  192. package/loaders/MD2Loader.js +91 -248
  193. package/loaders/MDDLoader.cjs.js +1 -0
  194. package/loaders/MDDLoader.js +45 -25
  195. package/loaders/MMDLoader.cjs.js +1 -0
  196. package/loaders/MMDLoader.js +795 -359
  197. package/loaders/MTLLoader.cjs.js +1 -0
  198. package/loaders/MTLLoader.js +201 -91
  199. package/loaders/NRRDLoader.cjs.js +1 -0
  200. package/loaders/NRRDLoader.js +263 -182
  201. package/loaders/NodeMaterialLoader.cjs.js +1 -0
  202. package/loaders/NodeMaterialLoader.js +14 -121
  203. package/loaders/OBJLoader.cjs.js +1 -0
  204. package/loaders/OBJLoader.js +283 -161
  205. package/loaders/PCDLoader.cjs.js +1 -0
  206. package/loaders/PCDLoader.js +164 -145
  207. package/loaders/PDBLoader.cjs.js +1 -0
  208. package/loaders/PDBLoader.js +63 -45
  209. package/loaders/PLYLoader.cjs.js +1 -0
  210. package/loaders/PLYLoader.js +203 -106
  211. package/loaders/PRWMLoader.cjs.js +1 -0
  212. package/loaders/PRWMLoader.js +110 -73
  213. package/loaders/PVRLoader.cjs.js +1 -0
  214. package/loaders/PVRLoader.js +93 -32
  215. package/loaders/RGBELoader.cjs.js +1 -0
  216. package/loaders/RGBELoader.js +233 -96
  217. package/loaders/RGBMLoader.cjs.js +1 -0
  218. package/loaders/RGBMLoader.js +514 -344
  219. package/loaders/STLLoader.cjs.js +1 -0
  220. package/loaders/STLLoader.js +165 -59
  221. package/loaders/SVGLoader.cjs.js +1 -0
  222. package/loaders/SVGLoader.js +851 -481
  223. package/loaders/TDSLoader.cjs.js +1 -0
  224. package/loaders/TDSLoader.js +527 -137
  225. package/loaders/TGALoader.cjs.js +1 -0
  226. package/loaders/TGALoader.js +205 -94
  227. package/loaders/TTFLoader.cjs.js +1 -0
  228. package/loaders/TTFLoader.js +79 -58
  229. package/loaders/TiltLoader.cjs.js +1 -0
  230. package/loaders/TiltLoader.js +167 -129
  231. package/loaders/VOXLoader.cjs.js +1 -0
  232. package/loaders/VOXLoader.js +84 -320
  233. package/loaders/VRMLLoader.cjs.js +1 -0
  234. package/loaders/VRMLLoader.js +1268 -786
  235. package/loaders/VRMLoader.cjs.js +1 -0
  236. package/loaders/VRMLoader.js +31 -23
  237. package/loaders/VTKLoader.cjs.js +1 -0
  238. package/loaders/VTKLoader.js +407 -219
  239. package/loaders/XLoader.cjs.js +1 -0
  240. package/loaders/XLoader.js +1259 -1083
  241. package/loaders/XYZLoader.cjs.js +1 -0
  242. package/loaders/XYZLoader.js +34 -28
  243. package/loaders/lwo/IFFParser.cjs.js +1 -0
  244. package/loaders/lwo/IFFParser.js +492 -238
  245. package/loaders/lwo/LWO2Parser.cjs.js +1 -0
  246. package/loaders/lwo/LWO2Parser.js +279 -176
  247. package/loaders/lwo/LWO3Parser.cjs.js +1 -0
  248. package/loaders/lwo/LWO3Parser.js +247 -160
  249. package/math/Capsule.cjs.js +1 -0
  250. package/math/Capsule.js +43 -56
  251. package/math/ColorConverter.cjs.js +1 -0
  252. package/math/ColorConverter.js +32 -18
  253. package/math/ConvexHull.cjs.js +1 -0
  254. package/math/ConvexHull.js +357 -97
  255. package/math/ImprovedNoise.cjs.js +1 -0
  256. package/math/ImprovedNoise.js +32 -282
  257. package/math/Lut.cjs.js +1 -0
  258. package/math/Lut.js +35 -51
  259. package/math/MeshSurfaceSampler.cjs.js +1 -0
  260. package/math/MeshSurfaceSampler.js +68 -25
  261. package/math/OBB.cjs.js +1 -0
  262. package/math/OBB.js +152 -91
  263. package/math/Octree.cjs.js +1 -0
  264. package/math/Octree.js +139 -76
  265. package/math/SimplexNoise.cjs.js +1 -0
  266. package/math/SimplexNoise.js +238 -217
  267. package/misc/ConvexObjectBreaker.cjs.js +1 -0
  268. package/misc/ConvexObjectBreaker.js +185 -79
  269. package/misc/GPUComputationRenderer.cjs.js +1 -0
  270. package/misc/GPUComputationRenderer.js +194 -69
  271. package/misc/Gyroscope.cjs.js +1 -0
  272. package/misc/Gyroscope.js +22 -16
  273. package/misc/MD2Character.cjs.js +1 -0
  274. package/misc/MD2Character.js +74 -52
  275. package/misc/MD2CharacterComplex.cjs.js +1 -0
  276. package/misc/MD2CharacterComplex.js +163 -112
  277. package/misc/MorphAnimMesh.cjs.js +1 -0
  278. package/misc/MorphAnimMesh.js +28 -20
  279. package/misc/MorphBlendMesh.cjs.js +1 -0
  280. package/misc/MorphBlendMesh.js +69 -45
  281. package/misc/ProgressiveLightmap.cjs.js +1 -0
  282. package/misc/ProgressiveLightmap.js +187 -70
  283. package/misc/RollerCoaster.cjs.js +1 -0
  284. package/misc/RollerCoaster.js +135 -106
  285. package/misc/TubePainter.cjs.js +1 -0
  286. package/misc/TubePainter.js +92 -74
  287. package/misc/Volume.cjs.js +1 -0
  288. package/misc/Volume.js +270 -108
  289. package/misc/VolumeSlice.cjs.js +1 -0
  290. package/misc/VolumeSlice.js +122 -34
  291. package/misc/WebGL.cjs.js +1 -0
  292. package/misc/WebGL.js +34 -37
  293. package/modifiers/CurveModifier.cjs.js +1 -0
  294. package/modifiers/CurveModifier.js +151 -46
  295. package/modifiers/EdgeSplitModifier.cjs.js +1 -0
  296. package/modifiers/EdgeSplitModifier.js +90 -46
  297. package/modifiers/SimplifyModifier.cjs.js +1 -0
  298. package/modifiers/SimplifyModifier.js +202 -77
  299. package/modifiers/TessellateModifier.cjs.js +1 -0
  300. package/modifiers/TessellateModifier.js +90 -65
  301. package/nodes/Nodes.cjs.js +1 -0
  302. package/nodes/Nodes.js +140 -274
  303. package/nodes/ShaderNode.cjs.js +1 -0
  304. package/nodes/ShaderNode.js +196 -296
  305. package/nodes/accessors/BufferNode.cjs.js +1 -0
  306. package/nodes/accessors/BufferNode.js +8 -4
  307. package/nodes/accessors/CameraNode.cjs.js +1 -0
  308. package/nodes/accessors/CameraNode.js +25 -20
  309. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  310. package/nodes/accessors/CubeTextureNode.js +26 -14
  311. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  312. package/nodes/accessors/MaterialNode.js +53 -43
  313. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  314. package/nodes/accessors/MaterialReferenceNode.js +6 -3
  315. package/nodes/accessors/ModelNode.cjs.js +1 -0
  316. package/nodes/accessors/ModelNode.js +5 -3
  317. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  318. package/nodes/accessors/ModelViewProjectionNode.js +13 -14
  319. package/nodes/accessors/NormalNode.cjs.js +1 -0
  320. package/nodes/accessors/NormalNode.js +39 -40
  321. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  322. package/nodes/accessors/Object3DNode.js +50 -40
  323. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  324. package/nodes/accessors/PointUVNode.js +9 -5
  325. package/nodes/accessors/PositionNode.cjs.js +1 -0
  326. package/nodes/accessors/PositionNode.js +41 -42
  327. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  328. package/nodes/accessors/ReferenceNode.js +17 -10
  329. package/nodes/accessors/ReflectNode.cjs.js +1 -0
  330. package/nodes/accessors/ReflectNode.js +26 -23
  331. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  332. package/nodes/accessors/SkinningNode.js +48 -46
  333. package/nodes/accessors/TextureNode.cjs.js +1 -0
  334. package/nodes/accessors/TextureNode.js +29 -14
  335. package/nodes/accessors/UVNode.cjs.js +1 -0
  336. package/nodes/accessors/UVNode.js +11 -5
  337. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  338. package/nodes/core/ArrayUniformNode.js +7 -3
  339. package/nodes/core/AttributeNode.cjs.js +1 -0
  340. package/nodes/core/AttributeNode.js +12 -5
  341. package/nodes/core/BypassNode.cjs.js +1 -0
  342. package/nodes/core/BypassNode.js +12 -5
  343. package/nodes/core/CodeNode.cjs.js +1 -0
  344. package/nodes/core/CodeNode.js +12 -4
  345. package/nodes/core/ConstNode.cjs.js +1 -0
  346. package/nodes/core/ConstNode.js +7 -3
  347. package/nodes/core/ContextNode.cjs.js +1 -0
  348. package/nodes/core/ContextNode.js +8 -3
  349. package/nodes/core/ExpressionNode.cjs.js +1 -0
  350. package/nodes/core/ExpressionNode.js +9 -5
  351. package/nodes/core/FunctionCallNode.cjs.js +1 -0
  352. package/nodes/core/FunctionCallNode.js +15 -6
  353. package/nodes/core/FunctionNode.cjs.js +1 -0
  354. package/nodes/core/FunctionNode.js +25 -10
  355. package/nodes/core/InputNode.cjs.js +1 -0
  356. package/nodes/core/InputNode.js +23 -12
  357. package/nodes/core/Node.cjs.js +1 -0
  358. package/nodes/core/Node.js +75 -35
  359. package/nodes/core/NodeAttribute.cjs.js +1 -0
  360. package/nodes/core/NodeAttribute.js +4 -2
  361. package/nodes/core/NodeBuilder.cjs.js +1 -0
  362. package/nodes/core/NodeBuilder.js +224 -110
  363. package/nodes/core/NodeCode.cjs.js +1 -0
  364. package/nodes/core/NodeCode.js +7 -4
  365. package/nodes/core/NodeFrame.cjs.js +1 -0
  366. package/nodes/core/NodeFrame.js +12 -9
  367. package/nodes/core/NodeFunction.cjs.js +1 -0
  368. package/nodes/core/NodeFunction.js +17 -0
  369. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  370. package/nodes/core/NodeFunctionInput.js +5 -3
  371. package/nodes/core/NodeKeywords.cjs.js +1 -0
  372. package/nodes/core/NodeKeywords.js +16 -5
  373. package/nodes/core/NodeParser.cjs.js +1 -0
  374. package/nodes/core/NodeParser.js +8 -0
  375. package/nodes/core/NodeUniform.cjs.js +1 -0
  376. package/nodes/core/NodeUniform.js +7 -3
  377. package/nodes/core/NodeUtils.cjs.js +1 -0
  378. package/nodes/core/NodeUtils.js +43 -39
  379. package/nodes/core/NodeVar.cjs.js +1 -0
  380. package/nodes/core/NodeVar.js +4 -2
  381. package/nodes/core/NodeVary.cjs.js +1 -0
  382. package/nodes/core/NodeVary.js +4 -2
  383. package/nodes/core/PropertyNode.cjs.js +1 -0
  384. package/nodes/core/PropertyNode.js +10 -4
  385. package/nodes/core/TempNode.cjs.js +1 -0
  386. package/nodes/core/TempNode.js +11 -5
  387. package/nodes/core/UniformNode.cjs.js +1 -0
  388. package/nodes/core/UniformNode.js +10 -4
  389. package/nodes/core/VarNode.cjs.js +1 -0
  390. package/nodes/core/VarNode.js +11 -3
  391. package/nodes/core/VaryNode.cjs.js +1 -0
  392. package/nodes/core/VaryNode.js +15 -6
  393. package/nodes/core/constants.cjs.js +1 -0
  394. package/nodes/core/constants.js +7 -20
  395. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  396. package/nodes/display/ColorSpaceNode.js +38 -34
  397. package/nodes/display/NormalMapNode.cjs.js +1 -0
  398. package/nodes/display/NormalMapNode.js +53 -35
  399. package/nodes/fog/FogNode.cjs.js +1 -0
  400. package/nodes/fog/FogNode.js +9 -5
  401. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  402. package/nodes/fog/FogRangeNode.js +9 -5
  403. package/nodes/functions/BSDFs.cjs.js +1 -0
  404. package/nodes/functions/BSDFs.js +118 -61
  405. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  406. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  407. package/nodes/lights/LightContextNode.cjs.js +1 -0
  408. package/nodes/lights/LightContextNode.js +23 -14
  409. package/nodes/lights/LightNode.cjs.js +1 -0
  410. package/nodes/lights/LightNode.js +31 -27
  411. package/nodes/lights/LightsNode.cjs.js +1 -0
  412. package/nodes/lights/LightsNode.js +28 -9
  413. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  414. package/nodes/loaders/NodeLoader.js +42 -27
  415. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  416. package/nodes/loaders/NodeMaterialLoader.js +10 -4
  417. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  418. package/nodes/loaders/NodeObjectLoader.js +19 -9
  419. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  420. package/nodes/materials/LineBasicNodeMaterial.js +10 -5
  421. package/nodes/materials/Materials.cjs.js +1 -0
  422. package/nodes/materials/Materials.js +17 -14
  423. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  424. package/nodes/materials/MeshBasicNodeMaterial.js +10 -5
  425. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -0
  426. package/nodes/materials/MeshStandardNodeMaterial.js +8 -5
  427. package/nodes/materials/NodeMaterial.cjs.js +1 -0
  428. package/nodes/materials/NodeMaterial.js +36 -20
  429. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  430. package/nodes/materials/PointsNodeMaterial.js +10 -5
  431. package/nodes/math/CondNode.cjs.js +1 -0
  432. package/nodes/math/CondNode.js +23 -11
  433. package/nodes/math/MathNode.cjs.js +1 -0
  434. package/nodes/math/MathNode.js +142 -98
  435. package/nodes/math/OperatorNode.cjs.js +1 -0
  436. package/nodes/math/OperatorNode.js +46 -24
  437. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  438. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  439. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  440. package/nodes/parsers/GLSLNodeParser.js +13 -0
  441. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  442. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  443. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  444. package/nodes/parsers/WGSLNodeParser.js +13 -0
  445. package/nodes/procedural/CheckerNode.cjs.js +1 -0
  446. package/nodes/procedural/CheckerNode.js +19 -13
  447. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  448. package/nodes/utils/ArrayElementNode.js +8 -4
  449. package/nodes/utils/ConvertNode.cjs.js +1 -0
  450. package/nodes/utils/ConvertNode.js +8 -3
  451. package/nodes/utils/JoinNode.cjs.js +1 -0
  452. package/nodes/utils/JoinNode.js +11 -7
  453. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  454. package/nodes/utils/MatcapUVNode.js +11 -8
  455. package/nodes/utils/OscNode.cjs.js +1 -0
  456. package/nodes/utils/OscNode.js +33 -27
  457. package/nodes/utils/SplitNode.cjs.js +1 -0
  458. package/nodes/utils/SplitNode.js +20 -6
  459. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  460. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  461. package/nodes/utils/TimerNode.cjs.js +1 -0
  462. package/nodes/utils/TimerNode.js +24 -20
  463. package/objects/GroundProjectedEnv.cjs.js +1 -0
  464. package/objects/GroundProjectedEnv.js +37 -22
  465. package/objects/Lensflare.cjs.js +1 -0
  466. package/objects/Lensflare.js +156 -86
  467. package/objects/LightningStorm.cjs.js +1 -0
  468. package/objects/LightningStorm.js +102 -38
  469. package/objects/MarchingCubes.cjs.js +1 -0
  470. package/objects/MarchingCubes.js +303 -150
  471. package/objects/Reflector.cjs.js +1 -0
  472. package/objects/Reflector.js +72 -50
  473. package/objects/ReflectorForSSRPass.cjs.js +1 -0
  474. package/objects/ReflectorForSSRPass.js +131 -80
  475. package/objects/ReflectorRTT.cjs.js +1 -0
  476. package/objects/ReflectorRTT.js +7 -6
  477. package/objects/Refractor.cjs.js +1 -0
  478. package/objects/Refractor.js +106 -64
  479. package/objects/ShadowMesh.cjs.js +1 -0
  480. package/objects/ShadowMesh.js +17 -8
  481. package/objects/Sky.cjs.js +1 -0
  482. package/objects/Sky.js +80 -119
  483. package/objects/Water.cjs.js +1 -0
  484. package/objects/Water.js +127 -83
  485. package/objects/Water2.cjs.js +1 -0
  486. package/objects/Water2.js +108 -72
  487. package/offscreen/jank.cjs.js +1 -0
  488. package/offscreen/jank.js +14 -10
  489. package/offscreen/offscreen.cjs.js +1 -0
  490. package/offscreen/offscreen.js +5 -4
  491. package/offscreen/scene.cjs.js +1 -0
  492. package/offscreen/scene.js +48 -45
  493. package/package.json +3 -3
  494. package/physics/AmmoPhysics.cjs.js +1 -0
  495. package/physics/AmmoPhysics.js +71 -30
  496. package/postprocessing/AdaptiveToneMappingPass.cjs.js +1 -0
  497. package/postprocessing/AdaptiveToneMappingPass.js +123 -97
  498. package/postprocessing/AfterimagePass.cjs.js +1 -0
  499. package/postprocessing/AfterimagePass.js +49 -28
  500. package/postprocessing/BloomPass.cjs.js +1 -0
  501. package/postprocessing/BloomPass.js +69 -43
  502. package/postprocessing/BokehPass.cjs.js +1 -0
  503. package/postprocessing/BokehPass.js +69 -39
  504. package/postprocessing/ClearPass.cjs.js +1 -0
  505. package/postprocessing/ClearPass.js +25 -10
  506. package/postprocessing/CubeTexturePass.cjs.js +1 -0
  507. package/postprocessing/CubeTexturePass.js +27 -28
  508. package/postprocessing/DotScreenPass.cjs.js +1 -0
  509. package/postprocessing/DotScreenPass.js +32 -24
  510. package/postprocessing/EffectComposer.cjs.js +1 -0
  511. package/postprocessing/EffectComposer.js +86 -39
  512. package/postprocessing/FilmPass.cjs.js +1 -0
  513. package/postprocessing/FilmPass.js +30 -25
  514. package/postprocessing/GlitchPass.cjs.js +1 -0
  515. package/postprocessing/GlitchPass.js +61 -38
  516. package/postprocessing/HalftonePass.cjs.js +1 -0
  517. package/postprocessing/HalftonePass.js +39 -19
  518. package/postprocessing/LUTPass.cjs.js +1 -0
  519. package/postprocessing/LUTPass.js +38 -13
  520. package/postprocessing/MaskPass.cjs.js +1 -0
  521. package/postprocessing/MaskPass.js +38 -19
  522. package/postprocessing/OutlinePass.cjs.js +1 -0
  523. package/postprocessing/OutlinePass.js +277 -135
  524. package/postprocessing/Pass.cjs.js +1 -0
  525. package/postprocessing/Pass.js +44 -20
  526. package/postprocessing/RenderPass.cjs.js +1 -0
  527. package/postprocessing/RenderPass.js +36 -13
  528. package/postprocessing/RenderPixelatedPass.cjs.js +1 -0
  529. package/postprocessing/RenderPixelatedPass.js +58 -44
  530. package/postprocessing/SAOPass.cjs.js +1 -0
  531. package/postprocessing/SAOPass.js +189 -154
  532. package/postprocessing/SMAAPass.cjs.js +1 -0
  533. package/postprocessing/SMAAPass.js +84 -64
  534. package/postprocessing/SSAARenderPass.cjs.js +1 -0
  535. package/postprocessing/SSAARenderPass.js +69 -121
  536. package/postprocessing/SSAOPass.cjs.js +1 -0
  537. package/postprocessing/SSAOPass.js +172 -123
  538. package/postprocessing/SSRPass.cjs.js +1 -0
  539. package/postprocessing/SSRPass.js +280 -211
  540. package/postprocessing/SavePass.cjs.js +1 -0
  541. package/postprocessing/SavePass.js +25 -20
  542. package/postprocessing/ShaderPass.cjs.js +1 -0
  543. package/postprocessing/ShaderPass.js +30 -14
  544. package/postprocessing/TAARenderPass.cjs.js +1 -0
  545. package/postprocessing/TAARenderPass.js +61 -42
  546. package/postprocessing/TexturePass.cjs.js +1 -0
  547. package/postprocessing/TexturePass.js +22 -21
  548. package/postprocessing/UnrealBloomPass.cjs.js +1 -0
  549. package/postprocessing/UnrealBloomPass.js +213 -105
  550. package/renderers/CSS2DRenderer.cjs.js +1 -0
  551. package/renderers/CSS2DRenderer.js +56 -44
  552. package/renderers/CSS3DRenderer.cjs.js +1 -0
  553. package/renderers/CSS3DRenderer.js +86 -53
  554. package/renderers/Projector.cjs.js +1 -0
  555. package/renderers/Projector.js +274 -107
  556. package/renderers/SVGRenderer.cjs.js +1 -0
  557. package/renderers/SVGRenderer.js +182 -72
  558. package/renderers/nodes/accessors/CameraNode.cjs.js +1 -0
  559. package/renderers/nodes/accessors/CameraNode.js +40 -29
  560. package/renderers/nodes/accessors/ModelNode.cjs.js +1 -0
  561. package/renderers/nodes/accessors/ModelNode.js +37 -28
  562. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  563. package/renderers/nodes/accessors/ModelViewProjectionNode.js +23 -10
  564. package/renderers/nodes/accessors/NormalNode.cjs.js +1 -0
  565. package/renderers/nodes/accessors/NormalNode.js +45 -35
  566. package/renderers/nodes/accessors/PositionNode.cjs.js +1 -0
  567. package/renderers/nodes/accessors/PositionNode.js +19 -18
  568. package/renderers/nodes/accessors/UVNode.cjs.js +1 -0
  569. package/renderers/nodes/accessors/UVNode.js +10 -5
  570. package/renderers/nodes/core/AttributeNode.cjs.js +1 -0
  571. package/renderers/nodes/core/AttributeNode.js +14 -5
  572. package/renderers/nodes/core/InputNode.cjs.js +1 -0
  573. package/renderers/nodes/core/InputNode.js +14 -4
  574. package/renderers/nodes/core/Node.cjs.js +1 -0
  575. package/renderers/nodes/core/Node.js +17 -7
  576. package/renderers/nodes/core/NodeAttribute.cjs.js +1 -0
  577. package/renderers/nodes/core/NodeAttribute.js +6 -3
  578. package/renderers/nodes/core/NodeBuilder.cjs.js +1 -0
  579. package/renderers/nodes/core/NodeBuilder.js +154 -87
  580. package/renderers/nodes/core/NodeFrame.cjs.js +1 -0
  581. package/renderers/nodes/core/NodeFrame.js +12 -9
  582. package/renderers/nodes/core/NodeSlot.cjs.js +1 -0
  583. package/renderers/nodes/core/NodeSlot.js +3 -2
  584. package/renderers/nodes/core/NodeUniform.cjs.js +1 -0
  585. package/renderers/nodes/core/NodeUniform.js +9 -4
  586. package/renderers/nodes/core/NodeVary.cjs.js +1 -0
  587. package/renderers/nodes/core/NodeVary.js +7 -4
  588. package/renderers/nodes/core/VaryNode.cjs.js +1 -0
  589. package/renderers/nodes/core/VaryNode.js +12 -6
  590. package/renderers/nodes/core/constants.cjs.js +1 -0
  591. package/renderers/nodes/core/constants.js +13 -16
  592. package/renderers/nodes/inputs/ColorNode.cjs.js +1 -0
  593. package/renderers/nodes/inputs/ColorNode.js +11 -5
  594. package/renderers/nodes/inputs/FloatNode.cjs.js +1 -0
  595. package/renderers/nodes/inputs/FloatNode.js +11 -5
  596. package/renderers/nodes/inputs/Matrix3Node.cjs.js +1 -0
  597. package/renderers/nodes/inputs/Matrix3Node.js +13 -7
  598. package/renderers/nodes/inputs/Matrix4Node.cjs.js +1 -0
  599. package/renderers/nodes/inputs/Matrix4Node.js +13 -7
  600. package/renderers/nodes/inputs/TextureNode.cjs.js +1 -0
  601. package/renderers/nodes/inputs/TextureNode.js +15 -7
  602. package/renderers/nodes/inputs/Vector2Node.cjs.js +1 -0
  603. package/renderers/nodes/inputs/Vector2Node.js +11 -5
  604. package/renderers/nodes/inputs/Vector3Node.cjs.js +1 -0
  605. package/renderers/nodes/inputs/Vector3Node.js +13 -7
  606. package/renderers/nodes/inputs/Vector4Node.cjs.js +1 -0
  607. package/renderers/nodes/inputs/Vector4Node.js +13 -7
  608. package/renderers/nodes/math/MathNode.cjs.js +1 -0
  609. package/renderers/nodes/math/MathNode.js +30 -20
  610. package/renderers/nodes/math/OperatorNode.cjs.js +1 -0
  611. package/renderers/nodes/math/OperatorNode.js +20 -4
  612. package/renderers/nodes/utils/SwitchNode.cjs.js +1 -0
  613. package/renderers/nodes/utils/SwitchNode.js +9 -4
  614. package/renderers/nodes/utils/TimerNode.cjs.js +1 -0
  615. package/renderers/nodes/utils/TimerNode.js +10 -5
  616. package/renderers/webgpu/WebGPU.cjs.js +1 -0
  617. package/renderers/webgpu/WebGPU.js +16 -14
  618. package/renderers/webgpu/WebGPUAttributes.cjs.js +1 -0
  619. package/renderers/webgpu/WebGPUAttributes.js +23 -16
  620. package/renderers/webgpu/WebGPUBackground.cjs.js +1 -0
  621. package/renderers/webgpu/WebGPUBackground.js +30 -13
  622. package/renderers/webgpu/WebGPUBinding.cjs.js +1 -0
  623. package/renderers/webgpu/WebGPUBinding.js +7 -4
  624. package/renderers/webgpu/WebGPUBindings.cjs.js +1 -0
  625. package/renderers/webgpu/WebGPUBindings.js +57 -21
  626. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +1 -0
  627. package/renderers/webgpu/WebGPUComputePipelines.js +25 -14
  628. package/renderers/webgpu/WebGPUGeometries.cjs.js +1 -0
  629. package/renderers/webgpu/WebGPUGeometries.js +15 -5
  630. package/renderers/webgpu/WebGPUInfo.cjs.js +1 -0
  631. package/renderers/webgpu/WebGPUInfo.js +8 -3
  632. package/renderers/webgpu/WebGPUObjects.cjs.js +1 -0
  633. package/renderers/webgpu/WebGPUObjects.js +10 -5
  634. package/renderers/webgpu/WebGPUProperties.cjs.js +1 -0
  635. package/renderers/webgpu/WebGPUProperties.js +11 -5
  636. package/renderers/webgpu/WebGPURenderLists.cjs.js +1 -0
  637. package/renderers/webgpu/WebGPURenderLists.js +36 -20
  638. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +1 -0
  639. package/renderers/webgpu/WebGPURenderPipelines.js +387 -260
  640. package/renderers/webgpu/WebGPURenderer.cjs.js +1 -0
  641. package/renderers/webgpu/WebGPURenderer.js +262 -124
  642. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +1 -0
  643. package/renderers/webgpu/WebGPUSampledTexture.js +31 -18
  644. package/renderers/webgpu/WebGPUSampler.cjs.js +1 -0
  645. package/renderers/webgpu/WebGPUSampler.js +12 -7
  646. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +1 -0
  647. package/renderers/webgpu/WebGPUStorageBuffer.js +12 -7
  648. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +1 -0
  649. package/renderers/webgpu/WebGPUTextureRenderer.js +11 -5
  650. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +1 -0
  651. package/renderers/webgpu/WebGPUTextureUtils.js +40 -29
  652. package/renderers/webgpu/WebGPUTextures.cjs.js +1 -0
  653. package/renderers/webgpu/WebGPUTextures.js +333 -186
  654. package/renderers/webgpu/WebGPUUniform.cjs.js +1 -0
  655. package/renderers/webgpu/WebGPUUniform.js +51 -25
  656. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +1 -0
  657. package/renderers/webgpu/WebGPUUniformsGroup.js +72 -32
  658. package/renderers/webgpu/constants.cjs.js +1 -0
  659. package/renderers/webgpu/constants.js +181 -190
  660. package/renderers/webgpu/nodes/ShaderLib.cjs.js +1 -0
  661. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  662. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +1 -0
  663. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +124 -53
  664. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +1 -0
  665. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +31 -17
  666. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +1 -0
  667. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +9 -8
  668. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +1 -0
  669. package/renderers/webgpu/nodes/WebGPUNodes.js +45 -7
  670. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -0
  671. package/shaders/ACESFilmicToneMappingShader.js +24 -44
  672. package/shaders/AfterimageShader.cjs.js +1 -0
  673. package/shaders/AfterimageShader.js +18 -28
  674. package/shaders/BasicShader.cjs.js +1 -0
  675. package/shaders/BasicShader.js +7 -9
  676. package/shaders/BleachBypassShader.cjs.js +1 -0
  677. package/shaders/BleachBypassShader.js +15 -31
  678. package/shaders/BlendShader.cjs.js +1 -0
  679. package/shaders/BlendShader.js +19 -26
  680. package/shaders/BokehShader.cjs.js +1 -0
  681. package/shaders/BokehShader.js +36 -98
  682. package/shaders/BokehShader2.cjs.js +1 -0
  683. package/shaders/BokehShader2.js +90 -261
  684. package/shaders/BrightnessContrastShader.cjs.js +1 -0
  685. package/shaders/BrightnessContrastShader.js +19 -28
  686. package/shaders/ColorCorrectionShader.cjs.js +1 -0
  687. package/shaders/ColorCorrectionShader.js +22 -26
  688. package/shaders/ColorifyShader.cjs.js +1 -0
  689. package/shaders/ColorifyShader.js +16 -24
  690. package/shaders/ConvolutionShader.cjs.js +1 -0
  691. package/shaders/ConvolutionShader.js +36 -40
  692. package/shaders/CopyShader.cjs.js +1 -0
  693. package/shaders/CopyShader.js +13 -21
  694. package/shaders/DOFMipMapShader.cjs.js +1 -0
  695. package/shaders/DOFMipMapShader.js +21 -28
  696. package/shaders/DepthLimitedBlurShader.cjs.js +1 -0
  697. package/shaders/DepthLimitedBlurShader.js +40 -85
  698. package/shaders/DigitalGlitch.cjs.js +1 -0
  699. package/shaders/DigitalGlitch.js +46 -74
  700. package/shaders/DotScreenShader.cjs.js +1 -0
  701. package/shaders/DotScreenShader.js +27 -35
  702. package/shaders/FXAAShader.cjs.js +1 -0
  703. package/shaders/FXAAShader.js +19 -1094
  704. package/shaders/FilmShader.cjs.js +1 -0
  705. package/shaders/FilmShader.js +52 -38
  706. package/shaders/FocusShader.cjs.js +1 -0
  707. package/shaders/FocusShader.js +24 -51
  708. package/shaders/FreiChenShader.cjs.js +1 -0
  709. package/shaders/FreiChenShader.js +24 -57
  710. package/shaders/FresnelShader.cjs.js +1 -0
  711. package/shaders/FresnelShader.js +22 -43
  712. package/shaders/GammaCorrectionShader.cjs.js +1 -0
  713. package/shaders/GammaCorrectionShader.js +11 -19
  714. package/shaders/GodRaysShader.cjs.js +1 -0
  715. package/shaders/GodRaysShader.js +94 -103
  716. package/shaders/HalftoneShader.cjs.js +1 -0
  717. package/shaders/HalftoneShader.js +65 -208
  718. package/shaders/HorizontalBlurShader.cjs.js +1 -0
  719. package/shaders/HorizontalBlurShader.js +23 -7
  720. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -0
  721. package/shaders/HorizontalTiltShiftShader.js +21 -33
  722. package/shaders/HueSaturationShader.cjs.js +1 -0
  723. package/shaders/HueSaturationShader.js +21 -37
  724. package/shaders/KaleidoShader.cjs.js +1 -0
  725. package/shaders/KaleidoShader.js +22 -30
  726. package/shaders/LuminosityHighPassShader.cjs.js +1 -0
  727. package/shaders/LuminosityHighPassShader.js +27 -33
  728. package/shaders/LuminosityShader.cjs.js +1 -0
  729. package/shaders/LuminosityShader.js +11 -21
  730. package/shaders/MirrorShader.cjs.js +1 -0
  731. package/shaders/MirrorShader.js +16 -31
  732. package/shaders/NormalMapShader.cjs.js +1 -0
  733. package/shaders/NormalMapShader.js +23 -27
  734. package/shaders/ParallaxShader.cjs.js +1 -0
  735. package/shaders/ParallaxShader.js +48 -107
  736. package/shaders/PixelShader.cjs.js +1 -0
  737. package/shaders/PixelShader.js +16 -24
  738. package/shaders/RGBShiftShader.cjs.js +1 -0
  739. package/shaders/RGBShiftShader.js +22 -26
  740. package/shaders/SAOShader.cjs.js +1 -0
  741. package/shaders/SAOShader.js +48 -132
  742. package/shaders/SMAAShader.cjs.js +1 -0
  743. package/shaders/SMAAShader.js +135 -256
  744. package/shaders/SSAOShader.cjs.js +1 -0
  745. package/shaders/SSAOShader.js +81 -153
  746. package/shaders/SSRShader.cjs.js +1 -0
  747. package/shaders/SSRShader.js +87 -32
  748. package/shaders/SepiaShader.cjs.js +1 -0
  749. package/shaders/SepiaShader.js +15 -25
  750. package/shaders/SobelOperatorShader.cjs.js +1 -0
  751. package/shaders/SobelOperatorShader.js +29 -40
  752. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -0
  753. package/shaders/SubsurfaceScatteringShader.js +39 -53
  754. package/shaders/TechnicolorShader.cjs.js +1 -0
  755. package/shaders/TechnicolorShader.js +13 -20
  756. package/shaders/ToneMapShader.cjs.js +1 -0
  757. package/shaders/ToneMapShader.js +28 -44
  758. package/shaders/ToonShader.cjs.js +1 -0
  759. package/shaders/ToonShader.js +96 -172
  760. package/shaders/TriangleBlurShader.cjs.js +1 -0
  761. package/shaders/TriangleBlurShader.js +23 -32
  762. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -0
  763. package/shaders/UnpackDepthRGBAShader.js +14 -22
  764. package/shaders/VerticalBlurShader.cjs.js +1 -0
  765. package/shaders/VerticalBlurShader.js +23 -7
  766. package/shaders/VerticalTiltShiftShader.cjs.js +1 -0
  767. package/shaders/VerticalTiltShiftShader.js +21 -33
  768. package/shaders/VignetteShader.cjs.js +1 -0
  769. package/shaders/VignetteShader.js +28 -24
  770. package/shaders/VolumeShader.cjs.js +1 -0
  771. package/shaders/VolumeShader.js +77 -174
  772. package/shaders/WaterRefractionShader.cjs.js +1 -0
  773. package/shaders/WaterRefractionShader.js +6 -38
  774. package/shaders/types.cjs.js +1 -0
  775. package/shaders/types.js +1 -1
  776. package/textures/FlakesTexture.cjs.js +1 -0
  777. package/textures/FlakesTexture.js +10 -8
  778. package/types/helpers.cjs.js +1 -0
  779. package/types/helpers.js +2 -3
  780. package/types/shared.cjs.js +1 -0
  781. package/types/shared.js +1 -0
  782. package/types/utils.cjs.js +1 -0
  783. package/types/utils.js +1 -0
  784. package/utils/BufferGeometryUtils.cjs.js +1 -0
  785. package/utils/BufferGeometryUtils.js +325 -251
  786. package/utils/GeometryCompressionUtils.cjs.js +1 -0
  787. package/utils/GeometryCompressionUtils.js +239 -241
  788. package/utils/GeometryUtils.cjs.js +1 -0
  789. package/utils/GeometryUtils.js +94 -41
  790. package/utils/LDrawUtils.cjs.js +1 -0
  791. package/utils/LDrawUtils.d.ts +5 -0
  792. package/utils/LDrawUtils.js +144 -0
  793. package/utils/RoughnessMipmapper.cjs.js +1 -0
  794. package/utils/RoughnessMipmapper.js +82 -38
  795. package/utils/SceneUtils.cjs.js +1 -0
  796. package/utils/SceneUtils.js +20 -15
  797. package/utils/ShadowMapViewer.cjs.js +1 -0
  798. package/utils/ShadowMapViewer.js +95 -49
  799. package/utils/SkeletonUtils.cjs.js +1 -0
  800. package/utils/SkeletonUtils.js +165 -74
  801. package/utils/UVsDebug.cjs.js +1 -0
  802. package/utils/UVsDebug.js +62 -32
  803. package/utils/WorkerPool.cjs.js +1 -0
  804. package/utils/WorkerPool.js +33 -13
  805. package/webxr/ARButton.cjs.js +1 -0
  806. package/webxr/ARButton.js +98 -72
  807. package/webxr/OculusHandModel.cjs.js +1 -0
  808. package/webxr/OculusHandModel.js +37 -18
  809. package/webxr/OculusHandPointerModel.cjs.js +1 -0
  810. package/webxr/OculusHandPointerModel.js +80 -58
  811. package/webxr/Text2D.cjs.js +1 -0
  812. package/webxr/Text2D.js +19 -37
  813. package/webxr/VRButton.cjs.js +1 -0
  814. package/webxr/VRButton.js +90 -59
  815. package/webxr/XRControllerModelFactory.cjs.js +1 -0
  816. package/webxr/XRControllerModelFactory.js +116 -58
  817. package/webxr/XREstimatedLight.cjs.js +1 -0
  818. package/webxr/XREstimatedLight.js +66 -39
  819. package/webxr/XRHandMeshModel.cjs.js +1 -0
  820. package/webxr/XRHandMeshModel.js +29 -40
  821. package/webxr/XRHandModelFactory.cjs.js +1 -0
  822. package/webxr/XRHandModelFactory.js +31 -28
  823. package/webxr/XRHandPrimitiveModel.cjs.js +1 -0
  824. package/webxr/XRHandPrimitiveModel.js +27 -41
  825. package/animation/AnimationClipCreator.mjs +0 -57
  826. package/animation/CCDIKSolver.mjs +0 -223
  827. package/animation/MMDAnimationHelper.mjs +0 -514
  828. package/animation/MMDPhysics.mjs +0 -769
  829. package/cameras/CinematicCamera.mjs +0 -129
  830. package/controls/ArcballControls.mjs +0 -1737
  831. package/controls/DeviceOrientationControls.mjs +0 -74
  832. package/controls/DragControls.mjs +0 -172
  833. package/controls/FirstPersonControls.mjs +0 -220
  834. package/controls/FlyControls.mjs +0 -239
  835. package/controls/OrbitControls.mjs +0 -731
  836. package/controls/PointerLockControls.mjs +0 -88
  837. package/controls/TrackballControls.mjs +0 -481
  838. package/controls/TransformControls.mjs +0 -1068
  839. package/controls/experimental/CameraControls.mjs +0 -673
  840. package/csm/CSM.mjs +0 -244
  841. package/csm/CSMFrustum.mjs +0 -75
  842. package/csm/CSMHelper.mjs +0 -114
  843. package/csm/CSMShader.mjs +0 -251
  844. package/curves/CurveExtras.mjs +0 -224
  845. package/curves/NURBSCurve.mjs +0 -35
  846. package/curves/NURBSSurface.mjs +0 -28
  847. package/curves/NURBSUtils.mjs +0 -226
  848. package/deprecated/Geometry.mjs +0 -966
  849. package/effects/AnaglyphEffect.mjs +0 -120
  850. package/effects/AsciiEffect.mjs +0 -173
  851. package/effects/OutlineEffect.mjs +0 -295
  852. package/effects/ParallaxBarrierEffect.mjs +0 -64
  853. package/effects/PeppersGhostEffect.mjs +0 -85
  854. package/effects/StereoEffect.mjs +0 -32
  855. package/environments/RoomEnvironment.mjs +0 -78
  856. package/exporters/ColladaExporter.mjs +0 -299
  857. package/exporters/DRACOExporter.mjs +0 -132
  858. package/exporters/GLTFExporter.mjs +0 -1381
  859. package/exporters/MMDExporter.mjs +0 -102
  860. package/exporters/OBJExporter.mjs +0 -166
  861. package/exporters/PLYExporter.mjs +0 -278
  862. package/exporters/STLExporter.mjs +0 -129
  863. package/exporters/USDZExporter.mjs +0 -328
  864. package/geometries/BoxLineGeometry.mjs +0 -45
  865. package/geometries/ConvexGeometry.mjs +0 -29
  866. package/geometries/DecalGeometry.mjs +0 -184
  867. package/geometries/LightningStrike.mjs +0 -547
  868. package/geometries/ParametricGeometries.mjs +0 -129
  869. package/geometries/ParametricGeometry.mjs +0 -63
  870. package/geometries/RoundedBoxGeometry.mjs +0 -91
  871. package/geometries/TeapotGeometry.mjs +0 -1557
  872. package/geometries/TextGeometry.mjs +0 -23
  873. package/helpers/LightProbeHelper.mjs +0 -72
  874. package/helpers/PositionalAudioHelper.mjs +0 -68
  875. package/helpers/RectAreaLightHelper.mjs +0 -44
  876. package/helpers/VertexNormalsHelper.mjs +0 -54
  877. package/helpers/VertexTangentsHelper.mjs +0 -45
  878. package/index.mjs +0 -969
  879. package/interactive/SelectionBox.mjs +0 -137
  880. package/interactive/SelectionHelper.mjs +0 -54
  881. package/libs/MeshoptDecoder.mjs +0 -210
  882. package/libs/MotionControllers.mjs +0 -261
  883. package/lights/LightProbeGenerator.mjs +0 -145
  884. package/lights/RectAreaLightUniformsLib.mjs +0 -32842
  885. package/lines/Line2.mjs +0 -13
  886. package/lines/LineGeometry.mjs +0 -44
  887. package/lines/LineMaterial.mjs +0 -539
  888. package/lines/LineSegments2.mjs +0 -202
  889. package/lines/LineSegmentsGeometry.mjs +0 -124
  890. package/lines/Wireframe.mjs +0 -31
  891. package/lines/WireframeGeometry2.mjs +0 -13
  892. package/loaders/3DMLoader.mjs +0 -802
  893. package/loaders/3MFLoader.mjs +0 -837
  894. package/loaders/AMFLoader.mjs +0 -284
  895. package/loaders/AssimpLoader.mjs +0 -1396
  896. package/loaders/BVHLoader.mjs +0 -207
  897. package/loaders/BasisTextureLoader.mjs +0 -474
  898. package/loaders/ColladaLoader.mjs +0 -2403
  899. package/loaders/DDSLoader.mjs +0 -148
  900. package/loaders/DRACOLoader.mjs +0 -340
  901. package/loaders/EXRLoader.mjs +0 -1351
  902. package/loaders/FBXLoader.mjs +0 -2362
  903. package/loaders/FontLoader.mjs +0 -111
  904. package/loaders/GCodeLoader.mjs +0 -141
  905. package/loaders/GLTFLoader.mjs +0 -2316
  906. package/loaders/HDRCubeTextureLoader.mjs +0 -77
  907. package/loaders/KMZLoader.mjs +0 -75
  908. package/loaders/KTX2Loader.mjs +0 -427
  909. package/loaders/KTXLoader.mjs +0 -87
  910. package/loaders/LDrawLoader.mjs +0 -1409
  911. package/loaders/LUT3dlLoader.mjs +0 -100
  912. package/loaders/LUTCubeLoader.mjs +0 -104
  913. package/loaders/LWOLoader.mjs +0 -625
  914. package/loaders/LottieLoader.mjs +0 -47
  915. package/loaders/MD2Loader.mjs +0 -359
  916. package/loaders/MDDLoader.mjs +0 -58
  917. package/loaders/MMDLoader.mjs +0 -998
  918. package/loaders/MTLLoader.mjs +0 -280
  919. package/loaders/NRRDLoader.mjs +0 -401
  920. package/loaders/NodeMaterialLoader.mjs +0 -146
  921. package/loaders/OBJLoader.mjs +0 -487
  922. package/loaders/PCDLoader.mjs +0 -248
  923. package/loaders/PDBLoader.mjs +0 -246
  924. package/loaders/PLYLoader.mjs +0 -317
  925. package/loaders/PRWMLoader.mjs +0 -160
  926. package/loaders/PVRLoader.mjs +0 -131
  927. package/loaders/RGBELoader.mjs +0 -244
  928. package/loaders/RGBMLoader.mjs +0 -998
  929. package/loaders/STLLoader.mjs +0 -190
  930. package/loaders/SVGLoader.mjs +0 -1709
  931. package/loaders/TDSLoader.mjs +0 -480
  932. package/loaders/TGALoader.mjs +0 -285
  933. package/loaders/TTFLoader.mjs +0 -131
  934. package/loaders/TiltLoader.mjs +0 -373
  935. package/loaders/VOXLoader.mjs +0 -431
  936. package/loaders/VRMLLoader.mjs +0 -2093
  937. package/loaders/VRMLoader.mjs +0 -38
  938. package/loaders/VTKLoader.mjs +0 -646
  939. package/loaders/XLoader.mjs +0 -1258
  940. package/loaders/XYZLoader.mjs +0 -60
  941. package/loaders/lwo/IFFParser.mjs +0 -697
  942. package/loaders/lwo/LWO2Parser.mjs +0 -327
  943. package/loaders/lwo/LWO3Parser.mjs +0 -298
  944. package/math/Capsule.mjs +0 -100
  945. package/math/ColorConverter.mjs +0 -51
  946. package/math/ConvexHull.mjs +0 -574
  947. package/math/ImprovedNoise.mjs +0 -302
  948. package/math/Lut.mjs +0 -135
  949. package/math/MeshSurfaceSampler.mjs +0 -107
  950. package/math/OBB.mjs +0 -235
  951. package/math/Octree.mjs +0 -278
  952. package/math/SimplexNoise.mjs +0 -425
  953. package/misc/ConvexObjectBreaker.mjs +0 -292
  954. package/misc/GPUComputationRenderer.mjs +0 -171
  955. package/misc/Gyroscope.mjs +0 -35
  956. package/misc/MD2Character.mjs +0 -162
  957. package/misc/MD2CharacterComplex.mjs +0 -328
  958. package/misc/MorphAnimMesh.mjs +0 -40
  959. package/misc/MorphBlendMesh.mjs +0 -179
  960. package/misc/ProgressiveLightmap.mjs +0 -166
  961. package/misc/RollerCoaster.mjs +0 -346
  962. package/misc/TubePainter.mjs +0 -123
  963. package/misc/Volume.mjs +0 -244
  964. package/misc/VolumeSlice.mjs +0 -106
  965. package/misc/WebGL.mjs +0 -74
  966. package/modifiers/CurveModifier.mjs +0 -182
  967. package/modifiers/EdgeSplitModifier.mjs +0 -162
  968. package/modifiers/SimplifyModifier.mjs +0 -282
  969. package/modifiers/TessellateModifier.mjs +0 -206
  970. package/nodes/Nodes.mjs +0 -400
  971. package/nodes/ShaderNode.mjs +0 -408
  972. package/nodes/accessors/BufferNode.mjs +0 -15
  973. package/nodes/accessors/CameraNode.mjs +0 -44
  974. package/nodes/accessors/CubeTextureNode.mjs +0 -42
  975. package/nodes/accessors/MaterialNode.mjs +0 -71
  976. package/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  977. package/nodes/accessors/ModelNode.mjs +0 -9
  978. package/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  979. package/nodes/accessors/NormalNode.mjs +0 -62
  980. package/nodes/accessors/Object3DNode.mjs +0 -76
  981. package/nodes/accessors/PointUVNode.mjs +0 -13
  982. package/nodes/accessors/PositionNode.mjs +0 -65
  983. package/nodes/accessors/ReferenceNode.mjs +0 -37
  984. package/nodes/accessors/ReflectNode.mjs +0 -43
  985. package/nodes/accessors/SkinningNode.mjs +0 -58
  986. package/nodes/accessors/TextureNode.mjs +0 -54
  987. package/nodes/accessors/UVNode.mjs +0 -23
  988. package/nodes/core/ArrayUniformNode.mjs +0 -14
  989. package/nodes/core/AttributeNode.mjs +0 -30
  990. package/nodes/core/BypassNode.mjs +0 -22
  991. package/nodes/core/CodeNode.mjs +0 -28
  992. package/nodes/core/ConstNode.mjs +0 -14
  993. package/nodes/core/ContextNode.mjs +0 -22
  994. package/nodes/core/ExpressionNode.mjs +0 -19
  995. package/nodes/core/FunctionCallNode.mjs +0 -37
  996. package/nodes/core/FunctionNode.mjs +0 -56
  997. package/nodes/core/InputNode.mjs +0 -38
  998. package/nodes/core/Node.mjs +0 -139
  999. package/nodes/core/NodeAttribute.mjs +0 -10
  1000. package/nodes/core/NodeBuilder.mjs +0 -395
  1001. package/nodes/core/NodeCode.mjs +0 -11
  1002. package/nodes/core/NodeFrame.mjs +0 -35
  1003. package/nodes/core/NodeFunctionInput.mjs +0 -13
  1004. package/nodes/core/NodeKeywords.mjs +0 -44
  1005. package/nodes/core/NodeUniform.mjs +0 -18
  1006. package/nodes/core/NodeUtils.mjs +0 -57
  1007. package/nodes/core/NodeVar.mjs +0 -10
  1008. package/nodes/core/NodeVary.mjs +0 -10
  1009. package/nodes/core/PropertyNode.mjs +0 -21
  1010. package/nodes/core/TempNode.mjs +0 -25
  1011. package/nodes/core/UniformNode.mjs +0 -23
  1012. package/nodes/core/VarNode.mjs +0 -31
  1013. package/nodes/core/VaryNode.mjs +0 -30
  1014. package/nodes/core/constants.mjs +0 -24
  1015. package/nodes/display/ColorSpaceNode.mjs +0 -63
  1016. package/nodes/display/NormalMapNode.mjs +0 -54
  1017. package/nodes/fog/FogNode.mjs +0 -15
  1018. package/nodes/fog/FogRangeNode.mjs +0 -17
  1019. package/nodes/functions/BSDFs.mjs +0 -64
  1020. package/nodes/lights/LightContextNode.mjs +0 -35
  1021. package/nodes/lights/LightNode.mjs +0 -58
  1022. package/nodes/lights/LightsNode.mjs +0 -59
  1023. package/nodes/loaders/NodeLoader.mjs +0 -66
  1024. package/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  1025. package/nodes/loaders/NodeObjectLoader.mjs +0 -40
  1026. package/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  1027. package/nodes/materials/Materials.mjs +0 -28
  1028. package/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  1029. package/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  1030. package/nodes/materials/NodeMaterial.mjs +0 -64
  1031. package/nodes/materials/PointsNodeMaterial.mjs +0 -30
  1032. package/nodes/math/CondNode.mjs +0 -38
  1033. package/nodes/math/MathNode.mjs +0 -163
  1034. package/nodes/math/OperatorNode.mjs +0 -103
  1035. package/nodes/procedural/CheckerNode.mjs +0 -21
  1036. package/nodes/utils/ArrayElementNode.mjs +0 -19
  1037. package/nodes/utils/ConvertNode.mjs +0 -25
  1038. package/nodes/utils/JoinNode.mjs +0 -26
  1039. package/nodes/utils/MatcapUVNode.mjs +0 -16
  1040. package/nodes/utils/OscNode.mjs +0 -50
  1041. package/nodes/utils/SplitNode.mjs +0 -45
  1042. package/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  1043. package/nodes/utils/TimerNode.mjs +0 -44
  1044. package/objects/GroundProjectedEnv.mjs +0 -130
  1045. package/objects/Lensflare.mjs +0 -262
  1046. package/objects/LightningStorm.mjs +0 -110
  1047. package/objects/MarchingCubes.mjs +0 -457
  1048. package/objects/Reflector.mjs +0 -166
  1049. package/objects/ReflectorForSSRPass.mjs +0 -247
  1050. package/objects/ReflectorRTT.mjs +0 -10
  1051. package/objects/Refractor.mjs +0 -178
  1052. package/objects/ShadowMesh.mjs +0 -41
  1053. package/objects/Sky.mjs +0 -124
  1054. package/objects/Water.mjs +0 -235
  1055. package/objects/Water2.mjs +0 -252
  1056. package/offscreen/jank.mjs +0 -27
  1057. package/offscreen/offscreen.mjs +0 -5
  1058. package/offscreen/scene.mjs +0 -52
  1059. package/physics/AmmoPhysics.mjs +0 -165
  1060. package/postprocessing/AdaptiveToneMappingPass.mjs +0 -221
  1061. package/postprocessing/AfterimagePass.mjs +0 -55
  1062. package/postprocessing/BloomPass.mjs +0 -90
  1063. package/postprocessing/BokehPass.mjs +0 -76
  1064. package/postprocessing/ClearPass.mjs +0 -27
  1065. package/postprocessing/CubeTexturePass.mjs +0 -49
  1066. package/postprocessing/DotScreenPass.mjs +0 -40
  1067. package/postprocessing/EffectComposer.mjs +0 -139
  1068. package/postprocessing/FilmPass.mjs +0 -42
  1069. package/postprocessing/GlitchPass.mjs +0 -75
  1070. package/postprocessing/HalftonePass.mjs +0 -44
  1071. package/postprocessing/LUTPass.mjs +0 -136
  1072. package/postprocessing/MaskPass.mjs +0 -60
  1073. package/postprocessing/OutlinePass.mjs +0 -438
  1074. package/postprocessing/Pass.mjs +0 -37
  1075. package/postprocessing/RenderPass.mjs +0 -48
  1076. package/postprocessing/RenderPixelatedPass.mjs +0 -199
  1077. package/postprocessing/SAOPass.mjs +0 -282
  1078. package/postprocessing/SMAAPass.mjs +0 -112
  1079. package/postprocessing/SSAARenderPass.mjs +0 -170
  1080. package/postprocessing/SSAOPass.mjs +0 -265
  1081. package/postprocessing/SSRPass.mjs +0 -432
  1082. package/postprocessing/SavePass.mjs +0 -37
  1083. package/postprocessing/ShaderPass.mjs +0 -39
  1084. package/postprocessing/TAARenderPass.mjs +0 -88
  1085. package/postprocessing/TexturePass.mjs +0 -39
  1086. package/postprocessing/UnrealBloomPass.mjs +0 -220
  1087. package/renderers/CSS2DRenderer.mjs +0 -112
  1088. package/renderers/CSS3DRenderer.mjs +0 -133
  1089. package/renderers/Projector.mjs +0 -511
  1090. package/renderers/SVGRenderer.mjs +0 -306
  1091. package/renderers/nodes/accessors/CameraNode.mjs +0 -63
  1092. package/renderers/nodes/accessors/ModelNode.mjs +0 -61
  1093. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  1094. package/renderers/nodes/accessors/NormalNode.mjs +0 -61
  1095. package/renderers/nodes/accessors/PositionNode.mjs +0 -30
  1096. package/renderers/nodes/accessors/UVNode.mjs +0 -13
  1097. package/renderers/nodes/core/AttributeNode.mjs +0 -35
  1098. package/renderers/nodes/core/InputNode.mjs +0 -31
  1099. package/renderers/nodes/core/Node.mjs +0 -34
  1100. package/renderers/nodes/core/NodeAttribute.mjs +0 -10
  1101. package/renderers/nodes/core/NodeBuilder.mjs +0 -243
  1102. package/renderers/nodes/core/NodeFrame.mjs +0 -35
  1103. package/renderers/nodes/core/NodeSlot.mjs +0 -10
  1104. package/renderers/nodes/core/NodeUniform.mjs +0 -18
  1105. package/renderers/nodes/core/NodeVary.mjs +0 -11
  1106. package/renderers/nodes/core/VaryNode.mjs +0 -22
  1107. package/renderers/nodes/core/constants.mjs +0 -22
  1108. package/renderers/nodes/inputs/ColorNode.mjs +0 -11
  1109. package/renderers/nodes/inputs/FloatNode.mjs +0 -11
  1110. package/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  1111. package/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  1112. package/renderers/nodes/inputs/TextureNode.mjs +0 -20
  1113. package/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  1114. package/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  1115. package/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  1116. package/renderers/nodes/math/MathNode.mjs +0 -55
  1117. package/renderers/nodes/math/OperatorNode.mjs +0 -42
  1118. package/renderers/nodes/utils/SwitchNode.mjs +0 -20
  1119. package/renderers/nodes/utils/TimerNode.mjs +0 -14
  1120. package/renderers/webgpu/WebGPU.mjs +0 -24
  1121. package/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  1122. package/renderers/webgpu/WebGPUBackground.mjs +0 -61
  1123. package/renderers/webgpu/WebGPUBinding.mjs +0 -14
  1124. package/renderers/webgpu/WebGPUBindings.mjs +0 -155
  1125. package/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  1126. package/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  1127. package/renderers/webgpu/WebGPUInfo.mjs +0 -46
  1128. package/renderers/webgpu/WebGPUObjects.mjs +0 -25
  1129. package/renderers/webgpu/WebGPUProperties.mjs +0 -22
  1130. package/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  1131. package/renderers/webgpu/WebGPURenderPipelines.mjs +0 -545
  1132. package/renderers/webgpu/WebGPURenderer.mjs +0 -574
  1133. package/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  1134. package/renderers/webgpu/WebGPUSampler.mjs +0 -15
  1135. package/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  1136. package/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  1137. package/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  1138. package/renderers/webgpu/WebGPUTextures.mjs +0 -484
  1139. package/renderers/webgpu/WebGPUUniform.mjs +0 -81
  1140. package/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  1141. package/renderers/webgpu/constants.mjs +0 -230
  1142. package/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  1143. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  1144. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  1145. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  1146. package/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
  1147. package/shaders/ACESFilmicToneMappingShader.mjs +0 -48
  1148. package/shaders/AfterimageShader.mjs +0 -32
  1149. package/shaders/BasicShader.mjs +0 -12
  1150. package/shaders/BleachBypassShader.mjs +0 -35
  1151. package/shaders/BlendShader.mjs +0 -30
  1152. package/shaders/BokehShader.mjs +0 -106
  1153. package/shaders/BokehShader2.mjs +0 -269
  1154. package/shaders/BrightnessContrastShader.mjs +0 -32
  1155. package/shaders/ColorCorrectionShader.mjs +0 -30
  1156. package/shaders/ColorifyShader.mjs +0 -28
  1157. package/shaders/ConvolutionShader.mjs +0 -55
  1158. package/shaders/CopyShader.mjs +0 -25
  1159. package/shaders/DOFMipMapShader.mjs +0 -32
  1160. package/shaders/DepthLimitedBlurShader.mjs +0 -114
  1161. package/shaders/DigitalGlitch.mjs +0 -78
  1162. package/shaders/DotScreenShader.mjs +0 -39
  1163. package/shaders/FXAAShader.mjs +0 -1098
  1164. package/shaders/FilmShader.mjs +0 -42
  1165. package/shaders/FocusShader.mjs +0 -55
  1166. package/shaders/FreiChenShader.mjs +0 -61
  1167. package/shaders/FresnelShader.mjs +0 -47
  1168. package/shaders/GammaCorrectionShader.mjs +0 -23
  1169. package/shaders/GodRaysShader.mjs +0 -146
  1170. package/shaders/HalftoneShader.mjs +0 -212
  1171. package/shaders/HorizontalBlurShader.mjs +0 -43
  1172. package/shaders/HorizontalTiltShiftShader.mjs +0 -37
  1173. package/shaders/HueSaturationShader.mjs +0 -41
  1174. package/shaders/KaleidoShader.mjs +0 -34
  1175. package/shaders/LuminosityHighPassShader.mjs +0 -37
  1176. package/shaders/LuminosityShader.mjs +0 -25
  1177. package/shaders/MirrorShader.mjs +0 -35
  1178. package/shaders/NormalMapShader.mjs +0 -31
  1179. package/shaders/ParallaxShader.mjs +0 -113
  1180. package/shaders/PixelShader.mjs +0 -28
  1181. package/shaders/RGBShiftShader.mjs +0 -30
  1182. package/shaders/SAOShader.mjs +0 -144
  1183. package/shaders/SMAAShader.mjs +0 -272
  1184. package/shaders/SSAOShader.mjs +0 -172
  1185. package/shaders/SSRShader.mjs +0 -324
  1186. package/shaders/SepiaShader.mjs +0 -29
  1187. package/shaders/SobelOperatorShader.mjs +0 -44
  1188. package/shaders/SubsurfaceScatteringShader.mjs +0 -59
  1189. package/shaders/TechnicolorShader.mjs +0 -24
  1190. package/shaders/ToneMapShader.mjs +0 -48
  1191. package/shaders/ToonShader.mjs +0 -188
  1192. package/shaders/TriangleBlurShader.mjs +0 -36
  1193. package/shaders/UnpackDepthRGBAShader.mjs +0 -26
  1194. package/shaders/VerticalBlurShader.mjs +0 -44
  1195. package/shaders/VerticalTiltShiftShader.mjs +0 -37
  1196. package/shaders/VignetteShader.mjs +0 -28
  1197. package/shaders/VolumeShader.mjs +0 -178
  1198. package/shaders/WaterRefractionShader.mjs +0 -57
  1199. package/textures/FlakesTexture.mjs +0 -30
  1200. package/types/helpers.mjs +0 -4
  1201. package/utils/BufferGeometryUtils.mjs +0 -570
  1202. package/utils/GeometryCompressionUtils.mjs +0 -547
  1203. package/utils/GeometryUtils.mjs +0 -108
  1204. package/utils/RoughnessMipmapper.mjs +0 -213
  1205. package/utils/SceneUtils.mjs +0 -36
  1206. package/utils/ShadowMapViewer.mjs +0 -114
  1207. package/utils/SkeletonUtils.mjs +0 -292
  1208. package/utils/UVsDebug.mjs +0 -85
  1209. package/utils/WorkerPool.mjs +0 -62
  1210. package/webxr/ARButton.mjs +0 -119
  1211. package/webxr/OculusHandModel.mjs +0 -71
  1212. package/webxr/OculusHandPointerModel.mjs +0 -207
  1213. package/webxr/Text2D.mjs +0 -31
  1214. package/webxr/VRButton.mjs +0 -105
  1215. package/webxr/XRControllerModelFactory.mjs +0 -146
  1216. package/webxr/XREstimatedLight.mjs +0 -126
  1217. package/webxr/XRHandMeshModel.mjs +0 -73
  1218. package/webxr/XRHandModelFactory.mjs +0 -61
  1219. package/webxr/XRHandPrimitiveModel.mjs +0 -68
@@ -1,65 +1,68 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const THREE = require("three");
4
- class RGBMLoader extends THREE.DataTextureLoader {
1
+ import { DataTextureLoader, HalfFloatType, CubeTexture, RGBAFormat, LinearFilter, DataUtils } from 'three';
2
+
3
+ class RGBMLoader extends DataTextureLoader {
5
4
  constructor(manager) {
6
5
  super(manager);
7
- this.type = THREE.HalfFloatType;
8
- this.maxRange = 7;
6
+ this.type = HalfFloatType;
7
+ this.maxRange = 7; // more information about this property at https://iwasbeingirony.blogspot.com/2010/06/difference-between-rgbm-and-rgbd.html
9
8
  }
9
+
10
10
  setDataType(value) {
11
11
  this.type = value;
12
12
  return this;
13
13
  }
14
+
14
15
  setMaxRange(value) {
15
16
  this.maxRange = value;
16
17
  return this;
17
18
  }
19
+
18
20
  loadCubemap(urls, onLoad, onProgress, onError) {
19
- const texture = new THREE.CubeTexture();
21
+ const texture = new CubeTexture();
20
22
  let loaded = 0;
21
23
  const scope = this;
24
+
22
25
  function loadTexture(i) {
23
- scope.load(
24
- urls[i],
25
- function(image) {
26
- texture.images[i] = image;
27
- loaded++;
28
- if (loaded === 6) {
29
- texture.needsUpdate = true;
30
- if (onLoad)
31
- onLoad(texture);
32
- }
33
- },
34
- void 0,
35
- onError
36
- );
26
+ scope.load(urls[i], function (image) {
27
+ texture.images[i] = image;
28
+ loaded++;
29
+
30
+ if (loaded === 6) {
31
+ texture.needsUpdate = true;
32
+ if (onLoad) onLoad(texture);
33
+ }
34
+ }, undefined, onError);
37
35
  }
36
+
38
37
  for (let i = 0; i < urls.length; ++i) {
39
38
  loadTexture(i);
40
39
  }
40
+
41
41
  texture.type = this.type;
42
- texture.format = THREE.RGBAFormat;
43
- texture.minFilter = THREE.LinearFilter;
42
+ texture.format = RGBAFormat;
43
+ texture.minFilter = LinearFilter;
44
44
  texture.generateMipmaps = false;
45
45
  return texture;
46
46
  }
47
+
47
48
  parse(buffer) {
48
49
  const img = UPNG.decode(buffer);
49
50
  const rgba = UPNG.toRGBA8(img)[0];
50
51
  const data = new Uint8Array(rgba);
51
52
  const size = img.width * img.height * 4;
52
- const output = this.type === THREE.HalfFloatType ? new Uint16Array(size) : new Float32Array(size);
53
+ const output = this.type === HalfFloatType ? new Uint16Array(size) : new Float32Array(size); // decode RGBM
54
+
53
55
  for (let i = 0; i < data.length; i += 4) {
54
56
  const r = data[i + 0] / 255;
55
57
  const g = data[i + 1] / 255;
56
58
  const b = data[i + 2] / 255;
57
59
  const a = data[i + 3] / 255;
58
- if (this.type === THREE.HalfFloatType) {
59
- output[i + 0] = THREE.DataUtils.toHalfFloat(Math.min(r * a * this.maxRange, 65504));
60
- output[i + 1] = THREE.DataUtils.toHalfFloat(Math.min(g * a * this.maxRange, 65504));
61
- output[i + 2] = THREE.DataUtils.toHalfFloat(Math.min(b * a * this.maxRange, 65504));
62
- output[i + 3] = THREE.DataUtils.toHalfFloat(1);
60
+
61
+ if (this.type === HalfFloatType) {
62
+ output[i + 0] = DataUtils.toHalfFloat(Math.min(r * a * this.maxRange, 65504));
63
+ output[i + 1] = DataUtils.toHalfFloat(Math.min(g * a * this.maxRange, 65504));
64
+ output[i + 2] = DataUtils.toHalfFloat(Math.min(b * a * this.maxRange, 65504));
65
+ output[i + 3] = DataUtils.toHalfFloat(1);
63
66
  } else {
64
67
  output[i + 0] = r * a * this.maxRange;
65
68
  output[i + 1] = g * a * this.maxRange;
@@ -67,53 +70,65 @@ class RGBMLoader extends THREE.DataTextureLoader {
67
70
  output[i + 3] = 1;
68
71
  }
69
72
  }
73
+
70
74
  return {
71
75
  width: img.width,
72
76
  height: img.height,
73
77
  data: output,
74
- format: THREE.RGBAFormat,
78
+ format: RGBAFormat,
75
79
  type: this.type,
76
80
  flipY: true
77
81
  };
78
82
  }
79
- }
83
+
84
+ } // from https://github.com/photopea/UPNG.js (MIT License)
85
+
86
+
80
87
  var UPNG = {};
81
- UPNG.toRGBA8 = function(out) {
82
- var w = out.width, h = out.height;
83
- if (out.tabs.acTL == null)
84
- return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer];
88
+
89
+ UPNG.toRGBA8 = function (out) {
90
+ var w = out.width,
91
+ h = out.height;
92
+ if (out.tabs.acTL == null) return [UPNG.toRGBA8.decodeImage(out.data, w, h, out).buffer];
85
93
  var frms = [];
86
- if (out.frames[0].data == null)
87
- out.frames[0].data = out.data;
88
- var len = w * h * 4, img = new Uint8Array(len), empty = new Uint8Array(len), prev = new Uint8Array(len);
94
+ if (out.frames[0].data == null) out.frames[0].data = out.data;
95
+ var len = w * h * 4,
96
+ img = new Uint8Array(len),
97
+ empty = new Uint8Array(len),
98
+ prev = new Uint8Array(len);
99
+
89
100
  for (var i = 0; i < out.frames.length; i++) {
90
101
  var frm = out.frames[i];
91
- var fx = frm.rect.x, fy = frm.rect.y, fw = frm.rect.width, fh = frm.rect.height;
102
+ var fx = frm.rect.x,
103
+ fy = frm.rect.y,
104
+ fw = frm.rect.width,
105
+ fh = frm.rect.height;
92
106
  var fdata = UPNG.toRGBA8.decodeImage(frm.data, fw, fh, out);
93
- if (i != 0)
94
- for (var j = 0; j < len; j++)
95
- prev[j] = img[j];
96
- if (frm.blend == 0)
97
- UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 0);
98
- else if (frm.blend == 1)
99
- UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 1);
107
+ if (i != 0) for (var j = 0; j < len; j++) prev[j] = img[j];
108
+ if (frm.blend == 0) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 0);else if (frm.blend == 1) UPNG._copyTile(fdata, fw, fh, img, w, h, fx, fy, 1);
100
109
  frms.push(img.buffer.slice(0));
101
- if (frm.dispose == 1)
102
- UPNG._copyTile(empty, fw, fh, img, w, h, fx, fy, 0);
103
- else if (frm.dispose == 2)
104
- for (var j = 0; j < len; j++)
105
- img[j] = prev[j];
110
+ if (frm.dispose == 1) UPNG._copyTile(empty, fw, fh, img, w, h, fx, fy, 0);else if (frm.dispose == 2) for (var j = 0; j < len; j++) img[j] = prev[j];
106
111
  }
112
+
107
113
  return frms;
108
114
  };
109
- UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
110
- var area = w * h, bpp = UPNG.decode._getBPP(out);
111
- var bpl = Math.ceil(w * bpp / 8);
112
- var bf = new Uint8Array(area * 4), bf32 = new Uint32Array(bf.buffer);
113
- var ctype = out.ctype, depth = out.depth;
115
+
116
+ UPNG.toRGBA8.decodeImage = function (data, w, h, out) {
117
+ var area = w * h,
118
+ bpp = UPNG.decode._getBPP(out);
119
+
120
+ var bpl = Math.ceil(w * bpp / 8); // bytes per line
121
+
122
+ var bf = new Uint8Array(area * 4),
123
+ bf32 = new Uint32Array(bf.buffer);
124
+ var ctype = out.ctype,
125
+ depth = out.depth;
114
126
  var rs = UPNG._bin.readUshort;
127
+
115
128
  if (ctype == 6) {
129
+ // RGB + alpha
116
130
  var qarea = area << 2;
131
+
117
132
  if (depth == 8) {
118
133
  for (var i = 0; i < qarea; i += 4) {
119
134
  bf[i] = data[i];
@@ -122,13 +137,16 @@ UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
122
137
  bf[i + 3] = data[i + 3];
123
138
  }
124
139
  }
140
+
125
141
  if (depth == 16) {
126
142
  for (var i = 0; i < qarea; i++) {
127
143
  bf[i] = data[i << 1];
128
144
  }
129
145
  }
130
146
  } else if (ctype == 2) {
131
- var ts = out.tabs["tRNS"];
147
+ // RGB
148
+ var ts = out.tabs['tRNS'];
149
+
132
150
  if (ts == null) {
133
151
  if (depth == 8) {
134
152
  for (var i = 0; i < area; i++) {
@@ -136,6 +154,7 @@ UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
136
154
  bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti];
137
155
  }
138
156
  }
157
+
139
158
  if (depth == 16) {
140
159
  for (var i = 0; i < area; i++) {
141
160
  var ti = i * 6;
@@ -143,31 +162,43 @@ UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
143
162
  }
144
163
  }
145
164
  } else {
146
- var tr = ts[0], tg = ts[1], tb = ts[2];
165
+ var tr = ts[0],
166
+ tg = ts[1],
167
+ tb = ts[2];
168
+
147
169
  if (depth == 8) {
148
170
  for (var i = 0; i < area; i++) {
149
- var qi = i << 2, ti = i * 3;
171
+ var qi = i << 2,
172
+ ti = i * 3;
150
173
  bf32[i] = 255 << 24 | data[ti + 2] << 16 | data[ti + 1] << 8 | data[ti];
151
- if (data[ti] == tr && data[ti + 1] == tg && data[ti + 2] == tb)
152
- bf[qi + 3] = 0;
174
+ if (data[ti] == tr && data[ti + 1] == tg && data[ti + 2] == tb) bf[qi + 3] = 0;
153
175
  }
154
176
  }
177
+
155
178
  if (depth == 16) {
156
179
  for (var i = 0; i < area; i++) {
157
- var qi = i << 2, ti = i * 6;
180
+ var qi = i << 2,
181
+ ti = i * 6;
158
182
  bf32[i] = 255 << 24 | data[ti + 4] << 16 | data[ti + 2] << 8 | data[ti];
159
- if (rs(data, ti) == tr && rs(data, ti + 2) == tg && rs(data, ti + 4) == tb)
160
- bf[qi + 3] = 0;
183
+ if (rs(data, ti) == tr && rs(data, ti + 2) == tg && rs(data, ti + 4) == tb) bf[qi + 3] = 0;
161
184
  }
162
185
  }
163
186
  }
164
187
  } else if (ctype == 3) {
165
- var p = out.tabs["PLTE"], ap = out.tabs["tRNS"], tl = ap ? ap.length : 0;
188
+ // palette
189
+ var p = out.tabs['PLTE'],
190
+ ap = out.tabs['tRNS'],
191
+ tl = ap ? ap.length : 0; //console.log(p, ap);
192
+
166
193
  if (depth == 1) {
167
194
  for (var y = 0; y < h; y++) {
168
- var s0 = y * bpl, t0 = y * w;
195
+ var s0 = y * bpl,
196
+ t0 = y * w;
197
+
169
198
  for (var i = 0; i < w; i++) {
170
- var qi = t0 + i << 2, j = data[s0 + (i >> 3)] >> 7 - ((i & 7) << 0) & 1, cj = 3 * j;
199
+ var qi = t0 + i << 2,
200
+ j = data[s0 + (i >> 3)] >> 7 - ((i & 7) << 0) & 1,
201
+ cj = 3 * j;
171
202
  bf[qi] = p[cj];
172
203
  bf[qi + 1] = p[cj + 1];
173
204
  bf[qi + 2] = p[cj + 2];
@@ -175,11 +206,16 @@ UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
175
206
  }
176
207
  }
177
208
  }
209
+
178
210
  if (depth == 2) {
179
211
  for (var y = 0; y < h; y++) {
180
- var s0 = y * bpl, t0 = y * w;
212
+ var s0 = y * bpl,
213
+ t0 = y * w;
214
+
181
215
  for (var i = 0; i < w; i++) {
182
- var qi = t0 + i << 2, j = data[s0 + (i >> 2)] >> 6 - ((i & 3) << 1) & 3, cj = 3 * j;
216
+ var qi = t0 + i << 2,
217
+ j = data[s0 + (i >> 2)] >> 6 - ((i & 3) << 1) & 3,
218
+ cj = 3 * j;
183
219
  bf[qi] = p[cj];
184
220
  bf[qi + 1] = p[cj + 1];
185
221
  bf[qi + 2] = p[cj + 2];
@@ -187,11 +223,16 @@ UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
187
223
  }
188
224
  }
189
225
  }
226
+
190
227
  if (depth == 4) {
191
228
  for (var y = 0; y < h; y++) {
192
- var s0 = y * bpl, t0 = y * w;
229
+ var s0 = y * bpl,
230
+ t0 = y * w;
231
+
193
232
  for (var i = 0; i < w; i++) {
194
- var qi = t0 + i << 2, j = data[s0 + (i >> 1)] >> 4 - ((i & 1) << 2) & 15, cj = 3 * j;
233
+ var qi = t0 + i << 2,
234
+ j = data[s0 + (i >> 1)] >> 4 - ((i & 1) << 2) & 15,
235
+ cj = 3 * j;
195
236
  bf[qi] = p[cj];
196
237
  bf[qi + 1] = p[cj + 1];
197
238
  bf[qi + 2] = p[cj + 2];
@@ -199,9 +240,12 @@ UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
199
240
  }
200
241
  }
201
242
  }
243
+
202
244
  if (depth == 8) {
203
245
  for (var i = 0; i < area; i++) {
204
- var qi = i << 2, j = data[i], cj = 3 * j;
246
+ var qi = i << 2,
247
+ j = data[i],
248
+ cj = 3 * j;
205
249
  bf[qi] = p[cj];
206
250
  bf[qi + 1] = p[cj + 1];
207
251
  bf[qi + 2] = p[cj + 2];
@@ -209,18 +253,24 @@ UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
209
253
  }
210
254
  }
211
255
  } else if (ctype == 4) {
256
+ // gray + alpha
212
257
  if (depth == 8) {
213
258
  for (var i = 0; i < area; i++) {
214
- var qi = i << 2, di = i << 1, gr = data[di];
259
+ var qi = i << 2,
260
+ di = i << 1,
261
+ gr = data[di];
215
262
  bf[qi] = gr;
216
263
  bf[qi + 1] = gr;
217
264
  bf[qi + 2] = gr;
218
265
  bf[qi + 3] = data[di + 1];
219
266
  }
220
267
  }
268
+
221
269
  if (depth == 16) {
222
270
  for (var i = 0; i < area; i++) {
223
- var qi = i << 2, di = i << 2, gr = data[di];
271
+ var qi = i << 2,
272
+ di = i << 2,
273
+ gr = data[di];
224
274
  bf[qi] = gr;
225
275
  bf[qi + 1] = gr;
226
276
  bf[qi + 2] = gr;
@@ -228,71 +278,99 @@ UPNG.toRGBA8.decodeImage = function(data, w, h, out) {
228
278
  }
229
279
  }
230
280
  } else if (ctype == 0) {
231
- var tr = out.tabs["tRNS"] ? out.tabs["tRNS"] : -1;
281
+ // gray
282
+ var tr = out.tabs['tRNS'] ? out.tabs['tRNS'] : -1;
283
+
232
284
  for (var y = 0; y < h; y++) {
233
- var off = y * bpl, to = y * w;
285
+ var off = y * bpl,
286
+ to = y * w;
287
+
234
288
  if (depth == 1) {
235
289
  for (var x = 0; x < w; x++) {
236
- var gr = 255 * (data[off + (x >>> 3)] >>> 7 - (x & 7) & 1), al = gr == tr * 255 ? 0 : 255;
290
+ var gr = 255 * (data[off + (x >>> 3)] >>> 7 - (x & 7) & 1),
291
+ al = gr == tr * 255 ? 0 : 255;
237
292
  bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
238
293
  }
239
294
  } else if (depth == 2) {
240
295
  for (var x = 0; x < w; x++) {
241
- var gr = 85 * (data[off + (x >>> 2)] >>> 6 - ((x & 3) << 1) & 3), al = gr == tr * 85 ? 0 : 255;
296
+ var gr = 85 * (data[off + (x >>> 2)] >>> 6 - ((x & 3) << 1) & 3),
297
+ al = gr == tr * 85 ? 0 : 255;
242
298
  bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
243
299
  }
244
300
  } else if (depth == 4) {
245
301
  for (var x = 0; x < w; x++) {
246
- var gr = 17 * (data[off + (x >>> 1)] >>> 4 - ((x & 1) << 2) & 15), al = gr == tr * 17 ? 0 : 255;
302
+ var gr = 17 * (data[off + (x >>> 1)] >>> 4 - ((x & 1) << 2) & 15),
303
+ al = gr == tr * 17 ? 0 : 255;
247
304
  bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
248
305
  }
249
306
  } else if (depth == 8) {
250
307
  for (var x = 0; x < w; x++) {
251
- var gr = data[off + x], al = gr == tr ? 0 : 255;
308
+ var gr = data[off + x],
309
+ al = gr == tr ? 0 : 255;
252
310
  bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
253
311
  }
254
312
  } else if (depth == 16) {
255
313
  for (var x = 0; x < w; x++) {
256
- var gr = data[off + (x << 1)], al = rs(data, off + (x << 1)) == tr ? 0 : 255;
314
+ var gr = data[off + (x << 1)],
315
+ al = rs(data, off + (x << 1)) == tr ? 0 : 255;
257
316
  bf32[to + x] = al << 24 | gr << 16 | gr << 8 | gr;
258
317
  }
259
318
  }
260
319
  }
261
- }
320
+ } //console.log(Date.now()-time);
321
+
322
+
262
323
  return bf;
263
324
  };
264
- UPNG.decode = function(buff) {
265
- var data = new Uint8Array(buff), offset = 8, bin = UPNG._bin, rUs = bin.readUshort, rUi = bin.readUint;
266
- var out = { tabs: {}, frames: [] };
267
- var dd = new Uint8Array(data.length), doff = 0;
268
- var fd, foff = 0;
325
+
326
+ UPNG.decode = function (buff) {
327
+ var data = new Uint8Array(buff),
328
+ offset = 8,
329
+ bin = UPNG._bin,
330
+ rUs = bin.readUshort,
331
+ rUi = bin.readUint;
332
+ var out = {
333
+ tabs: {},
334
+ frames: []
335
+ };
336
+ var dd = new Uint8Array(data.length),
337
+ doff = 0; // put all IDAT data into it
338
+
339
+ var fd,
340
+ foff = 0; // frames
341
+
269
342
  var text, keyw, bfr;
270
- var mgck = [137, 80, 78, 71, 13, 10, 26, 10];
271
- for (var i = 0; i < 8; i++)
272
- if (data[i] != mgck[i])
273
- throw new Error("The input is not a PNG file!");
343
+ var mgck = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a];
344
+
345
+ for (var i = 0; i < 8; i++) if (data[i] != mgck[i]) throw new Error('The input is not a PNG file!');
346
+
274
347
  while (offset < data.length) {
275
348
  var len = bin.readUint(data, offset);
276
349
  offset += 4;
277
350
  var type = bin.readASCII(data, offset, 4);
278
- offset += 4;
279
- if (type == "IHDR") {
351
+ offset += 4; //console.log(type,len);
352
+
353
+ if (type == 'IHDR') {
280
354
  UPNG.decode._IHDR(data, offset, out);
281
- } else if (type == "CgBI") {
355
+ } else if (type == 'CgBI') {
282
356
  out.tabs[type] = data.slice(offset, offset + 4);
283
- } else if (type == "IDAT") {
284
- for (var i = 0; i < len; i++)
285
- dd[doff + i] = data[offset + i];
357
+ } else if (type == 'IDAT') {
358
+ for (var i = 0; i < len; i++) dd[doff + i] = data[offset + i];
359
+
286
360
  doff += len;
287
- } else if (type == "acTL") {
288
- out.tabs[type] = { num_frames: rUi(data, offset), num_plays: rUi(data, offset + 4) };
361
+ } else if (type == 'acTL') {
362
+ out.tabs[type] = {
363
+ num_frames: rUi(data, offset),
364
+ num_plays: rUi(data, offset + 4)
365
+ };
289
366
  fd = new Uint8Array(data.length);
290
- } else if (type == "fcTL") {
367
+ } else if (type == 'fcTL') {
291
368
  if (foff != 0) {
292
369
  var fr = out.frames[out.frames.length - 1];
293
370
  fr.data = UPNG.decode._decompress(out, fd.slice(0, foff), fr.rect.width, fr.rect.height);
294
371
  foff = 0;
295
372
  }
373
+
296
374
  var rct = {
297
375
  x: rUi(data, offset + 12),
298
376
  y: rUi(data, offset + 16),
@@ -301,35 +379,42 @@ UPNG.decode = function(buff) {
301
379
  };
302
380
  var del = rUs(data, offset + 22);
303
381
  del = rUs(data, offset + 20) / (del == 0 ? 100 : del);
304
- var frm = { rect: rct, delay: Math.round(del * 1e3), dispose: data[offset + 24], blend: data[offset + 25] };
382
+ var frm = {
383
+ rect: rct,
384
+ delay: Math.round(del * 1000),
385
+ dispose: data[offset + 24],
386
+ blend: data[offset + 25]
387
+ }; //console.log(frm);
388
+
305
389
  out.frames.push(frm);
306
- } else if (type == "fdAT") {
307
- for (var i = 0; i < len - 4; i++)
308
- fd[foff + i] = data[offset + i + 4];
390
+ } else if (type == 'fdAT') {
391
+ for (var i = 0; i < len - 4; i++) fd[foff + i] = data[offset + i + 4];
392
+
309
393
  foff += len - 4;
310
- } else if (type == "pHYs") {
394
+ } else if (type == 'pHYs') {
311
395
  out.tabs[type] = [bin.readUint(data, offset), bin.readUint(data, offset + 4), data[offset + 8]];
312
- } else if (type == "cHRM") {
396
+ } else if (type == 'cHRM') {
313
397
  out.tabs[type] = [];
314
- for (var i = 0; i < 8; i++)
315
- out.tabs[type].push(bin.readUint(data, offset + i * 4));
316
- } else if (type == "tEXt" || type == "zTXt") {
317
- if (out.tabs[type] == null)
318
- out.tabs[type] = {};
398
+
399
+ for (var i = 0; i < 8; i++) out.tabs[type].push(bin.readUint(data, offset + i * 4));
400
+ } else if (type == 'tEXt' || type == 'zTXt') {
401
+ if (out.tabs[type] == null) out.tabs[type] = {};
319
402
  var nz = bin.nextZero(data, offset);
320
403
  keyw = bin.readASCII(data, offset, nz - offset);
321
404
  var tl = offset + len - nz - 1;
322
- if (type == "tEXt") {
405
+
406
+ if (type == 'tEXt') {
323
407
  text = bin.readASCII(data, nz + 1, tl);
324
408
  } else {
325
409
  bfr = UPNG.decode._inflate(data.slice(nz + 2, nz + 2 + tl));
326
410
  text = bin.readUTF8(bfr, 0, bfr.length);
327
411
  }
412
+
328
413
  out.tabs[type][keyw] = text;
329
- } else if (type == "iTXt") {
330
- if (out.tabs[type] == null)
331
- out.tabs[type] = {};
332
- var nz = 0, off = offset;
414
+ } else if (type == 'iTXt') {
415
+ if (out.tabs[type] == null) out.tabs[type] = {};
416
+ var nz = 0,
417
+ off = offset;
333
418
  nz = bin.nextZero(data, off);
334
419
  keyw = bin.readASCII(data, off, nz - off);
335
420
  off = nz + 1;
@@ -342,32 +427,29 @@ UPNG.decode = function(buff) {
342
427
  bin.readUTF8(data, off, nz - off);
343
428
  off = nz + 1;
344
429
  var tl = len - (off - offset);
430
+
345
431
  if (cflag == 0) {
346
432
  text = bin.readUTF8(data, off, tl);
347
433
  } else {
348
434
  bfr = UPNG.decode._inflate(data.slice(off, off + tl));
349
435
  text = bin.readUTF8(bfr, 0, bfr.length);
350
436
  }
437
+
351
438
  out.tabs[type][keyw] = text;
352
- } else if (type == "PLTE") {
439
+ } else if (type == 'PLTE') {
353
440
  out.tabs[type] = bin.readBytes(data, offset, len);
354
- } else if (type == "hIST") {
355
- var pl = out.tabs["PLTE"].length / 3;
441
+ } else if (type == 'hIST') {
442
+ var pl = out.tabs['PLTE'].length / 3;
356
443
  out.tabs[type] = [];
357
- for (var i = 0; i < pl; i++)
358
- out.tabs[type].push(rUs(data, offset + i * 2));
359
- } else if (type == "tRNS") {
360
- if (out.ctype == 3)
361
- out.tabs[type] = bin.readBytes(data, offset, len);
362
- else if (out.ctype == 0)
363
- out.tabs[type] = rUs(data, offset);
364
- else if (out.ctype == 2)
365
- out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)];
366
- } else if (type == "gAMA") {
367
- out.tabs[type] = bin.readUint(data, offset) / 1e5;
368
- } else if (type == "sRGB") {
444
+
445
+ for (var i = 0; i < pl; i++) out.tabs[type].push(rUs(data, offset + i * 2));
446
+ } else if (type == 'tRNS') {
447
+ if (out.ctype == 3) out.tabs[type] = bin.readBytes(data, offset, len);else if (out.ctype == 0) out.tabs[type] = rUs(data, offset);else if (out.ctype == 2) out.tabs[type] = [rUs(data, offset), rUs(data, offset + 2), rUs(data, offset + 4)]; //else console.log("tRNS for unsupported color type",out.ctype, len);
448
+ } else if (type == 'gAMA') {
449
+ out.tabs[type] = bin.readUint(data, offset) / 100000;
450
+ } else if (type == 'sRGB') {
369
451
  out.tabs[type] = data[offset];
370
- } else if (type == "bKGD") {
452
+ } else if (type == 'bKGD') {
371
453
  if (out.ctype == 0 || out.ctype == 4) {
372
454
  out.tabs[type] = [rUs(data, offset)];
373
455
  } else if (out.ctype == 2 || out.ctype == 6) {
@@ -375,88 +457,115 @@ UPNG.decode = function(buff) {
375
457
  } else if (out.ctype == 3) {
376
458
  out.tabs[type] = data[offset];
377
459
  }
378
- } else if (type == "IEND") {
460
+ } else if (type == 'IEND') {
379
461
  break;
380
- }
462
+ } //else { console.log("unknown chunk type", type, len); out.tabs[type]=data.slice(offset,offset+len); }
463
+
464
+
381
465
  offset += len;
382
466
  bin.readUint(data, offset);
383
467
  offset += 4;
384
468
  }
469
+
385
470
  if (foff != 0) {
386
471
  var fr = out.frames[out.frames.length - 1];
387
472
  fr.data = UPNG.decode._decompress(out, fd.slice(0, foff), fr.rect.width, fr.rect.height);
388
473
  }
474
+
389
475
  out.data = UPNG.decode._decompress(out, dd, out.width, out.height);
390
476
  delete out.compress;
391
477
  delete out.interlace;
392
478
  delete out.filter;
393
479
  return out;
394
480
  };
395
- UPNG.decode._decompress = function(out, dd, w, h) {
396
- var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w * bpp / 8), buff = new Uint8Array((bpl + 1 + out.interlace) * h);
397
- if (out.tabs["CgBI"])
398
- dd = UPNG.inflateRaw(dd, buff);
399
- else
400
- dd = UPNG.decode._inflate(dd, buff);
401
- if (out.interlace == 0)
402
- dd = UPNG.decode._filterZero(dd, out, 0, w, h);
403
- else if (out.interlace == 1)
404
- dd = UPNG.decode._readInterlace(dd, out);
481
+
482
+ UPNG.decode._decompress = function (out, dd, w, h) {
483
+ var bpp = UPNG.decode._getBPP(out),
484
+ bpl = Math.ceil(w * bpp / 8),
485
+ buff = new Uint8Array((bpl + 1 + out.interlace) * h);
486
+
487
+ if (out.tabs['CgBI']) dd = UPNG.inflateRaw(dd, buff);else dd = UPNG.decode._inflate(dd, buff);
488
+ if (out.interlace == 0) dd = UPNG.decode._filterZero(dd, out, 0, w, h);else if (out.interlace == 1) dd = UPNG.decode._readInterlace(dd, out);
405
489
  return dd;
406
490
  };
407
- UPNG.decode._inflate = function(data, buff) {
408
- var out = UPNG["inflateRaw"](new Uint8Array(data.buffer, 2, data.length - 6), buff);
491
+
492
+ UPNG.decode._inflate = function (data, buff) {
493
+ var out = UPNG['inflateRaw'](new Uint8Array(data.buffer, 2, data.length - 6), buff);
409
494
  return out;
410
495
  };
411
- UPNG.inflateRaw = function() {
496
+
497
+ UPNG.inflateRaw = function () {
412
498
  var H = {};
413
499
  H.H = {};
414
- H.H.N = function(N, W) {
415
- var R = Uint8Array, i = 0, m = 0, J = 0, h = 0, Q = 0, X = 0, u = 0, w = 0, d = 0, v, C;
416
- if (N[0] == 3 && N[1] == 0)
417
- return W ? W : new R(0);
418
- var V = H.H, n = V.b, A = V.e, l = V.R, M = V.n, I = V.A, e = V.Z, b = V.m, Z = W == null;
419
- if (Z)
420
- W = new R(N.length >>> 2 << 5);
500
+
501
+ H.H.N = function (N, W) {
502
+ var R = Uint8Array,
503
+ i = 0,
504
+ m = 0,
505
+ J = 0,
506
+ h = 0,
507
+ Q = 0,
508
+ X = 0,
509
+ u = 0,
510
+ w = 0,
511
+ d = 0,
512
+ v,
513
+ C;
514
+ if (N[0] == 3 && N[1] == 0) return W ? W : new R(0);
515
+ var V = H.H,
516
+ n = V.b,
517
+ A = V.e,
518
+ l = V.R,
519
+ M = V.n,
520
+ I = V.A,
521
+ e = V.Z,
522
+ b = V.m,
523
+ Z = W == null;
524
+ if (Z) W = new R(N.length >>> 2 << 5);
525
+
421
526
  while (i == 0) {
422
527
  i = n(N, d, 1);
423
528
  m = n(N, d + 1, 2);
424
529
  d += 3;
530
+
425
531
  if (m == 0) {
426
- if ((d & 7) != 0)
427
- d += 8 - (d & 7);
428
- var D = (d >>> 3) + 4, q = N[D - 4] | N[D - 3] << 8;
429
- if (Z)
430
- W = H.H.W(W, w + q);
532
+ if ((d & 7) != 0) d += 8 - (d & 7);
533
+ var D = (d >>> 3) + 4,
534
+ q = N[D - 4] | N[D - 3] << 8;
535
+ if (Z) W = H.H.W(W, w + q);
431
536
  W.set(new R(N.buffer, N.byteOffset + D, q), w);
432
537
  d = D + q << 3;
433
538
  w += q;
434
539
  continue;
435
540
  }
436
- if (Z)
437
- W = H.H.W(W, w + (1 << 17));
541
+
542
+ if (Z) W = H.H.W(W, w + (1 << 17));
543
+
438
544
  if (m == 1) {
439
545
  v = b.J;
440
546
  C = b.h;
441
547
  X = (1 << 9) - 1;
442
548
  u = (1 << 5) - 1;
443
549
  }
550
+
444
551
  if (m == 2) {
445
552
  J = A(N, d, 5) + 257;
446
553
  h = A(N, d + 5, 5) + 1;
447
554
  Q = A(N, d + 10, 4) + 4;
448
555
  d += 14;
449
556
  var j = 1;
557
+
450
558
  for (var c = 0; c < 38; c += 2) {
451
559
  b.Q[c] = 0;
452
560
  b.Q[c + 1] = 0;
453
561
  }
562
+
454
563
  for (var c = 0; c < Q; c++) {
455
564
  var K = A(N, d + c * 3, 3);
456
565
  b.Q[(b.X[c] << 1) + 1] = K;
457
- if (K > j)
458
- j = K;
566
+ if (K > j) j = K;
459
567
  }
568
+
460
569
  d += 3 * Q;
461
570
  M(b.Q, j);
462
571
  I(b.Q, j, b.u);
@@ -472,56 +581,72 @@ UPNG.inflateRaw = function() {
472
581
  M(b.D, S);
473
582
  I(b.D, S, C);
474
583
  }
475
- while (true) {
584
+
585
+ while (!0) {
476
586
  var T = v[e(N, d) & X];
477
587
  d += T & 15;
478
588
  var p = T >>> 4;
589
+
479
590
  if (p >>> 8 == 0) {
480
591
  W[w++] = p;
481
592
  } else if (p == 256) {
482
593
  break;
483
594
  } else {
484
595
  var z = w + p - 254;
596
+
485
597
  if (p > 264) {
486
598
  var _ = b.q[p - 257];
487
599
  z = w + (_ >>> 3) + A(N, d, _ & 7);
488
600
  d += _ & 7;
489
601
  }
602
+
490
603
  var $ = C[e(N, d) & u];
491
604
  d += $ & 15;
492
- var s = $ >>> 4, Y = b.c[s], a = (Y >>> 4) + n(N, d, Y & 15);
605
+ var s = $ >>> 4,
606
+ Y = b.c[s],
607
+ a = (Y >>> 4) + n(N, d, Y & 15);
493
608
  d += Y & 15;
609
+
494
610
  while (w < z) {
495
611
  W[w] = W[w++ - a];
496
612
  W[w] = W[w++ - a];
497
613
  W[w] = W[w++ - a];
498
614
  W[w] = W[w++ - a];
499
615
  }
616
+
500
617
  w = z;
501
618
  }
502
619
  }
503
620
  }
621
+
504
622
  return W.length == w ? W : W.slice(0, w);
505
623
  };
506
- H.H.W = function(N, W) {
624
+
625
+ H.H.W = function (N, W) {
507
626
  var R = N.length;
508
- if (W <= R)
509
- return N;
627
+ if (W <= R) return N;
510
628
  var V = new Uint8Array(R << 1);
511
629
  V.set(N, 0);
512
630
  return V;
513
631
  };
514
- H.H.R = function(N, W, R, V, n, A) {
515
- var l = H.H.e, M = H.H.Z, I = 0;
632
+
633
+ H.H.R = function (N, W, R, V, n, A) {
634
+ var l = H.H.e,
635
+ M = H.H.Z,
636
+ I = 0;
637
+
516
638
  while (I < R) {
517
639
  var e = N[M(V, n) & W];
518
640
  n += e & 15;
519
641
  var b = e >>> 4;
642
+
520
643
  if (b <= 15) {
521
644
  A[I] = b;
522
645
  I++;
523
646
  } else {
524
- var Z = 0, m = 0;
647
+ var Z = 0,
648
+ m = 0;
649
+
525
650
  if (b == 16) {
526
651
  m = 3 + l(V, n, 2);
527
652
  n += 2;
@@ -533,58 +658,88 @@ UPNG.inflateRaw = function() {
533
658
  m = 11 + l(V, n, 7);
534
659
  n += 7;
535
660
  }
661
+
536
662
  var J = I + m;
663
+
537
664
  while (I < J) {
538
665
  A[I] = Z;
539
666
  I++;
540
667
  }
541
668
  }
542
669
  }
670
+
543
671
  return n;
544
672
  };
545
- H.H.V = function(N, W, R, V) {
546
- var n = 0, A = 0, l = V.length >>> 1;
673
+
674
+ H.H.V = function (N, W, R, V) {
675
+ var n = 0,
676
+ A = 0,
677
+ l = V.length >>> 1;
678
+
547
679
  while (A < R) {
548
680
  var M = N[A + W];
549
681
  V[A << 1] = 0;
550
682
  V[(A << 1) + 1] = M;
551
- if (M > n)
552
- n = M;
683
+ if (M > n) n = M;
553
684
  A++;
554
685
  }
686
+
555
687
  while (A < l) {
556
688
  V[A << 1] = 0;
557
689
  V[(A << 1) + 1] = 0;
558
690
  A++;
559
691
  }
692
+
560
693
  return n;
561
694
  };
562
- H.H.n = function(N, W) {
563
- var R = H.H.m, V = N.length, n, A, l, M, I, e = R.j;
564
- for (var M = 0; M <= W; M++)
565
- e[M] = 0;
566
- for (M = 1; M < V; M += 2)
567
- e[N[M]]++;
695
+
696
+ H.H.n = function (N, W) {
697
+ var R = H.H.m,
698
+ V = N.length,
699
+ n,
700
+ A,
701
+ l,
702
+ M,
703
+ I,
704
+ e = R.j;
705
+
706
+ for (var M = 0; M <= W; M++) e[M] = 0;
707
+
708
+ for (M = 1; M < V; M += 2) e[N[M]]++;
709
+
568
710
  var b = R.K;
569
711
  n = 0;
570
712
  e[0] = 0;
713
+
571
714
  for (A = 1; A <= W; A++) {
572
715
  n = n + e[A - 1] << 1;
573
716
  b[A] = n;
574
717
  }
718
+
575
719
  for (l = 0; l < V; l += 2) {
576
720
  I = N[l + 1];
721
+
577
722
  if (I != 0) {
578
723
  N[l] = b[I];
579
724
  b[I]++;
580
725
  }
581
726
  }
582
727
  };
583
- H.H.A = function(N, W, R) {
584
- var V = N.length, n = H.H.m, A = n.r;
728
+
729
+ H.H.A = function (N, W, R) {
730
+ var V = N.length,
731
+ n = H.H.m,
732
+ A = n.r;
733
+
585
734
  for (var l = 0; l < V; l += 2) {
586
735
  if (N[l + 1] != 0) {
587
- var M = l >> 1, I = N[l + 1], e = M << 4 | I, b = W - I, Z = N[l] << b, m = Z + (1 << b);
736
+ var M = l >> 1,
737
+ I = N[l + 1],
738
+ e = M << 4 | I,
739
+ b = W - I,
740
+ Z = N[l] << b,
741
+ m = Z + (1 << b);
742
+
588
743
  while (Z != m) {
589
744
  var J = A[Z] >>> 15 - W;
590
745
  R[J] = e;
@@ -593,114 +748,59 @@ UPNG.inflateRaw = function() {
593
748
  }
594
749
  }
595
750
  };
596
- H.H.l = function(N, W) {
597
- var R = H.H.m.r, V = 15 - W;
751
+
752
+ H.H.l = function (N, W) {
753
+ var R = H.H.m.r,
754
+ V = 15 - W;
755
+
598
756
  for (var n = 0; n < N.length; n += 2) {
599
757
  var A = N[n] << W - N[n + 1];
600
758
  N[n] = R[A] >>> V;
601
759
  }
602
760
  };
603
- H.H.M = function(N, W, R) {
761
+
762
+ H.H.M = function (N, W, R) {
604
763
  R = R << (W & 7);
605
764
  var V = W >>> 3;
606
765
  N[V] |= R;
607
766
  N[V + 1] |= R >>> 8;
608
767
  };
609
- H.H.I = function(N, W, R) {
768
+
769
+ H.H.I = function (N, W, R) {
610
770
  R = R << (W & 7);
611
771
  var V = W >>> 3;
612
772
  N[V] |= R;
613
773
  N[V + 1] |= R >>> 8;
614
774
  N[V + 2] |= R >>> 16;
615
775
  };
616
- H.H.e = function(N, W, R) {
776
+
777
+ H.H.e = function (N, W, R) {
617
778
  return (N[W >>> 3] | N[(W >>> 3) + 1] << 8) >>> (W & 7) & (1 << R) - 1;
618
779
  };
619
- H.H.b = function(N, W, R) {
780
+
781
+ H.H.b = function (N, W, R) {
620
782
  return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16) >>> (W & 7) & (1 << R) - 1;
621
783
  };
622
- H.H.Z = function(N, W) {
784
+
785
+ H.H.Z = function (N, W) {
623
786
  return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16) >>> (W & 7);
624
787
  };
625
- H.H.i = function(N, W) {
788
+
789
+ H.H.i = function (N, W) {
626
790
  return (N[W >>> 3] | N[(W >>> 3) + 1] << 8 | N[(W >>> 3) + 2] << 16 | N[(W >>> 3) + 3] << 24) >>> (W & 7);
627
791
  };
628
- H.H.m = function() {
629
- var N = Uint16Array, W = Uint32Array;
792
+
793
+ H.H.m = function () {
794
+ var N = Uint16Array,
795
+ W = Uint32Array;
630
796
  return {
631
797
  K: new N(16),
632
798
  j: new N(16),
633
799
  X: [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],
634
- S: [
635
- 3,
636
- 4,
637
- 5,
638
- 6,
639
- 7,
640
- 8,
641
- 9,
642
- 10,
643
- 11,
644
- 13,
645
- 15,
646
- 17,
647
- 19,
648
- 23,
649
- 27,
650
- 31,
651
- 35,
652
- 43,
653
- 51,
654
- 59,
655
- 67,
656
- 83,
657
- 99,
658
- 115,
659
- 131,
660
- 163,
661
- 195,
662
- 227,
663
- 258,
664
- 999,
665
- 999,
666
- 999
667
- ],
800
+ S: [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 999, 999, 999],
668
801
  T: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0],
669
802
  q: new N(32),
670
- p: [
671
- 1,
672
- 2,
673
- 3,
674
- 4,
675
- 5,
676
- 7,
677
- 9,
678
- 13,
679
- 17,
680
- 25,
681
- 33,
682
- 49,
683
- 65,
684
- 97,
685
- 129,
686
- 193,
687
- 257,
688
- 385,
689
- 513,
690
- 769,
691
- 1025,
692
- 1537,
693
- 2049,
694
- 3073,
695
- 4097,
696
- 6145,
697
- 8193,
698
- 12289,
699
- 16385,
700
- 24577,
701
- 65535,
702
- 65535
703
- ],
803
+ p: [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 65535, 65535],
704
804
  z: [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0],
705
805
  c: new W(32),
706
806
  J: new N(512),
@@ -723,8 +823,11 @@ UPNG.inflateRaw = function() {
723
823
  g: new N(1 << 15)
724
824
  };
725
825
  }();
726
- (function() {
727
- var N = H.H.m, W = 1 << 15;
826
+
827
+ (function () {
828
+ var N = H.H.m,
829
+ W = 1 << 15;
830
+
728
831
  for (var R = 0; R < W; R++) {
729
832
  var V = R;
730
833
  V = (V & 2863311530) >>> 1 | (V & 1431655765) << 1;
@@ -733,14 +836,16 @@ UPNG.inflateRaw = function() {
733
836
  V = (V & 4278255360) >>> 8 | (V & 16711935) << 8;
734
837
  N.r[R] = (V >>> 16 | V << 16) >>> 17;
735
838
  }
839
+
736
840
  function n(A, l, M) {
737
- while (l-- != 0)
738
- A.push(0, M);
841
+ while (l-- != 0) A.push(0, M);
739
842
  }
843
+
740
844
  for (var R = 0; R < 32; R++) {
741
845
  N.q[R] = N.S[R] << 3 | N.T[R];
742
846
  N.c[R] = N.p[R] << 4 | N.z[R];
743
847
  }
848
+
744
849
  n(N._, 144, 8);
745
850
  n(N._, 255 - 143, 9);
746
851
  n(N._, 279 - 255, 7);
@@ -757,11 +862,18 @@ UPNG.inflateRaw = function() {
757
862
  n(N.D, 30, 0);
758
863
  n(N.v, 320, 0);
759
864
  })();
865
+
760
866
  return H.H.N;
761
867
  }();
762
- UPNG.decode._readInterlace = function(data, out) {
763
- var w = out.width, h = out.height;
764
- var bpp = UPNG.decode._getBPP(out), cbpp = bpp >> 3, bpl = Math.ceil(w * bpp / 8);
868
+
869
+ UPNG.decode._readInterlace = function (data, out) {
870
+ var w = out.width,
871
+ h = out.height;
872
+
873
+ var bpp = UPNG.decode._getBPP(out),
874
+ cbpp = bpp >> 3,
875
+ bpl = Math.ceil(w * bpp / 8);
876
+
765
877
  var img = new Uint8Array(h * bpl);
766
878
  var di = 0;
767
879
  var starting_row = [0, 0, 4, 0, 2, 0, 1];
@@ -769,112 +881,136 @@ UPNG.decode._readInterlace = function(data, out) {
769
881
  var row_increment = [8, 8, 8, 4, 4, 2, 2];
770
882
  var col_increment = [8, 8, 4, 4, 2, 2, 1];
771
883
  var pass = 0;
884
+
772
885
  while (pass < 7) {
773
- var ri = row_increment[pass], ci = col_increment[pass];
774
- var sw = 0, sh = 0;
886
+ var ri = row_increment[pass],
887
+ ci = col_increment[pass];
888
+ var sw = 0,
889
+ sh = 0;
775
890
  var cr = starting_row[pass];
891
+
776
892
  while (cr < h) {
777
893
  cr += ri;
778
894
  sh++;
779
895
  }
896
+
780
897
  var cc = starting_col[pass];
898
+
781
899
  while (cc < w) {
782
900
  cc += ci;
783
901
  sw++;
784
902
  }
903
+
785
904
  var bpll = Math.ceil(sw * bpp / 8);
905
+
786
906
  UPNG.decode._filterZero(data, out, di, sw, sh);
787
- var y = 0, row = starting_row[pass];
907
+
908
+ var y = 0,
909
+ row = starting_row[pass];
788
910
  var val;
911
+
789
912
  while (row < h) {
790
913
  var col = starting_col[pass];
791
914
  var cdi = di + y * bpll << 3;
915
+
792
916
  while (col < w) {
793
917
  if (bpp == 1) {
794
918
  val = data[cdi >> 3];
795
919
  val = val >> 7 - (cdi & 7) & 1;
796
920
  img[row * bpl + (col >> 3)] |= val << 7 - ((col & 7) << 0);
797
921
  }
922
+
798
923
  if (bpp == 2) {
799
924
  val = data[cdi >> 3];
800
925
  val = val >> 6 - (cdi & 7) & 3;
801
926
  img[row * bpl + (col >> 2)] |= val << 6 - ((col & 3) << 1);
802
927
  }
928
+
803
929
  if (bpp == 4) {
804
930
  val = data[cdi >> 3];
805
931
  val = val >> 4 - (cdi & 7) & 15;
806
932
  img[row * bpl + (col >> 1)] |= val << 4 - ((col & 1) << 2);
807
933
  }
934
+
808
935
  if (bpp >= 8) {
809
936
  var ii = row * bpl + col * cbpp;
810
- for (var j = 0; j < cbpp; j++)
811
- img[ii + j] = data[(cdi >> 3) + j];
937
+
938
+ for (var j = 0; j < cbpp; j++) img[ii + j] = data[(cdi >> 3) + j];
812
939
  }
940
+
813
941
  cdi += bpp;
814
942
  col += ci;
815
943
  }
944
+
816
945
  y++;
817
946
  row += ri;
818
947
  }
819
- if (sw * sh != 0)
820
- di += sh * (1 + bpll);
948
+
949
+ if (sw * sh != 0) di += sh * (1 + bpll);
821
950
  pass = pass + 1;
822
951
  }
952
+
823
953
  return img;
824
954
  };
825
- UPNG.decode._getBPP = function(out) {
955
+
956
+ UPNG.decode._getBPP = function (out) {
826
957
  var noc = [1, null, 3, 1, 2, null, 4][out.ctype];
827
958
  return noc * out.depth;
828
959
  };
829
- UPNG.decode._filterZero = function(data, out, off, w, h) {
830
- var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w * bpp / 8), paeth = UPNG.decode._paeth;
960
+
961
+ UPNG.decode._filterZero = function (data, out, off, w, h) {
962
+ var bpp = UPNG.decode._getBPP(out),
963
+ bpl = Math.ceil(w * bpp / 8),
964
+ paeth = UPNG.decode._paeth;
965
+
831
966
  bpp = Math.ceil(bpp / 8);
832
- var i, di, type = data[off], x = 0;
833
- if (type > 1)
834
- data[off] = [0, 0, 1][type - 2];
835
- if (type == 3)
836
- for (x = bpp; x < bpl; x++)
837
- data[x + 1] = data[x + 1] + (data[x + 1 - bpp] >>> 1) & 255;
967
+ var i,
968
+ di,
969
+ type = data[off],
970
+ x = 0;
971
+ if (type > 1) data[off] = [0, 0, 1][type - 2];
972
+ if (type == 3) for (x = bpp; x < bpl; x++) data[x + 1] = data[x + 1] + (data[x + 1 - bpp] >>> 1) & 255;
973
+
838
974
  for (var y = 0; y < h; y++) {
839
975
  i = off + y * bpl;
840
976
  di = i + y + 1;
841
977
  type = data[di - 1];
842
978
  x = 0;
979
+
843
980
  if (type == 0) {
844
- for (; x < bpl; x++)
845
- data[i + x] = data[di + x];
981
+ for (; x < bpl; x++) data[i + x] = data[di + x];
846
982
  } else if (type == 1) {
847
- for (; x < bpp; x++)
848
- data[i + x] = data[di + x];
849
- for (; x < bpl; x++)
850
- data[i + x] = data[di + x] + data[i + x - bpp];
983
+ for (; x < bpp; x++) data[i + x] = data[di + x];
984
+
985
+ for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpp];
851
986
  } else if (type == 2) {
852
- for (; x < bpl; x++)
853
- data[i + x] = data[di + x] + data[i + x - bpl];
987
+ for (; x < bpl; x++) data[i + x] = data[di + x] + data[i + x - bpl];
854
988
  } else if (type == 3) {
855
- for (; x < bpp; x++)
856
- data[i + x] = data[di + x] + (data[i + x - bpl] >>> 1);
857
- for (; x < bpl; x++)
858
- data[i + x] = data[di + x] + (data[i + x - bpl] + data[i + x - bpp] >>> 1);
989
+ for (; x < bpp; x++) data[i + x] = data[di + x] + (data[i + x - bpl] >>> 1);
990
+
991
+ for (; x < bpl; x++) data[i + x] = data[di + x] + (data[i + x - bpl] + data[i + x - bpp] >>> 1);
859
992
  } else {
860
- for (; x < bpp; x++)
861
- data[i + x] = data[di + x] + paeth(0, data[i + x - bpl], 0);
993
+ for (; x < bpp; x++) data[i + x] = data[di + x] + paeth(0, data[i + x - bpl], 0);
994
+
862
995
  for (; x < bpl; x++) {
863
996
  data[i + x] = data[di + x] + paeth(data[i + x - bpp], data[i + x - bpl], data[i + x - bpp - bpl]);
864
997
  }
865
998
  }
866
999
  }
1000
+
867
1001
  return data;
868
1002
  };
869
- UPNG.decode._paeth = function(a, b, c) {
870
- var p = a + b - c, pa = p - a, pb = p - b, pc = p - c;
871
- if (pa * pa <= pb * pb && pa * pa <= pc * pc)
872
- return a;
873
- else if (pb * pb <= pc * pc)
874
- return b;
1003
+
1004
+ UPNG.decode._paeth = function (a, b, c) {
1005
+ var p = a + b - c,
1006
+ pa = p - a,
1007
+ pb = p - b,
1008
+ pc = p - c;
1009
+ if (pa * pa <= pb * pb && pa * pa <= pc * pc) return a;else if (pb * pb <= pc * pc) return b;
875
1010
  return c;
876
1011
  };
877
- UPNG.decode._IHDR = function(data, offset, out) {
1012
+
1013
+ UPNG.decode._IHDR = function (data, offset, out) {
878
1014
  var bin = UPNG._bin;
879
1015
  out.width = bin.readUint(data, offset);
880
1016
  offset += 4;
@@ -891,62 +1027,71 @@ UPNG.decode._IHDR = function(data, offset, out) {
891
1027
  out.interlace = data[offset];
892
1028
  offset++;
893
1029
  };
1030
+
894
1031
  UPNG._bin = {
895
- nextZero: function(data, p) {
896
- while (data[p] != 0)
897
- p++;
1032
+ nextZero: function (data, p) {
1033
+ while (data[p] != 0) p++;
1034
+
898
1035
  return p;
899
1036
  },
900
- readUshort: function(buff, p) {
1037
+ readUshort: function (buff, p) {
901
1038
  return buff[p] << 8 | buff[p + 1];
902
1039
  },
903
- writeUshort: function(buff, p, n) {
1040
+ writeUshort: function (buff, p, n) {
904
1041
  buff[p] = n >> 8 & 255;
905
1042
  buff[p + 1] = n & 255;
906
1043
  },
907
- readUint: function(buff, p) {
1044
+ readUint: function (buff, p) {
908
1045
  return buff[p] * (256 * 256 * 256) + (buff[p + 1] << 16 | buff[p + 2] << 8 | buff[p + 3]);
909
1046
  },
910
- writeUint: function(buff, p, n) {
1047
+ writeUint: function (buff, p, n) {
911
1048
  buff[p] = n >> 24 & 255;
912
1049
  buff[p + 1] = n >> 16 & 255;
913
1050
  buff[p + 2] = n >> 8 & 255;
914
1051
  buff[p + 3] = n & 255;
915
1052
  },
916
- readASCII: function(buff, p, l) {
917
- var s = "";
918
- for (var i = 0; i < l; i++)
919
- s += String.fromCharCode(buff[p + i]);
1053
+ readASCII: function (buff, p, l) {
1054
+ var s = '';
1055
+
1056
+ for (var i = 0; i < l; i++) s += String.fromCharCode(buff[p + i]);
1057
+
920
1058
  return s;
921
1059
  },
922
- writeASCII: function(data, p, s) {
923
- for (var i = 0; i < s.length; i++)
924
- data[p + i] = s.charCodeAt(i);
1060
+ writeASCII: function (data, p, s) {
1061
+ for (var i = 0; i < s.length; i++) data[p + i] = s.charCodeAt(i);
925
1062
  },
926
- readBytes: function(buff, p, l) {
1063
+ readBytes: function (buff, p, l) {
927
1064
  var arr = [];
928
- for (var i = 0; i < l; i++)
929
- arr.push(buff[p + i]);
1065
+
1066
+ for (var i = 0; i < l; i++) arr.push(buff[p + i]);
1067
+
930
1068
  return arr;
931
1069
  },
932
- pad: function(n) {
933
- return n.length < 2 ? "0" + n : n;
1070
+ pad: function (n) {
1071
+ return n.length < 2 ? '0' + n : n;
934
1072
  },
935
- readUTF8: function(buff, p, l) {
936
- var s = "", ns;
937
- for (var i = 0; i < l; i++)
938
- s += "%" + UPNG._bin.pad(buff[p + i].toString(16));
1073
+ readUTF8: function (buff, p, l) {
1074
+ var s = '',
1075
+ ns;
1076
+
1077
+ for (var i = 0; i < l; i++) s += '%' + UPNG._bin.pad(buff[p + i].toString(16));
1078
+
939
1079
  try {
940
1080
  ns = decodeURIComponent(s);
941
1081
  } catch (e) {
942
1082
  return UPNG._bin.readASCII(buff, p, l);
943
1083
  }
1084
+
944
1085
  return ns;
945
1086
  }
946
1087
  };
947
- UPNG._copyTile = function(sb, sw, sh, tb, tw, th, xoff, yoff, mode) {
948
- var w = Math.min(sw, tw), h = Math.min(sh, th);
949
- var si = 0, ti = 0;
1088
+
1089
+ UPNG._copyTile = function (sb, sw, sh, tb, tw, th, xoff, yoff, mode) {
1090
+ var w = Math.min(sw, tw),
1091
+ h = Math.min(sh, th);
1092
+ var si = 0,
1093
+ ti = 0;
1094
+
950
1095
  for (var y = 0; y < h; y++) {
951
1096
  for (var x = 0; x < w; x++) {
952
1097
  if (xoff >= 0 && yoff >= 0) {
@@ -956,22 +1101,39 @@ UPNG._copyTile = function(sb, sw, sh, tb, tw, th, xoff, yoff, mode) {
956
1101
  si = (-yoff + y) * sw - xoff + x << 2;
957
1102
  ti = y * tw + x << 2;
958
1103
  }
1104
+
959
1105
  if (mode == 0) {
960
1106
  tb[ti] = sb[si];
961
1107
  tb[ti + 1] = sb[si + 1];
962
1108
  tb[ti + 2] = sb[si + 2];
963
1109
  tb[ti + 3] = sb[si + 3];
964
1110
  } else if (mode == 1) {
965
- var fa = sb[si + 3] * (1 / 255), fr = sb[si] * fa, fg = sb[si + 1] * fa, fb = sb[si + 2] * fa;
966
- var ba = tb[ti + 3] * (1 / 255), br = tb[ti] * ba, bg = tb[ti + 1] * ba, bb = tb[ti + 2] * ba;
967
- var ifa = 1 - fa, oa = fa + ba * ifa, ioa = oa == 0 ? 0 : 1 / oa;
1111
+ var fa = sb[si + 3] * (1 / 255),
1112
+ fr = sb[si] * fa,
1113
+ fg = sb[si + 1] * fa,
1114
+ fb = sb[si + 2] * fa;
1115
+ var ba = tb[ti + 3] * (1 / 255),
1116
+ br = tb[ti] * ba,
1117
+ bg = tb[ti + 1] * ba,
1118
+ bb = tb[ti + 2] * ba;
1119
+ var ifa = 1 - fa,
1120
+ oa = fa + ba * ifa,
1121
+ ioa = oa == 0 ? 0 : 1 / oa;
968
1122
  tb[ti + 3] = 255 * oa;
969
1123
  tb[ti + 0] = (fr + br * ifa) * ioa;
970
1124
  tb[ti + 1] = (fg + bg * ifa) * ioa;
971
1125
  tb[ti + 2] = (fb + bb * ifa) * ioa;
972
1126
  } else if (mode == 2) {
973
- var fa = sb[si + 3], fr = sb[si], fg = sb[si + 1], fb = sb[si + 2];
974
- var ba = tb[ti + 3], br = tb[ti], bg = tb[ti + 1], bb = tb[ti + 2];
1127
+ // copy only differences, otherwise zero
1128
+ var fa = sb[si + 3],
1129
+ fr = sb[si],
1130
+ fg = sb[si + 1],
1131
+ fb = sb[si + 2];
1132
+ var ba = tb[ti + 3],
1133
+ br = tb[ti],
1134
+ bg = tb[ti + 1],
1135
+ bb = tb[ti + 2];
1136
+
975
1137
  if (fa == ba && fr == br && fg == bg && fb == bb) {
976
1138
  tb[ti] = 0;
977
1139
  tb[ti + 1] = 0;
@@ -984,15 +1146,23 @@ UPNG._copyTile = function(sb, sw, sh, tb, tw, th, xoff, yoff, mode) {
984
1146
  tb[ti + 3] = fa;
985
1147
  }
986
1148
  } else if (mode == 3) {
987
- var fa = sb[si + 3], fr = sb[si], fg = sb[si + 1], fb = sb[si + 2];
988
- var ba = tb[ti + 3], br = tb[ti], bg = tb[ti + 1], bb = tb[ti + 2];
989
- if (fa == ba && fr == br && fg == bg && fb == bb)
990
- continue;
991
- if (fa < 220 && ba > 20)
992
- return false;
1149
+ // check if can be blended
1150
+ var fa = sb[si + 3],
1151
+ fr = sb[si],
1152
+ fg = sb[si + 1],
1153
+ fb = sb[si + 2];
1154
+ var ba = tb[ti + 3],
1155
+ br = tb[ti],
1156
+ bg = tb[ti + 1],
1157
+ bb = tb[ti + 2];
1158
+ if (fa == ba && fr == br && fg == bg && fb == bb) continue; //if(fa!=255 && ba!=0) return false;
1159
+
1160
+ if (fa < 220 && ba > 20) return false;
993
1161
  }
994
1162
  }
995
1163
  }
1164
+
996
1165
  return true;
997
1166
  };
998
- exports.RGBMLoader = RGBMLoader;
1167
+
1168
+ export { RGBMLoader };