melonjs 20.3.0 → 20.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/README.md +19 -19
  2. package/build/application/application.d.ts +0 -17
  3. package/build/application/application.d.ts.map +1 -1
  4. package/build/application/settings.d.ts +3 -0
  5. package/build/application/settings.d.ts.map +1 -1
  6. package/build/audio/audio.d.ts.map +1 -1
  7. package/build/audio/backend/engine.d.ts +0 -19
  8. package/build/audio/backend/engine.d.ts.map +1 -1
  9. package/build/audio/backend/sound.d.ts +1 -51
  10. package/build/audio/backend/sound.d.ts.map +1 -1
  11. package/build/audio/backend/spatial.d.ts.map +1 -1
  12. package/build/audio/backend/types.d.ts +11 -1
  13. package/build/audio/backend/types.d.ts.map +1 -1
  14. package/build/audio/backend/voice.d.ts +0 -25
  15. package/build/audio/backend/voice.d.ts.map +1 -1
  16. package/build/audio/playback.d.ts.map +1 -1
  17. package/build/audio/procedural.d.ts.map +1 -1
  18. package/build/audio/state.d.ts +6 -79
  19. package/build/audio/state.d.ts.map +1 -1
  20. package/build/camera/camera2d.d.ts +0 -68
  21. package/build/camera/camera2d.d.ts.map +1 -1
  22. package/build/camera/camera3d.d.ts +86 -79
  23. package/build/camera/camera3d.d.ts.map +1 -1
  24. package/build/camera/effects/fade_effect.d.ts +0 -5
  25. package/build/camera/effects/fade_effect.d.ts.map +1 -1
  26. package/build/camera/effects/mask_effect.d.ts +0 -5
  27. package/build/camera/effects/mask_effect.d.ts.map +1 -1
  28. package/build/camera/fog.d.ts +118 -0
  29. package/build/camera/fog.d.ts.map +1 -0
  30. package/build/geometries/box3d.d.ts +0 -28
  31. package/build/geometries/box3d.d.ts.map +1 -1
  32. package/build/geometries/ellipse.d.ts +0 -20
  33. package/build/geometries/ellipse.d.ts.map +1 -1
  34. package/build/geometries/observablePoint.d.ts +0 -3
  35. package/build/geometries/observablePoint.d.ts.map +1 -1
  36. package/build/geometries/path2d.d.ts +0 -19
  37. package/build/geometries/path2d.d.ts.map +1 -1
  38. package/build/geometries/polygon.d.ts +0 -12
  39. package/build/geometries/polygon.d.ts.map +1 -1
  40. package/build/geometries/roundrect.d.ts +0 -18
  41. package/build/geometries/roundrect.d.ts.map +1 -1
  42. package/build/geometries/sphere.d.ts +0 -9
  43. package/build/geometries/sphere.d.ts.map +1 -1
  44. package/build/geometries/toarccanvas.d.ts.map +1 -1
  45. package/build/index.d.ts +1 -0
  46. package/build/index.d.ts.map +1 -1
  47. package/build/index.js +2652 -413
  48. package/build/index.js.map +3 -3
  49. package/build/input/gamepad.d.ts.map +1 -1
  50. package/build/input/pointer.d.ts +0 -4
  51. package/build/input/pointer.d.ts.map +1 -1
  52. package/build/input/pointerevent.d.ts +0 -6
  53. package/build/input/pointerevent.d.ts.map +1 -1
  54. package/build/lang/deprecated.d.ts.map +1 -1
  55. package/build/level/gltf/GLTFModel.d.ts +0 -81
  56. package/build/level/gltf/GLTFModel.d.ts.map +1 -1
  57. package/build/level/gltf/GLTFScene.d.ts +1 -44
  58. package/build/level/gltf/GLTFScene.d.ts.map +1 -1
  59. package/build/level/gltf/gltf_sampler.d.ts +1 -48
  60. package/build/level/gltf/gltf_sampler.d.ts.map +1 -1
  61. package/build/level/level.d.ts +195 -113
  62. package/build/level/level.d.ts.map +1 -1
  63. package/build/level/tiled/TMXGroup.d.ts +1 -65
  64. package/build/level/tiled/TMXGroup.d.ts.map +1 -1
  65. package/build/level/tiled/TMXLayer.d.ts +0 -44
  66. package/build/level/tiled/TMXLayer.d.ts.map +1 -1
  67. package/build/level/tiled/TMXObject.d.ts +1 -136
  68. package/build/level/tiled/TMXObject.d.ts.map +1 -1
  69. package/build/level/tiled/TMXObjectFactory.d.ts +1 -40
  70. package/build/level/tiled/TMXObjectFactory.d.ts.map +1 -1
  71. package/build/level/tiled/TMXTile.d.ts +1 -30
  72. package/build/level/tiled/TMXTile.d.ts.map +1 -1
  73. package/build/level/tiled/TMXTileMap.d.ts +0 -10
  74. package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
  75. package/build/level/tiled/TMXTileset.d.ts +0 -113
  76. package/build/level/tiled/TMXTileset.d.ts.map +1 -1
  77. package/build/level/tiled/TMXTilesetGroup.d.ts +0 -1
  78. package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -1
  79. package/build/level/tiled/TMXUtils.d.ts +1 -43
  80. package/build/level/tiled/TMXUtils.d.ts.map +1 -1
  81. package/build/level/tiled/factories/shape.d.ts +1 -7
  82. package/build/level/tiled/factories/shape.d.ts.map +1 -1
  83. package/build/level/tiled/factories/text.d.ts +1 -7
  84. package/build/level/tiled/factories/text.d.ts.map +1 -1
  85. package/build/level/tiled/factories/tile.d.ts +1 -7
  86. package/build/level/tiled/factories/tile.d.ts.map +1 -1
  87. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts +0 -60
  88. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -1
  89. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts +0 -42
  90. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
  91. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts +0 -5
  92. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
  93. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +0 -31
  94. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
  95. package/build/level/tiled/renderer/TMXRenderer.d.ts +2 -2
  96. package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -1
  97. package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -1
  98. package/build/level/tiled/renderer/autodetect.d.ts +1 -6
  99. package/build/level/tiled/renderer/autodetect.d.ts.map +1 -1
  100. package/build/lighting/light2d.d.ts +0 -25
  101. package/build/lighting/light2d.d.ts.map +1 -1
  102. package/build/lighting/light3d.d.ts +0 -16
  103. package/build/lighting/light3d.d.ts.map +1 -1
  104. package/build/loader/loader.d.ts +42 -33
  105. package/build/loader/loader.d.ts.map +1 -1
  106. package/build/loader/loadingscreen.d.ts +0 -33
  107. package/build/loader/loadingscreen.d.ts.map +1 -1
  108. package/build/loader/parsers/aseprite.d.ts +0 -13
  109. package/build/loader/parsers/aseprite.d.ts.map +1 -1
  110. package/build/loader/parsers/audio.d.ts +1 -30
  111. package/build/loader/parsers/audio.d.ts.map +1 -1
  112. package/build/loader/parsers/binary.d.ts +1 -10
  113. package/build/loader/parsers/binary.d.ts.map +1 -1
  114. package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -1
  115. package/build/loader/parsers/compressed_textures/parseDDS.d.ts +1 -7
  116. package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -1
  117. package/build/loader/parsers/compressed_textures/parseKTX.d.ts +1 -7
  118. package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -1
  119. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +1 -7
  120. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -1
  121. package/build/loader/parsers/compressed_textures/parsePKM.d.ts +1 -7
  122. package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -1
  123. package/build/loader/parsers/compressed_textures/parsePVR.d.ts +1 -7
  124. package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -1
  125. package/build/loader/parsers/fontface.d.ts +1 -13
  126. package/build/loader/parsers/fontface.d.ts.map +1 -1
  127. package/build/loader/parsers/gltf.d.ts +1 -70
  128. package/build/loader/parsers/gltf.d.ts.map +1 -1
  129. package/build/loader/parsers/image.d.ts +1 -22
  130. package/build/loader/parsers/image.d.ts.map +1 -1
  131. package/build/loader/parsers/json.d.ts +1 -10
  132. package/build/loader/parsers/json.d.ts.map +1 -1
  133. package/build/loader/parsers/mtl.d.ts +1 -28
  134. package/build/loader/parsers/mtl.d.ts.map +1 -1
  135. package/build/loader/parsers/obj.d.ts +1 -59
  136. package/build/loader/parsers/obj.d.ts.map +1 -1
  137. package/build/loader/parsers/pbr.d.ts +1 -62
  138. package/build/loader/parsers/pbr.d.ts.map +1 -1
  139. package/build/loader/parsers/script.d.ts +1 -10
  140. package/build/loader/parsers/script.d.ts.map +1 -1
  141. package/build/loader/parsers/shader.d.ts +1 -52
  142. package/build/loader/parsers/shader.d.ts.map +1 -1
  143. package/build/loader/parsers/tmx.d.ts +1 -10
  144. package/build/loader/parsers/tmx.d.ts.map +1 -1
  145. package/build/loader/parsers/video.d.ts +1 -10
  146. package/build/loader/parsers/video.d.ts.map +1 -1
  147. package/build/math/color.d.ts.map +1 -1
  148. package/build/math/noise.d.ts +0 -40
  149. package/build/math/noise.d.ts.map +1 -1
  150. package/build/math/observableVector2d.d.ts +0 -3
  151. package/build/math/observableVector2d.d.ts.map +1 -1
  152. package/build/math/observableVector3d.d.ts +0 -3
  153. package/build/math/observableVector3d.d.ts.map +1 -1
  154. package/build/math/vector2d.d.ts +0 -6
  155. package/build/math/vector2d.d.ts.map +1 -1
  156. package/build/math/vertex.d.ts +25 -0
  157. package/build/math/vertex.d.ts.map +1 -1
  158. package/build/particles/emitter.d.ts +0 -65
  159. package/build/particles/emitter.d.ts.map +1 -1
  160. package/build/particles/particle.d.ts +0 -81
  161. package/build/particles/particle.d.ts.map +1 -1
  162. package/build/physics/bounds.d.ts +0 -1
  163. package/build/physics/bounds.d.ts.map +1 -1
  164. package/build/physics/broadphase/broadphase.d.ts +0 -7
  165. package/build/physics/broadphase/broadphase.d.ts.map +1 -1
  166. package/build/physics/broadphase/octree.d.ts +0 -91
  167. package/build/physics/broadphase/octree.d.ts.map +1 -1
  168. package/build/physics/broadphase/quadtree.d.ts +0 -47
  169. package/build/physics/broadphase/quadtree.d.ts.map +1 -1
  170. package/build/physics/builtin/body.d.ts +2 -65
  171. package/build/physics/builtin/body.d.ts.map +1 -1
  172. package/build/physics/builtin/detector.d.ts +0 -312
  173. package/build/physics/builtin/detector.d.ts.map +1 -1
  174. package/build/physics/builtin/sat.d.ts +1 -48
  175. package/build/physics/builtin/sat.d.ts.map +1 -1
  176. package/build/physics/builtin/sat3d.d.ts +1 -56
  177. package/build/physics/builtin/sat3d.d.ts.map +1 -1
  178. package/build/physics/collision.d.ts +0 -2
  179. package/build/physics/collision.d.ts.map +1 -1
  180. package/build/physics/response.d.ts +0 -1
  181. package/build/physics/response.d.ts.map +1 -1
  182. package/build/physics/world.d.ts.map +1 -1
  183. package/build/renderable/anchorPoint.d.ts +1 -73
  184. package/build/renderable/anchorPoint.d.ts.map +1 -1
  185. package/build/renderable/animation.d.ts +0 -7
  186. package/build/renderable/animation.d.ts.map +1 -1
  187. package/build/renderable/colorlayer.d.ts +0 -5
  188. package/build/renderable/colorlayer.d.ts.map +1 -1
  189. package/build/renderable/container.d.ts +0 -55
  190. package/build/renderable/container.d.ts.map +1 -1
  191. package/build/renderable/draggable.d.ts +0 -5
  192. package/build/renderable/draggable.d.ts.map +1 -1
  193. package/build/renderable/dragndrop.d.ts +1 -12
  194. package/build/renderable/dragndrop.d.ts.map +1 -1
  195. package/build/renderable/entity/entity.d.ts +0 -8
  196. package/build/renderable/entity/entity.d.ts.map +1 -1
  197. package/build/renderable/frameAnimation.d.ts +0 -41
  198. package/build/renderable/frameAnimation.d.ts.map +1 -1
  199. package/build/renderable/groundshadow.d.ts +1 -91
  200. package/build/renderable/groundshadow.d.ts.map +1 -1
  201. package/build/renderable/imagelayer.d.ts +0 -29
  202. package/build/renderable/imagelayer.d.ts.map +1 -1
  203. package/build/renderable/instanced_mesh.d.ts +26 -104
  204. package/build/renderable/instanced_mesh.d.ts.map +1 -1
  205. package/build/renderable/mesh.d.ts +130 -141
  206. package/build/renderable/mesh.d.ts.map +1 -1
  207. package/build/renderable/nineslicesprite.d.ts +0 -4
  208. package/build/renderable/nineslicesprite.d.ts.map +1 -1
  209. package/build/renderable/renderable.d.ts +1 -44
  210. package/build/renderable/renderable.d.ts.map +1 -1
  211. package/build/renderable/sprite.d.ts +0 -45
  212. package/build/renderable/sprite.d.ts.map +1 -1
  213. package/build/renderable/sprite3d.d.ts +0 -95
  214. package/build/renderable/sprite3d.d.ts.map +1 -1
  215. package/build/renderable/text/bitmaptext.d.ts +0 -14
  216. package/build/renderable/text/bitmaptext.d.ts.map +1 -1
  217. package/build/renderable/text/bitmaptextdata.d.ts +0 -22
  218. package/build/renderable/text/bitmaptextdata.d.ts.map +1 -1
  219. package/build/renderable/text/glyph.d.ts +1 -39
  220. package/build/renderable/text/glyph.d.ts.map +1 -1
  221. package/build/renderable/text/text.d.ts +0 -20
  222. package/build/renderable/text/text.d.ts.map +1 -1
  223. package/build/renderable/text/textstyle.d.ts +1 -5
  224. package/build/renderable/text/textstyle.d.ts.map +1 -1
  225. package/build/renderable/trail.d.ts +0 -29
  226. package/build/renderable/trail.d.ts.map +1 -1
  227. package/build/renderable/trigger.d.ts +0 -6
  228. package/build/renderable/trigger.d.ts.map +1 -1
  229. package/build/renderable/ui/uibaseelement.d.ts +0 -40
  230. package/build/renderable/ui/uibaseelement.d.ts.map +1 -1
  231. package/build/renderable/ui/uispriteelement.d.ts +0 -35
  232. package/build/renderable/ui/uispriteelement.d.ts.map +1 -1
  233. package/build/state/stage.d.ts +0 -66
  234. package/build/state/stage.d.ts.map +1 -1
  235. package/build/state/state.d.ts.map +1 -1
  236. package/build/system/device.d.ts +0 -12
  237. package/build/system/device.d.ts.map +1 -1
  238. package/build/system/dom.d.ts +1 -8
  239. package/build/system/dom.d.ts.map +1 -1
  240. package/build/system/legacy_pool.d.ts +1 -6
  241. package/build/system/legacy_pool.d.ts.map +1 -1
  242. package/build/system/platform.d.ts +0 -1
  243. package/build/system/platform.d.ts.map +1 -1
  244. package/build/system/pool.d.ts +0 -9
  245. package/build/system/pool.d.ts.map +1 -1
  246. package/build/system/save.d.ts.map +1 -1
  247. package/build/system/timer.d.ts +0 -20
  248. package/build/system/timer.d.ts.map +1 -1
  249. package/build/tweens/tween.d.ts +0 -62
  250. package/build/tweens/tween.d.ts.map +1 -1
  251. package/build/utils/array-multimap.d.ts +1 -13
  252. package/build/utils/array-multimap.d.ts.map +1 -1
  253. package/build/utils/decode.d.ts.map +1 -1
  254. package/build/utils/fetchdata.d.ts +1 -31
  255. package/build/utils/fetchdata.d.ts.map +1 -1
  256. package/build/utils/utils.d.ts +0 -13
  257. package/build/utils/utils.d.ts.map +1 -1
  258. package/build/video/blendmodes.d.ts +1 -106
  259. package/build/video/blendmodes.d.ts.map +1 -1
  260. package/build/video/buffer/index.d.ts +1 -39
  261. package/build/video/buffer/index.d.ts.map +1 -1
  262. package/build/video/buffer/vertex.d.ts +1 -82
  263. package/build/video/buffer/vertex.d.ts.map +1 -1
  264. package/build/video/canvas/canvas_renderer.d.ts +2 -23
  265. package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
  266. package/build/video/canvas_factory.d.ts +1 -24
  267. package/build/video/canvas_factory.d.ts.map +1 -1
  268. package/build/video/effects/blendEffect.d.ts +0 -54
  269. package/build/video/effects/blendEffect.d.ts.map +1 -1
  270. package/build/video/effects/colorMatrix.d.ts +0 -10
  271. package/build/video/effects/colorMatrix.d.ts.map +1 -1
  272. package/build/video/effects/glsl_realization.d.ts +1 -17
  273. package/build/video/effects/glsl_realization.d.ts.map +1 -1
  274. package/build/video/effects/radialGradient.d.ts +0 -1
  275. package/build/video/effects/radialGradient.d.ts.map +1 -1
  276. package/build/video/effects/shadereffect.d.ts +0 -113
  277. package/build/video/effects/shadereffect.d.ts.map +1 -1
  278. package/build/video/effects/wgsl/layout.d.ts +1 -27
  279. package/build/video/effects/wgsl/layout.d.ts.map +1 -1
  280. package/build/video/effects/wgsl/parse.d.ts +1 -8
  281. package/build/video/effects/wgsl/parse.d.ts.map +1 -1
  282. package/build/video/effects/wgsl/scaffold.d.ts +1 -42
  283. package/build/video/effects/wgsl/scaffold.d.ts.map +1 -1
  284. package/build/video/effects/wgsl_realization.d.ts +1 -82
  285. package/build/video/effects/wgsl_realization.d.ts.map +1 -1
  286. package/build/video/gpu/batcher.d.ts +1 -13
  287. package/build/video/gpu/batcher.d.ts.map +1 -1
  288. package/build/video/gpu/instancerecord.d.ts +1 -163
  289. package/build/video/gpu/instancerecord.d.ts.map +1 -1
  290. package/build/video/gpu/meshchunk.d.ts +1 -48
  291. package/build/video/gpu/meshchunk.d.ts.map +1 -1
  292. package/build/video/gpu/meshvertex.d.ts +1 -53
  293. package/build/video/gpu/meshvertex.d.ts.map +1 -1
  294. package/build/video/gpu/primitives.d.ts +1 -59
  295. package/build/video/gpu/primitives.d.ts.map +1 -1
  296. package/build/video/gpu/quadcorners.d.ts +1 -10
  297. package/build/video/gpu/quadcorners.d.ts.map +1 -1
  298. package/build/video/gpu/textureslots.d.ts +1 -121
  299. package/build/video/gpu/textureslots.d.ts.map +1 -1
  300. package/build/video/gpu/texturestore.d.ts +1 -138
  301. package/build/video/gpu/texturestore.d.ts.map +1 -1
  302. package/build/video/gpu/topology.d.ts.map +1 -1
  303. package/build/video/gpu/vertexformat.d.ts +0 -28
  304. package/build/video/gpu/vertexformat.d.ts.map +1 -1
  305. package/build/video/gradient.d.ts +0 -81
  306. package/build/video/gradient.d.ts.map +1 -1
  307. package/build/video/renderer.d.ts +21 -102
  308. package/build/video/renderer.d.ts.map +1 -1
  309. package/build/video/renderstate.d.ts +0 -51
  310. package/build/video/renderstate.d.ts.map +1 -1
  311. package/build/video/rendertarget/canvasrendertarget.d.ts +0 -10
  312. package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -1
  313. package/build/video/rendertarget/render_target_pool.d.ts +1 -82
  314. package/build/video/rendertarget/render_target_pool.d.ts.map +1 -1
  315. package/build/video/rendertarget/webglrendertarget.d.ts +1 -64
  316. package/build/video/rendertarget/webglrendertarget.d.ts.map +1 -1
  317. package/build/video/rendertarget/webgpurendertarget.d.ts +0 -8
  318. package/build/video/rendertarget/webgpurendertarget.d.ts.map +1 -1
  319. package/build/video/texture/atlas.d.ts +1 -75
  320. package/build/video/texture/atlas.d.ts.map +1 -1
  321. package/build/video/texture/cache.d.ts +0 -136
  322. package/build/video/texture/cache.d.ts.map +1 -1
  323. package/build/video/texture/frametexture.d.ts +1 -71
  324. package/build/video/texture/frametexture.d.ts.map +1 -1
  325. package/build/video/texture/noise_texture2d.d.ts +0 -43
  326. package/build/video/texture/noise_texture2d.d.ts.map +1 -1
  327. package/build/video/texture/parser/aseprite.d.ts +1 -8
  328. package/build/video/texture/parser/aseprite.d.ts.map +1 -1
  329. package/build/video/texture/parser/spritesheet.d.ts +1 -8
  330. package/build/video/texture/parser/spritesheet.d.ts.map +1 -1
  331. package/build/video/texture/parser/texturepacker.d.ts +1 -8
  332. package/build/video/texture/parser/texturepacker.d.ts.map +1 -1
  333. package/build/video/texture/resource.d.ts +0 -9
  334. package/build/video/texture/resource.d.ts.map +1 -1
  335. package/build/video/texture/texture2d.d.ts +0 -11
  336. package/build/video/texture/texture2d.d.ts.map +1 -1
  337. package/build/video/utils/autodetect.d.ts +1 -5
  338. package/build/video/utils/autodetect.d.ts.map +1 -1
  339. package/build/video/webgl/batchers/batcher.d.ts +0 -55
  340. package/build/video/webgl/batchers/batcher.d.ts.map +1 -1
  341. package/build/video/webgl/batchers/lit_mesh_batcher.d.ts +0 -14
  342. package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -1
  343. package/build/video/webgl/batchers/lit_quad_batcher.d.ts +0 -72
  344. package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
  345. package/build/video/webgl/batchers/material_batcher.d.ts +0 -89
  346. package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
  347. package/build/video/webgl/batchers/mesh_batcher.d.ts +14 -343
  348. package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
  349. package/build/video/webgl/batchers/primitive_batcher.d.ts +0 -10
  350. package/build/video/webgl/batchers/primitive_batcher.d.ts.map +1 -1
  351. package/build/video/webgl/batchers/quad_batcher.d.ts +0 -30
  352. package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
  353. package/build/video/webgl/buffer/index.d.ts +1 -36
  354. package/build/video/webgl/buffer/index.d.ts.map +1 -1
  355. package/build/video/webgl/buffer/instance_buffer.d.ts +1 -53
  356. package/build/video/webgl/buffer/instance_buffer.d.ts.map +1 -1
  357. package/build/video/webgl/buffer/retained_geometry.d.ts +1 -81
  358. package/build/video/webgl/buffer/retained_geometry.d.ts.map +1 -1
  359. package/build/video/webgl/buffer/uniformblock.d.ts +1 -80
  360. package/build/video/webgl/buffer/uniformblock.d.ts.map +1 -1
  361. package/build/video/webgl/buffer/vertexstate.d.ts +1 -100
  362. package/build/video/webgl/buffer/vertexstate.d.ts.map +1 -1
  363. package/build/video/webgl/glshader.d.ts +0 -49
  364. package/build/video/webgl/glshader.d.ts.map +1 -1
  365. package/build/video/webgl/lighting/pack3d.d.ts +1 -47
  366. package/build/video/webgl/lighting/pack3d.d.ts.map +1 -1
  367. package/build/video/webgl/lighting/std140.d.ts +1 -109
  368. package/build/video/webgl/lighting/std140.d.ts.map +1 -1
  369. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts +1 -103
  370. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  371. package/build/video/webgl/shaders/multitexture-lit.d.ts +1 -26
  372. package/build/video/webgl/shaders/multitexture-lit.d.ts.map +1 -1
  373. package/build/video/webgl/shaders/multitexture.d.ts +1 -9
  374. package/build/video/webgl/shaders/multitexture.d.ts.map +1 -1
  375. package/build/video/webgl/texture/store.d.ts +1 -50
  376. package/build/video/webgl/texture/store.d.ts.map +1 -1
  377. package/build/video/webgl/utils/attributes.d.ts +1 -11
  378. package/build/video/webgl/utils/attributes.d.ts.map +1 -1
  379. package/build/video/webgl/utils/maxtextures.d.ts +1 -36
  380. package/build/video/webgl/utils/maxtextures.d.ts.map +1 -1
  381. package/build/video/webgl/utils/precision.d.ts +1 -14
  382. package/build/video/webgl/utils/precision.d.ts.map +1 -1
  383. package/build/video/webgl/utils/program.d.ts +1 -5
  384. package/build/video/webgl/utils/program.d.ts.map +1 -1
  385. package/build/video/webgl/utils/samplercache.d.ts +1 -68
  386. package/build/video/webgl/utils/samplercache.d.ts.map +1 -1
  387. package/build/video/webgl/utils/string.d.ts +1 -21
  388. package/build/video/webgl/utils/string.d.ts.map +1 -1
  389. package/build/video/webgl/utils/topology.d.ts +1 -23
  390. package/build/video/webgl/utils/topology.d.ts.map +1 -1
  391. package/build/video/webgl/utils/uniforms.d.ts +1 -25
  392. package/build/video/webgl/utils/uniforms.d.ts.map +1 -1
  393. package/build/video/webgl/utils/vertexformat.d.ts +1 -26
  394. package/build/video/webgl/utils/vertexformat.d.ts.map +1 -1
  395. package/build/video/webgl/webgl_renderer.d.ts +22 -285
  396. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  397. package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts +0 -6
  398. package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts.map +1 -1
  399. package/build/video/webgpu/batchers/lit_quad_batcher.d.ts +0 -8
  400. package/build/video/webgpu/batchers/lit_quad_batcher.d.ts.map +1 -1
  401. package/build/video/webgpu/batchers/mesh_batcher.d.ts +1 -230
  402. package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -1
  403. package/build/video/webgpu/batchers/primitive_batcher.d.ts.map +1 -1
  404. package/build/video/webgpu/batchers/quad_batcher.d.ts +0 -82
  405. package/build/video/webgpu/batchers/quad_batcher.d.ts.map +1 -1
  406. package/build/video/webgpu/buffer/arena.d.ts +1 -63
  407. package/build/video/webgpu/buffer/arena.d.ts.map +1 -1
  408. package/build/video/webgpu/buffer/instance_buffer.d.ts +1 -64
  409. package/build/video/webgpu/buffer/instance_buffer.d.ts.map +1 -1
  410. package/build/video/webgpu/buffer/retained_geometry.d.ts +1 -54
  411. package/build/video/webgpu/buffer/retained_geometry.d.ts.map +1 -1
  412. package/build/video/webgpu/buffer/uniformring.d.ts +1 -67
  413. package/build/video/webgpu/buffer/uniformring.d.ts.map +1 -1
  414. package/build/video/webgpu/effect_binding.d.ts +1 -16
  415. package/build/video/webgpu/effect_binding.d.ts.map +1 -1
  416. package/build/video/webgpu/pipeline/bindgroups.d.ts +1 -32
  417. package/build/video/webgpu/pipeline/bindgroups.d.ts.map +1 -1
  418. package/build/video/webgpu/pipeline/cache.d.ts +1 -163
  419. package/build/video/webgpu/pipeline/cache.d.ts.map +1 -1
  420. package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts +1 -87
  421. package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  422. package/build/video/webgpu/shaders/mesh-instanced.d.ts +1 -43
  423. package/build/video/webgpu/shaders/mesh-instanced.d.ts.map +1 -1
  424. package/build/video/webgpu/texture/compressed.d.ts +1 -32
  425. package/build/video/webgpu/texture/compressed.d.ts.map +1 -1
  426. package/build/video/webgpu/texture/frametexture.d.ts +1 -62
  427. package/build/video/webgpu/texture/frametexture.d.ts.map +1 -1
  428. package/build/video/webgpu/texture/store.d.ts +1 -147
  429. package/build/video/webgpu/texture/store.d.ts.map +1 -1
  430. package/build/video/webgpu/webgpu_renderer.d.ts +0 -88
  431. package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
  432. package/package.json +5 -4
  433. package/skills/melonjs/SKILL.md +1 -1
  434. package/skills/melonjs-3d/SKILL.md +301 -2
  435. package/skills/melonjs-3d-assets/SKILL.md +25 -6
  436. package/skills/melonjs-audio/SKILL.md +21 -0
  437. package/skills/melonjs-camera-and-drawing/SKILL.md +4 -0
  438. package/skills/melonjs-effects-and-shaders/SKILL.md +2 -1
  439. package/skills/melonjs-loading-assets/SKILL.md +30 -1
  440. package/skills/melonjs-performance/SKILL.md +5 -0
  441. package/skills/melonjs-tilemaps/SKILL.md +31 -11
  442. package/skills/melonjs-ui-and-text/SKILL.md +17 -127
@@ -1,164 +1,2 @@
1
- import type { Matrix3d } from "../../math/matrix3d.ts";
2
- /**
3
- * The per-instance record shared by both GPU backends (#1508).
4
- *
5
- * An instance carries a **row-major 3×4 affine transform** — three `vec4`
6
- * rows — rather than a full 4×4: the bottom row of an affine matrix is
7
- * always `(0, 0, 0, 1)`, so storing it would waste 16 bytes and a fourth
8
- * attribute slot per instance. Two further slots are opt-in, declared once
9
- * per instanced mesh:
10
- *
11
- * The transform occupies 12 floats (48 bytes); a colour slot adds 4 more
12
- * (16 bytes) when `instanceColors` is declared, and a custom-data slot
13
- * another 4 when `instanceData` is.
14
- *
15
- * Colour is four floats rather than four packed bytes for the same reason
16
- * `aColor` is on the mesh vertex layout: a packed 4-byte slot can form a
17
- * NaN bit pattern that Apple's Metal-backed driver canonicalizes on upload,
18
- * zeroing the bytes the shader reads.
19
- *
20
- * The custom slot is deliberately **opaque** — the stock lit shader reads
21
- * its `rgb` as emissive, while a custom mesh shader is free to read it as a
22
- * wind phase, an atlas offset or a random seed.
23
- * @ignore
24
- */
25
- /**
26
- * floats occupied by the 3×4 transform
27
- * @ignore
28
- */
29
- export declare const TRANSFORM_FLOATS = 12;
30
- /**
31
- * floats occupied by an optional `vec4` slot
32
- * @ignore
33
- */
34
- export declare const SLOT_FLOATS = 4;
35
- /**
36
- * Describes one instanced mesh's record: how wide it is and where each
37
- * optional slot begins. Offsets are in floats; multiply by 4 for bytes.
38
- * @ignore
39
- */
40
- export interface InstanceRecordLayout {
41
- /** floats per instance */
42
- floats: number;
43
- /** bytes per instance (the vertex-buffer `arrayStride`) */
44
- stride: number;
45
- /** float offset of the colour slot, or -1 when absent */
46
- colorOffset: number;
47
- /** float offset of the custom-data slot, or -1 when absent */
48
- dataOffset: number;
49
- /** whether the colour slot is present */
50
- hasColor: boolean;
51
- /** whether the custom-data slot is present */
52
- hasData: boolean;
53
- }
54
- /**
55
- * Build the record layout for the given opt-in slots.
56
- * @param hasColor - whether a per-instance colour slot is present
57
- * @param hasData - whether a per-instance custom `vec4` slot is present
58
- * @returns the resolved layout
59
- * @ignore
60
- */
61
- export declare function instanceRecordLayout(hasColor: boolean, hasData: boolean): InstanceRecordLayout;
62
- /**
63
- * Write a matrix into an instance record as three row-major `vec4` rows.
64
- *
65
- * `Matrix3d` stores its values **column-major** (the GL convention —
66
- * translation lives at `val[12..14]`), so this transposes the upper 3×4 on
67
- * the way in. The shader transposes back when it rebuilds a `mat4`.
68
- * @param target - the CPU-side instance buffer
69
- * @param offset - float offset of this instance's record
70
- * @param matrix - the transform to write
71
- * @ignore
72
- */
73
- export declare function writeInstanceTransform(target: Float32Array, offset: number, matrix: Matrix3d): void;
74
- /**
75
- * Write a translation / rotation / scale triple into an instance record.
76
- *
77
- * This is the shape authored instancing arrives in: glTF's
78
- * `EXT_mesh_gpu_instancing` stores per-instance `TRANSLATION`, `ROTATION`
79
- * (a quaternion) and `SCALE` accessors rather than matrices. Composing them
80
- * straight into the record avoids building a `Matrix3d` per instance —
81
- * a forest of five thousand trees would otherwise allocate five thousand
82
- * throwaway matrices at load.
83
- *
84
- * The rotation is applied first, then scale, then translation (glTF's
85
- * `T * R * S` convention), and the result is transposed into the record's
86
- * row-major rows.
87
- * @param target - the CPU-side instance buffer
88
- * @param offset - float offset of this instance's record
89
- * @param tx - translation x
90
- * @param ty - translation y
91
- * @param tz - translation z
92
- * @param qx - rotation quaternion x
93
- * @param qy - rotation quaternion y
94
- * @param qz - rotation quaternion z
95
- * @param qw - rotation quaternion w
96
- * @param sx - scale x
97
- * @param sy - scale y
98
- * @param sz - scale z
99
- * @ignore
100
- */
101
- export declare function writeInstanceTRS(target: Float32Array, offset: number, tx: number, ty: number, tz: number, qx: number, qy: number, qz: number, qw: number, sx: number, sy: number, sz: number): void;
102
- /**
103
- * Write an identity transform into an instance record — what a freshly
104
- * grown slot holds until the caller places it, so an unplaced instance
105
- * renders at the group origin rather than collapsing onto a zero matrix.
106
- * @param target - the CPU-side instance buffer
107
- * @param offset - float offset of this instance's record
108
- * @ignore
109
- */
110
- export declare function writeIdentityTransform(target: Float32Array, offset: number): void;
111
- /**
112
- * Read an instance's transform back into a `Matrix3d`, undoing the
113
- * row-major packing.
114
- * @param source - the CPU-side instance buffer
115
- * @param offset - float offset of this instance's record
116
- * @param out - the matrix to write into
117
- * @returns `out`
118
- * @ignore
119
- */
120
- export declare function readInstanceTransform(source: Float32Array, offset: number, out: Matrix3d): Matrix3d;
121
- /**
122
- * The attribute names an instanced shader declares, in record order. Shared
123
- * by both backends so the GL attribute records and the WGSL vertex layout
124
- * describe the same thing.
125
- * @ignore
126
- */
127
- export declare const INSTANCE_ATTRIBUTE_NAMES: {
128
- readonly rows: readonly ["aInstanceRow0", "aInstanceRow1", "aInstanceRow2"];
129
- readonly color: "aInstanceColor";
130
- readonly data: "aInstanceData";
131
- };
132
- /**
133
- * Shader locations for the instance slots, counted from the first location
134
- * after a tier's geometry attributes.
135
- *
136
- * These are **fixed per slot rather than sequential**, so a variant that
137
- * omits the colour slot does not shift the data slot down. On WebGPU that is
138
- * what lets one WGSL module text serve every variant — WGSL has no
139
- * preprocessor to renumber `@location` with — and on WebGL it keeps the two
140
- * backends describing the same thing.
141
- * @ignore
142
- */
143
- export declare const INSTANCE_SLOT_OFFSETS: {
144
- readonly rows: readonly [0, 1, 2];
145
- readonly color: 3;
146
- readonly data: 4;
147
- };
148
- /**
149
- * Backend-neutral attribute descriptors for an instance record, in the
150
- * `{name, format, offset}` vocabulary both backends consume.
151
- * @param layout - the record layout
152
- * @param baseLocation - first shader location for this record (the location
153
- * after the tier's geometry attributes). Omit on WebGL, whose attribute
154
- * locations come from the shader's own declaration order.
155
- * @returns attribute descriptors covering the whole record
156
- * @ignore
157
- */
158
- export declare function instanceAttributes(layout: InstanceRecordLayout, baseLocation?: number): {
159
- name: string;
160
- format: string;
161
- offset: number;
162
- shaderLocation?: number;
163
- }[];
1
+ export {};
164
2
  //# sourceMappingURL=instancerecord.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instancerecord.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/instancerecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO,GACd,oBAAoB,CAkBtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,GACd,IAAI,CAiBN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACR,IAAI,CA8BN;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACZ,IAAI,CAaN;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,GACX,QAAQ,CAoBV;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;CAI3B,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,CAAC,EAAE,MAAM;UASd,MAAM;YACJ,MAAM;YACN,MAAM;qBACG,MAAM;IAsCxB"}
1
+ {"version":3,"file":"instancerecord.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/instancerecord.ts"],"names":[],"mappings":""}
@@ -1,49 +1,2 @@
1
- /**
2
- * The versioned-remap vertex dedup shared by the mesh batchers of both
3
- * backends — pure CPU code, no GPU references (the `lighting/` modules set
4
- * the precedent for cross-backend sharing).
5
- *
6
- * The accumulated mesh path re-indexes each chunk's triangles against a
7
- * chunk-local vertex range. Dedup uses a "versioned" typed-array remap
8
- * rather than a `Map`: a `Map` here churned the GC badly, because V8's
9
- * `Map.clear()` drops the backing table, so re-filling it each chunk
10
- * reallocated as it grew — and the cost scaled with vertex count (a dense
11
- * mesh = MBs/sec of garbage). Instead, `remapSlot[orig]` holds the local
12
- * index assigned to original-vertex `orig` THIS chunk, valid only when
13
- * `remapStamp[orig] === stamp`. Bumping `stamp` per chunk invalidates every
14
- * entry in O(1) — no clearing, no allocation. The arrays grow lazily (to a
15
- * power of two ≥ the largest mesh's vertex count) and are reused.
16
- *
17
- * Module-level sharing is safe because a chunk is built synchronously and
18
- * never re-enters — only one `addMesh` runs at a time, whichever backend
19
- * (or coexisting renderer) drives it, and no remap state persists across
20
- * chunks.
21
- * @ignore
22
- */
23
- /**
24
- * Ensure the versioned-remap scratch arrays can index every vertex of a
25
- * mesh with `vertexCount` vertices. Grows to the next power of two and
26
- * reuses thereafter (one-time cost when a larger mesh first appears).
27
- * @ignore
28
- */
29
- export declare function ensureRemapCapacity(vertexCount: number): void;
30
- /**
31
- * Start a new chunk: invalidate the whole remap in O(1) and hand back the
32
- * shared (emptied) chunk-index list. The stamp resets before int32 overflow
33
- * (~weeks of continuous rendering away), keeping stored stamps valid.
34
- * @returns the shared chunk-index array, emptied
35
- * @ignore
36
- */
37
- export declare function beginChunk(): number[];
38
- /**
39
- * The local index assigned to `origIdx` this chunk, or -1 when the vertex
40
- * has not been emitted yet.
41
- * @ignore
42
- */
43
- export declare function remapIndex(origIdx: number): number;
44
- /**
45
- * Record the local index assigned to `origIdx` for the rest of this chunk.
46
- * @ignore
47
- */
48
- export declare function assignIndex(origIdx: number, localIdx: number): void;
1
+
49
2
  //# sourceMappingURL=meshchunk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meshchunk.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/meshchunk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ7D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAQrC;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGnE"}
1
+ {"version":3,"file":"meshchunk.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/meshchunk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
@@ -1,54 +1,2 @@
1
- /**
2
- * Retained mesh vertex-data assembly shared by the mesh batchers of both
3
- * backends — pure CPU code, no GPU references (the `meshchunk.ts` /
4
- * `lighting/` precedent). Kept in ONE place because the two layouts exist
5
- * in an unlit and a lit variant on each backend, and the subtle parts —
6
- * the ARGB unpack order and the lit path's zero-length-normal guard —
7
- * must never drift between the four call sites.
8
- *
9
- * The data deliberately carries no placement, camera or tint information —
10
- * those are uniforms — so it stays valid for the lifetime of the geometry.
11
- * @ignore
12
- */
13
- /** the minimal mesh surface this module reads — `@ignore` */
14
- interface RetainedMeshSource {
15
- originalVertices: Float32Array;
16
- originalNormals?: Float32Array | null;
17
- uvs: Float32Array;
18
- vertexColors?: Uint32Array | null;
19
- vertexCount: number;
20
- }
21
- /**
22
- * a reusable Float32Array of at least `floatCount` floats
23
- * @ignore
24
- */
25
- export declare function retainedScratch(floatCount: number): Float32Array;
26
- /**
27
- * Write one mesh's model-space geometry into `out` in the unlit mesh
28
- * layout — `x, y, z, u, v, r, g, b, a` — striding by `vertexSize`.
29
- * @param mesh - the mesh to read geometry from
30
- * @param out - destination scratch, at least `vertexCount × vertexSize` long
31
- * @param vertexSize - floats per vertex in the hosting batcher's layout
32
- * @returns number of floats written
33
- * @ignore
34
- */
35
- export declare function buildMeshVertexData(mesh: RetainedMeshSource, out: Float32Array, vertexSize: number): number;
36
- /**
37
- * The lit variant: the unlit layout plus the model-space normal —
38
- * `…, nx, ny, nz` — so lighting can be evaluated after the shader rotates
39
- * it into world space.
40
- *
41
- * A zero-length normal must not reach the shader: it does
42
- * `normalize(vNormal)`, and normalizing a zero vector is NaN — every
43
- * fragment touching that vertex goes black or garbage. Degenerate
44
- * triangles in OBJ/glTF assets produce these, so substitute a unit
45
- * vector, matching what the CPU projection path does.
46
- * @param mesh - the mesh to read geometry from
47
- * @param out - destination scratch, at least `vertexCount × vertexSize` long
48
- * @param vertexSize - floats per vertex in the hosting batcher's layout
49
- * @returns number of floats written
50
- * @ignore
51
- */
52
- export declare function buildLitMeshVertexData(mesh: RetainedMeshSource, out: Float32Array, vertexSize: number): number;
53
- export {};
1
+
54
2
  //# sourceMappingURL=meshvertex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meshvertex.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/meshvertex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6DAA6D;AAC7D,UAAU,kBAAkB;IAC3B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,eAAe,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,GAAG,EAAE,YAAY,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACpB;AASD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAKhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,MAAM,GAChB,MAAM,CAsBR;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,MAAM,GAChB,MAAM,CAmCR"}
1
+ {"version":3,"file":"meshvertex.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/meshvertex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -1,60 +1,2 @@
1
- /**
2
- * Primitive-batcher geometry assembly shared by both backends — pure CPU
3
- * code, no GPU references (the `meshchunk.ts` / `meshvertex.ts`
4
- * precedent). The vertex layout is the primitive tier's 6-float
5
- * `x, y, z, nx, ny, packed-color` stream on both backends.
6
- * @ignore
7
- */
8
- /** the minimal vertex-buffer surface this module writes — `@ignore` */
9
- interface PrimitiveVertexData {
10
- push(x: number, y: number, z: number, nx: number, ny: number, color: number): void;
11
- isFull(count: number): boolean;
12
- }
13
- /** a 4×4 column-major transform (Matrix3d-shaped) — `@ignore` */
14
- interface MatrixLike {
15
- val: Float32Array;
16
- isIdentity(): boolean;
17
- }
18
- interface PointLike {
19
- x: number;
20
- y: number;
21
- }
22
- /**
23
- * Push `verts[start..end)` into the vertex buffer, transformed by the
24
- * given view matrix. The caller guarantees the range fits.
25
- *
26
- * The transform includes the z column (m[8] / m[9] / m[10] / m[14]) so
27
- * Camera3d's view matrix (X/Y-axis rotation) actually rotates the
28
- * primitive in 3D. For 2D matrices those slots are identity, so output
29
- * (x, y, z) is bit-identical to the legacy 2D-only multiply.
30
- * @ignore
31
- */
32
- export declare function pushPrimitiveRange(vertexData: PrimitiveVertexData, viewMatrix: MatrixLike, verts: PointLike[], start: number, end: number, colorUint32: number, z: number): void;
33
- /**
34
- * Expand line pairs into triangles with perpendicular normals. The vertex
35
- * shader offsets each vertex by `aNormal * uLineWidth * 0.5`, producing
36
- * thick lines without manual geometry expansion in the renderer. The
37
- * caller has already switched its draw mode to triangles.
38
- *
39
- * Each line pair expands to 2 triangles (6 vertices) — capacity is
40
- * checked per pair through the `flush` callback, so a dashed/long
41
- * thick-line path larger than the whole buffer flushes mid-shape instead
42
- * of silently dropping the out-of-range writes (pairs are independent
43
- * quads, so a mid-shape flush is invisible).
44
- *
45
- * The view matrix is applied (z column included) without mutating the
46
- * inputs. Note: the perpendicular normal is computed in pre-projection
47
- * world space, which appears non-perpendicular under perspective — a
48
- * known limitation shared by both backends.
49
- * @param vertexData - destination vertex stream
50
- * @param viewMatrix - the current view matrix
51
- * @param verts - line vertices in pairs [from, to, from, to, ...]
52
- * @param vertexCount - number of vertices to consume
53
- * @param colorUint32 - packed line color
54
- * @param z - the current renderer depth
55
- * @param flush - drains the vertex buffer when a pair no longer fits
56
- * @ignore
57
- */
58
- export declare function expandLinesToTriangles(vertexData: PrimitiveVertexData, viewMatrix: MatrixLike, verts: PointLike[], vertexCount: number, colorUint32: number, z: number, flush: () => void): void;
59
- export {};
1
+
60
2
  //# sourceMappingURL=primitives.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,uEAAuE;AACvE,UAAU,mBAAmB;IAC5B,IAAI,CACH,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACX,IAAI,CAAC;IACR,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,iEAAiE;AACjE,UAAU,UAAU;IACnB,GAAG,EAAE,YAAY,CAAC;IAClB,UAAU,IAAI,OAAO,CAAC;CACtB;AAED,UAAU,SAAS;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,CAAC,EAAE,MAAM,GACP,IAAI,CAsBN;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CACrC,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS,EAAE,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,IAAI,GACf,IAAI,CAuDN"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,11 +1,2 @@
1
- import type { Matrix3d } from "../../math/matrix3d.ts";
2
- import { Vector3d } from "../../math/vector3d.ts";
3
- /**
4
- * Set the four corners of an axis-aligned quad and transform them by `m`
5
- * (skipped when `m` is null/identity — the common untransformed case).
6
- * Returns the shared corner pool, valid until the next call:
7
- * `[topLeft, topRight, bottomLeft, bottomRight]`.
8
- * @ignore
9
- */
10
- export declare function transformQuadCorners(m: Matrix3d | null | undefined, x: number, y: number, w: number, h: number, z: number): Vector3d[];
1
+ export {};
11
2
  //# sourceMappingURL=quadcorners.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quadcorners.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/quadcorners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAyBlD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EAC9B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACP,QAAQ,EAAE,CAYZ"}
1
+ {"version":3,"file":"quadcorners.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/quadcorners.ts"],"names":[],"mappings":""}
@@ -1,122 +1,2 @@
1
- /**
2
- * Backend-neutral texture slot assignment.
3
- *
4
- * Both GPU backends solve the same problem — "many textures, one draw call" —
5
- * by giving each texture a small integer slot that the fragment shader selects
6
- * on per-vertex. Only the *resource* differs: a WebGL texture unit, or an entry
7
- * in a WebGPU material bind group. The assignment policy (who gets a slot, what
8
- * happens when they run out, what is dropped) is identical, and used to be
9
- * written twice — `TextureCache.allocateTextureUnit` on one side,
10
- * `WebGPUQuadBatcher.segmentSlotFor` on the other — which is how the two drifted.
11
- *
12
- * This class owns that policy and nothing else. It never touches a GL unit or a
13
- * bind group; the caller supplies the binding through the callbacks. That keeps
14
- * it pure, so the same test suite proves both backends behave alike.
15
- * @ignore
16
- */
17
- export class TextureSlotTable {
18
- /**
19
- * @param {object} options - table configuration
20
- * @param {number} options.capacity - number of slots, `[0, capacity)`
21
- * @param {Function} [options.onOverflow] - called when a new key arrives with
22
- * no slot free. The caller must turn the pending work into GPU work (flush)
23
- * before the table reassigns slots out from under it.
24
- * @param {Function} [options.onEvict] - called with each slot index as it is
25
- * dropped, so the caller can forget its binding for that slot
26
- * @param {Function} [options.isReserved] - optional predicate; a slot it
27
- * approves is held out of assignment entirely (WebGL parks `ShaderEffect`
28
- * extra samplers on high units this way). Reservations survive a reset.
29
- * @ignore
30
- */
31
- constructor({ capacity, onOverflow, onEvict, isReserved }?: {
32
- capacity: number;
33
- onOverflow?: Function | undefined;
34
- onEvict?: Function | undefined;
35
- isReserved?: Function | undefined;
36
- });
37
- /** @type {Map<string, number>} key → slot */
38
- slots: Map<string, number>;
39
- /** @type {Set<number>} occupied slot indices */
40
- used: Set<number>;
41
- capacity: number;
42
- onOverflow: Function | undefined;
43
- onEvict: Function | undefined;
44
- isReserved: Function | undefined;
45
- /**
46
- * How many slots are currently taken.
47
- *
48
- * Occupancy, NOT the key map: slots claimed through {@link claim} carry no
49
- * key at all (the WebGL cache allocates that way), so counting keys would
50
- * report an empty table while every unit was in use.
51
- * @returns {number} the number of occupied slots
52
- * @ignore
53
- */
54
- get size(): number;
55
- /**
56
- * Resize the table. Shrinking evicts every assignment at or above the new
57
- * capacity; growing keeps everything. Called on context restore / device
58
- * change, where the resolved limit can differ from the previous one.
59
- * @param {number} capacity - the new slot count
60
- * @ignore
61
- */
62
- setCapacity(capacity: number): void;
63
- /**
64
- * The slot this key already holds, without assigning one. Use when a miss
65
- * should not trigger an overflow (probing, debug, bookkeeping).
66
- * @param {string} key - the slot key
67
- * @returns {number|undefined} the assigned slot, or `undefined`
68
- * @ignore
69
- */
70
- peek(key: string): number | undefined;
71
- /**
72
- * The lowest assignable slot, or `-1` when every one is taken or reserved.
73
- * Bounded by `capacity` on purpose: a caller that reserves every slot must
74
- * get an answer rather than an infinite scan.
75
- * @returns {number} a free slot index, or -1
76
- * @ignore
77
- */
78
- freeSlot(): number;
79
- /**
80
- * Resolve a key to its slot, assigning one if needed.
81
- *
82
- * On exhaustion this calls `onOverflow` (the caller flushes) and then drops
83
- * every assignment, so the incoming key starts a fresh set — the behaviour
84
- * both backends already had. The eviction step is deliberately the only
85
- * policy here: replacing this wipe with something finer (see #1586) changes
86
- * both backends at once, which is the point of sharing it.
87
- * @param {string} key - identifies the texture *and* the sampling state it
88
- * needs, since two draws of one image under different filter/wrap settings
89
- * cannot share a slot
90
- * @returns {number} the slot to write into the vertex stream
91
- * @ignore
92
- */
93
- slotFor(key: string): number;
94
- /**
95
- * Take a slot without associating a key with it.
96
- *
97
- * The WebGL cache resolves textures to units through its own source-keyed
98
- * index (a source can hold one unit per wrap mode it was sampled with), so
99
- * it needs the *policy* — free-slot search honoring reservations, and the
100
- * flush-then-evict behaviour on exhaustion — without the key map. WebGPU's
101
- * batcher keys directly and goes through {@link slotFor}, which is this plus
102
- * the mapping. Both therefore overflow on the same rule.
103
- * @returns {number} the claimed slot
104
- * @ignore
105
- */
106
- claim(): number;
107
- /**
108
- * Drop a single assignment, freeing its slot. Reservations are untouched —
109
- * they are owned by whoever reserved them, not by the table.
110
- * @param {string} key - the slot key to release
111
- * @returns {boolean} whether the key held a slot
112
- * @ignore
113
- */
114
- release(key: string): boolean;
115
- /**
116
- * Drop every assignment. `onEvict` fires once per slot that was live, so a
117
- * caller tracking bindings per slot can forget exactly those.
118
- * @ignore
119
- */
120
- reset(): void;
121
- }
1
+
122
2
  //# sourceMappingURL=textureslots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textureslots.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/textureslots.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;;;;;;;;;OAYG;IACH,4DAXG;QAAwB,QAAQ,EAAxB,MAAM;QACa,UAAU;QAGV,OAAO;QAEP,UAAU;KAGrC,EAWF;IARA,6CAA6C;IAC7C,OADW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CACR;IACtB,gDAAgD;IAChD,MADW,GAAG,CAAC,MAAM,CAAC,CACD;IACrB,iBAA6B;IAC7B,iCAA4B;IAC5B,8BAAsB;IACtB,iCAA4B;IAG7B;;;;;;;;OAQG;IACH,YAHa,MAAM,CAKlB;IAED;;;;;;OAMG;IACH,sBAHW,MAAM,QAoBhB;IAED;;;;;;OAMG;IACH,UAJW,MAAM,GACJ,MAAM,GAAC,SAAS,CAK5B;IAED;;;;;;OAMG;IACH,YAHa,MAAM,CAUlB;IAED;;;;;;;;;;;;;OAaG;IACH,aANW,MAAM,GAGJ,MAAM,CAWlB;IAED;;;;;;;;;;;OAWG;IACH,SAHa,MAAM,CAsBlB;IAED;;;;;;OAMG;IACH,aAJW,MAAM,GACJ,OAAO,CAYnB;IAED;;;;OAIG;IACH,cAQC;CACD"}
1
+ {"version":3,"file":"textureslots.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/textureslots.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;;;;;;;;;;;;OAaG;IACH,4DAZG;QAAwB,QAAQ,EAAxB,MAAM;QACa,UAAU;QAGV,OAAO;QAEP,UAAU;KAGrC,EAYF;IARA,6CAA6C;IAC7C,OADW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CACR;IACtB,gDAAgD;IAChD,MADW,GAAG,CAAC,MAAM,CAAC,CACD;IACrB,iBAA6B;IAC7B,iCAA4B;IAC5B,8BAAsB;IACtB,iCAA4B;IAG7B;;;;;;;;;OASG;IACH,YAJa,MAAM,CAMlB;IAED;;;;;;;OAOG;IACH,sBAJW,MAAM,QAqBhB;IAED;;;;;;;OAOG;IACH,UALW,MAAM,GACJ,MAAM,GAAC,SAAS,CAM5B;IAED;;;;;;;OAOG;IACH,YAJa,MAAM,CAWlB;IAED;;;;;;;;;;;;;;OAcG;IACH,aAPW,MAAM,GAGJ,MAAM,CAYlB;IAED;;;;;;;;;;;;OAYG;IACH,SAJa,MAAM,CAuBlB;IAED;;;;;;;OAOG;IACH,aALW,MAAM,GACJ,OAAO,CAanB;IAED;;;;;OAKG;IACH,cAQC;CACD"}
@@ -1,139 +1,2 @@
1
- /**
2
- * Backend-neutral texture residency.
3
- *
4
- * There are two separate questions about a texture, and conflating them is
5
- * what makes a GPU renderer re-upload work it already has:
6
- *
7
- * - **which slot is it in, for this draw?** — transient, per-batch, bounded by
8
- * the shader's sampler count. That is {@link TextureSlotTable}.
9
- * - **does it exist on the GPU, and is its content current?** — persistent,
10
- * per-source, bounded by disposal. That is this class.
11
- *
12
- * The WebGL backend used to answer both with one field (`boundTextures[unit]`),
13
- * so dropping a slot assignment destroyed the texture handle and the next draw
14
- * rebuilt it from scratch — a full re-upload and mip regeneration per quad,
15
- * once past the batching limit.
16
- *
17
- * This class owns the source → record index, the reuse-or-upload decision, and
18
- * the lifetime bookkeeping. It touches no GL or WebGPU API: each backend
19
- * supplies `onCreate` / `onUpload` / `onDestroy`, exactly as the slot table
20
- * takes its binding through callbacks. That keeps the decision logic identical
21
- * on both backends and testable without a device.
22
- * @ignore
23
- */
24
- export class TextureStore {
25
- /**
26
- * @param {object} [options] - store configuration
27
- * @param {Function} [options.onCreate] - `(source, options) => handle`, allocate
28
- * the backing GPU texture for a source seen for the first time
29
- * @param {Function} [options.onUpload] - `(handle, source, record, options) => handle`,
30
- * push the source's current content. May return a *replacement* handle when
31
- * the shape changed and the old one cannot be respecified (immutable
32
- * storage); returning nothing keeps the existing handle.
33
- * @param {Function} [options.onDestroy] - `(handle, source)`, release the
34
- * GPU texture. Called exactly once per handle.
35
- * @ignore
36
- */
37
- constructor({ onCreate, onUpload, onDestroy }?: {
38
- onCreate?: Function | undefined;
39
- onUpload?: Function | undefined;
40
- onDestroy?: Function | undefined;
41
- });
42
- /** @type {Map<object, {handle: *, version: number, generation: number}>} */
43
- records: Map<object, {
44
- handle: any;
45
- version: number;
46
- generation: number;
47
- }>;
48
- /**
49
- * Allocate the backing GPU texture for a source seen for the first time.
50
- * @param {object} source - the image/canvas/resource
51
- * @param {object} options - the resolve options
52
- * @returns {*} the new handle
53
- * @ignore
54
- */
55
- onCreate(source: object, options: object): any;
56
- /**
57
- * Push the source's current content. May return a REPLACEMENT handle when
58
- * the shape changed and the old one cannot be respecified.
59
- * @param {*} handle - the existing handle
60
- * @param {object} source - the image/canvas/resource
61
- * @param {object} record - the resident record
62
- * @param {object} options - the resolve options
63
- * @returns {*} a replacement handle, or nothing to keep the existing one
64
- * @ignore
65
- */
66
- onUpload(handle: any, source: object, record: object, options: object): any;
67
- /**
68
- * Release a GPU texture. Called exactly once per handle.
69
- * @param {*} handle - the handle to release
70
- * @param {object} source - the source it belonged to
71
- * @ignore
72
- */
73
- onDestroy(handle: any, source: object): void;
74
- generation: number;
75
- /**
76
- * how many sources are currently resident
77
- * @returns {number} the record count
78
- * @ignore
79
- */
80
- get size(): number;
81
- /**
82
- * The live record for a source, uploading only when it is genuinely needed:
83
- * the source has never been seen, its content changed, its handle predates
84
- * the current context, or the caller forced it.
85
- *
86
- * A texture that merely moved to a different slot is NOT a reason to upload
87
- * — that is the whole point of separating residency from slot assignment.
88
- * @param {object} source - the image/canvas/resource backing the texture
89
- * @param {object} [options] - resolution options
90
- * @param {number} [options.version=0] - the source's content revision; a
91
- * change from the recorded value forces a re-upload
92
- * @param {boolean} [options.force=false] - re-upload regardless
93
- * @returns {{handle: *, version: number, generation: number, uploaded: boolean}}
94
- * the record, with `uploaded` reporting whether this call did GPU work
95
- * @ignore
96
- */
97
- getResidentRecord(source: object, options?: {
98
- version?: number | undefined;
99
- force?: boolean | undefined;
100
- }): {
101
- handle: any;
102
- version: number;
103
- generation: number;
104
- uploaded: boolean;
105
- };
106
- /**
107
- * The record for a source without resolving one, for callers that must not
108
- * trigger GPU work (bookkeeping, debug, invalidation checks).
109
- * @param {object} source - the source to look up
110
- * @returns {object|undefined} the record, or `undefined`
111
- * @ignore
112
- */
113
- peek(source: object): object | undefined;
114
- /**
115
- * Release the GPU texture for one source. Driven by the source going away
116
- * — never by a slot being reassigned, which is exactly the coupling this
117
- * class exists to break.
118
- * @param {object} source - the disposed source
119
- * @returns {boolean} whether a record was held
120
- * @ignore
121
- */
122
- destroyTexture(source: object): boolean;
123
- /**
124
- * Drop every record and bump the generation. Called on context or device
125
- * loss.
126
- *
127
- * This CLEARS the store in place — callers must never respond to a restore
128
- * by constructing a replacement store. Doing so orphans every handle the
129
- * old one was tracking, so the *second* loss leaks everything it had
130
- * accumulated since the first. Both WebGL batchers re-run `init()` on
131
- * restore, which is precisely how that mistake gets made here.
132
- * @param {boolean} [destroy=false] - whether to release the handles first.
133
- * Leave `false` for a lost context (the GPU objects are already gone);
134
- * pass `true` for an orderly teardown.
135
- * @ignore
136
- */
137
- releaseAll(destroy?: boolean): void;
138
- }
1
+
139
2
  //# sourceMappingURL=texturestore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"texturestore.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/texturestore.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;IACC;;;;;;;;;;;OAWG;IACH,gDAVG;QAA2B,QAAQ;QAER,QAAQ;QAIR,SAAS;KAEpC,EAuBF;IApBA,4EAA4E;IAC5E,SADW,GAAG,CAAC,MAAM,EAAE;QAAC,MAAM,EAAE,GAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC,CAChD;IAqBzB;;;;;;OAMG;IACH,iBALW,MAAM,WACN,MAAM,GACJ,GAAC,CAOb;IAED;;;;;;;;;OASG;IACH,iBAPW,GAAC,UACD,MAAM,UACN,MAAM,WACN,MAAM,GACJ,GAAC,CASb;IAED;;;;;OAKG;IACH,kBAJW,GAAC,UACD,MAAM,QAMhB;IA3CA,mBAAmB;IA6CpB;;;;OAIG;IACH,YAHa,MAAM,CAKlB;IAED;;;;;;;;;;;;;;;OAeG;IACH,0BATW,MAAM,YAEd;QAAyB,OAAO;QAEN,KAAK;KAC/B,GAAU;QAAC,MAAM,EAAE,GAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAC,CAqC/E;IAED;;;;;;OAMG;IACH,aAJW,MAAM,GACJ,MAAM,GAAC,SAAS,CAK5B;IAED;;;;;;;OAOG;IACH,uBAJW,MAAM,GACJ,OAAO,CAanB;IAED;;;;;;;;;;;;;OAaG;IACH,qBALW,OAAO,QAejB;CACD"}
1
+ {"version":3,"file":"texturestore.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/texturestore.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IACC;;;;;;;;;;;;OAYG;IACH,gDAXG;QAA2B,QAAQ;QAER,QAAQ;QAIR,SAAS;KAEpC,EAwBF;IApBA,4EAA4E;IAC5E,SADW,GAAG,CAAC,MAAM,EAAE;QAAC,MAAM,EAAE,GAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC,CAChD;IAqBzB;;;;;;;OAOG;IACH,iBANW,MAAM,WACN,MAAM,GACJ,GAAC,CAQb;IAED;;;;;;;;;;OAUG;IACH,iBARW,GAAC,UACD,MAAM,UACN,MAAM,WACN,MAAM,GACJ,GAAC,CAUb;IAED;;;;;;OAMG;IACH,kBALW,GAAC,UACD,MAAM,QAOhB;IA9CA,mBAAmB;IAgDpB;;;;;OAKG;IACH,YAJa,MAAM,CAMlB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,0BAVW,MAAM,YAEd;QAAyB,OAAO;QAEN,KAAK;KAC/B,GAAU;QAAC,MAAM,EAAE,GAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAC,CAsC/E;IAED;;;;;;;OAOG;IACH,aALW,MAAM,GACJ,MAAM,GAAC,SAAS,CAM5B;IAED;;;;;;;;OAQG;IACH,uBALW,MAAM,GACJ,OAAO,CAcnB;IAED;;;;;;;;;;;;;;OAcG;IACH,qBANW,OAAO,QAgBjB;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/topology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GACjB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAElB;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,uFAMQ,CAAC;AAgBzC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE9D"}
1
+ {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/video/gpu/topology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GACjB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAElB;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,uFAMQ,CAAC;AAiBzC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE9D"}