melonjs 20.2.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 (515) hide show
  1. package/README.md +86 -8
  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 +6 -2
  5. package/build/application/settings.d.ts.map +1 -1
  6. package/build/audio/audio.d.ts +2 -2
  7. package/build/audio/audio.d.ts.map +1 -1
  8. package/build/audio/backend/buffer.d.ts +26 -0
  9. package/build/audio/backend/buffer.d.ts.map +1 -0
  10. package/build/audio/backend/cache.d.ts +2 -0
  11. package/build/audio/backend/cache.d.ts.map +1 -0
  12. package/build/audio/backend/core.d.ts +24 -0
  13. package/build/audio/backend/core.d.ts.map +1 -0
  14. package/build/audio/backend/engine.d.ts +35 -0
  15. package/build/audio/backend/engine.d.ts.map +1 -0
  16. package/build/audio/backend/sound.d.ts +29 -0
  17. package/build/audio/backend/sound.d.ts.map +1 -0
  18. package/build/audio/backend/spatial.d.ts +191 -0
  19. package/build/audio/backend/spatial.d.ts.map +1 -0
  20. package/build/audio/backend/types.d.ts +107 -0
  21. package/build/audio/backend/types.d.ts.map +1 -0
  22. package/build/audio/backend/voice.d.ts +8 -0
  23. package/build/audio/backend/voice.d.ts.map +1 -0
  24. package/build/audio/playback.d.ts +49 -4
  25. package/build/audio/playback.d.ts.map +1 -1
  26. package/build/audio/procedural.d.ts.map +1 -1
  27. package/build/audio/state.d.ts +69 -0
  28. package/build/audio/state.d.ts.map +1 -0
  29. package/build/audio/types.d.ts +93 -1
  30. package/build/audio/types.d.ts.map +1 -1
  31. package/build/camera/camera2d.d.ts +0 -68
  32. package/build/camera/camera2d.d.ts.map +1 -1
  33. package/build/camera/camera3d.d.ts +91 -84
  34. package/build/camera/camera3d.d.ts.map +1 -1
  35. package/build/camera/effects/fade_effect.d.ts +0 -5
  36. package/build/camera/effects/fade_effect.d.ts.map +1 -1
  37. package/build/camera/effects/mask_effect.d.ts +0 -5
  38. package/build/camera/effects/mask_effect.d.ts.map +1 -1
  39. package/build/camera/fog.d.ts +118 -0
  40. package/build/camera/fog.d.ts.map +1 -0
  41. package/build/const.d.ts +2 -2
  42. package/build/geometries/box3d.d.ts +0 -28
  43. package/build/geometries/box3d.d.ts.map +1 -1
  44. package/build/geometries/ellipse.d.ts +0 -20
  45. package/build/geometries/ellipse.d.ts.map +1 -1
  46. package/build/geometries/observablePoint.d.ts +0 -3
  47. package/build/geometries/observablePoint.d.ts.map +1 -1
  48. package/build/geometries/path2d.d.ts +0 -19
  49. package/build/geometries/path2d.d.ts.map +1 -1
  50. package/build/geometries/polygon.d.ts +0 -12
  51. package/build/geometries/polygon.d.ts.map +1 -1
  52. package/build/geometries/roundrect.d.ts +0 -18
  53. package/build/geometries/roundrect.d.ts.map +1 -1
  54. package/build/geometries/sphere.d.ts +0 -9
  55. package/build/geometries/sphere.d.ts.map +1 -1
  56. package/build/geometries/toarccanvas.d.ts.map +1 -1
  57. package/build/index.d.ts +1 -0
  58. package/build/index.d.ts.map +1 -1
  59. package/build/index.js +12150 -11289
  60. package/build/index.js.map +4 -4
  61. package/build/input/gamepad.d.ts.map +1 -1
  62. package/build/input/input.d.ts +19 -0
  63. package/build/input/input.d.ts.map +1 -1
  64. package/build/input/pointer.d.ts +0 -4
  65. package/build/input/pointer.d.ts.map +1 -1
  66. package/build/input/pointerevent.d.ts +0 -6
  67. package/build/input/pointerevent.d.ts.map +1 -1
  68. package/build/lang/deprecated.d.ts +4 -2
  69. package/build/lang/deprecated.d.ts.map +1 -1
  70. package/build/level/gltf/GLTFModel.d.ts +0 -81
  71. package/build/level/gltf/GLTFModel.d.ts.map +1 -1
  72. package/build/level/gltf/GLTFScene.d.ts +13 -44
  73. package/build/level/gltf/GLTFScene.d.ts.map +1 -1
  74. package/build/level/gltf/gltf_sampler.d.ts +1 -48
  75. package/build/level/gltf/gltf_sampler.d.ts.map +1 -1
  76. package/build/level/level.d.ts +195 -113
  77. package/build/level/level.d.ts.map +1 -1
  78. package/build/level/tiled/TMXGroup.d.ts +1 -65
  79. package/build/level/tiled/TMXGroup.d.ts.map +1 -1
  80. package/build/level/tiled/TMXLayer.d.ts +0 -44
  81. package/build/level/tiled/TMXLayer.d.ts.map +1 -1
  82. package/build/level/tiled/TMXObject.d.ts +1 -136
  83. package/build/level/tiled/TMXObject.d.ts.map +1 -1
  84. package/build/level/tiled/TMXObjectFactory.d.ts +1 -40
  85. package/build/level/tiled/TMXObjectFactory.d.ts.map +1 -1
  86. package/build/level/tiled/TMXTile.d.ts +1 -30
  87. package/build/level/tiled/TMXTile.d.ts.map +1 -1
  88. package/build/level/tiled/TMXTileMap.d.ts +0 -10
  89. package/build/level/tiled/TMXTileMap.d.ts.map +1 -1
  90. package/build/level/tiled/TMXTileset.d.ts +0 -113
  91. package/build/level/tiled/TMXTileset.d.ts.map +1 -1
  92. package/build/level/tiled/TMXTilesetGroup.d.ts +0 -1
  93. package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -1
  94. package/build/level/tiled/TMXUtils.d.ts +1 -43
  95. package/build/level/tiled/TMXUtils.d.ts.map +1 -1
  96. package/build/level/tiled/factories/shape.d.ts +1 -7
  97. package/build/level/tiled/factories/shape.d.ts.map +1 -1
  98. package/build/level/tiled/factories/text.d.ts +1 -7
  99. package/build/level/tiled/factories/text.d.ts.map +1 -1
  100. package/build/level/tiled/factories/tile.d.ts +1 -7
  101. package/build/level/tiled/factories/tile.d.ts.map +1 -1
  102. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts +0 -60
  103. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -1
  104. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts +0 -42
  105. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -1
  106. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts +0 -5
  107. package/build/level/tiled/renderer/TMXObliqueRenderer.d.ts.map +1 -1
  108. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +0 -31
  109. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -1
  110. package/build/level/tiled/renderer/TMXRenderer.d.ts +2 -2
  111. package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -1
  112. package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -1
  113. package/build/level/tiled/renderer/autodetect.d.ts +1 -6
  114. package/build/level/tiled/renderer/autodetect.d.ts.map +1 -1
  115. package/build/lighting/light2d.d.ts +0 -25
  116. package/build/lighting/light2d.d.ts.map +1 -1
  117. package/build/lighting/light3d.d.ts +0 -16
  118. package/build/lighting/light3d.d.ts.map +1 -1
  119. package/build/loader/loader.d.ts +46 -73
  120. package/build/loader/loader.d.ts.map +1 -1
  121. package/build/loader/loadingscreen.d.ts +0 -33
  122. package/build/loader/loadingscreen.d.ts.map +1 -1
  123. package/build/loader/parsers/aseprite.d.ts +0 -13
  124. package/build/loader/parsers/aseprite.d.ts.map +1 -1
  125. package/build/loader/parsers/audio.d.ts +2 -0
  126. package/build/loader/parsers/audio.d.ts.map +1 -0
  127. package/build/loader/parsers/binary.d.ts +1 -10
  128. package/build/loader/parsers/binary.d.ts.map +1 -1
  129. package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -1
  130. package/build/loader/parsers/compressed_textures/parseDDS.d.ts +1 -7
  131. package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -1
  132. package/build/loader/parsers/compressed_textures/parseKTX.d.ts +1 -7
  133. package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -1
  134. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +1 -7
  135. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -1
  136. package/build/loader/parsers/compressed_textures/parsePKM.d.ts +1 -7
  137. package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -1
  138. package/build/loader/parsers/compressed_textures/parsePVR.d.ts +1 -7
  139. package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -1
  140. package/build/loader/parsers/fontface.d.ts +1 -13
  141. package/build/loader/parsers/fontface.d.ts.map +1 -1
  142. package/build/loader/parsers/gltf.d.ts +1 -70
  143. package/build/loader/parsers/gltf.d.ts.map +1 -1
  144. package/build/loader/parsers/image.d.ts +1 -22
  145. package/build/loader/parsers/image.d.ts.map +1 -1
  146. package/build/loader/parsers/json.d.ts +1 -10
  147. package/build/loader/parsers/json.d.ts.map +1 -1
  148. package/build/loader/parsers/mtl.d.ts +1 -28
  149. package/build/loader/parsers/mtl.d.ts.map +1 -1
  150. package/build/loader/parsers/obj.d.ts +1 -59
  151. package/build/loader/parsers/obj.d.ts.map +1 -1
  152. package/build/loader/parsers/pbr.d.ts +1 -62
  153. package/build/loader/parsers/pbr.d.ts.map +1 -1
  154. package/build/loader/parsers/script.d.ts +1 -10
  155. package/build/loader/parsers/script.d.ts.map +1 -1
  156. package/build/loader/parsers/shader.d.ts +1 -52
  157. package/build/loader/parsers/shader.d.ts.map +1 -1
  158. package/build/loader/parsers/tmx.d.ts +1 -10
  159. package/build/loader/parsers/tmx.d.ts.map +1 -1
  160. package/build/loader/parsers/video.d.ts +1 -10
  161. package/build/loader/parsers/video.d.ts.map +1 -1
  162. package/build/math/color.d.ts.map +1 -1
  163. package/build/math/noise.d.ts +0 -40
  164. package/build/math/noise.d.ts.map +1 -1
  165. package/build/math/observableVector2d.d.ts +0 -3
  166. package/build/math/observableVector2d.d.ts.map +1 -1
  167. package/build/math/observableVector3d.d.ts +0 -3
  168. package/build/math/observableVector3d.d.ts.map +1 -1
  169. package/build/math/vector2d.d.ts +0 -6
  170. package/build/math/vector2d.d.ts.map +1 -1
  171. package/build/math/vertex.d.ts +25 -0
  172. package/build/math/vertex.d.ts.map +1 -1
  173. package/build/particles/emitter.d.ts +0 -65
  174. package/build/particles/emitter.d.ts.map +1 -1
  175. package/build/particles/particle.d.ts +0 -81
  176. package/build/particles/particle.d.ts.map +1 -1
  177. package/build/physics/adapter.d.ts +3 -3
  178. package/build/physics/bounds.d.ts +0 -1
  179. package/build/physics/bounds.d.ts.map +1 -1
  180. package/build/physics/broadphase/broadphase.d.ts +0 -7
  181. package/build/physics/broadphase/broadphase.d.ts.map +1 -1
  182. package/build/physics/broadphase/octree.d.ts +0 -91
  183. package/build/physics/broadphase/octree.d.ts.map +1 -1
  184. package/build/physics/broadphase/quadtree.d.ts +0 -47
  185. package/build/physics/broadphase/quadtree.d.ts.map +1 -1
  186. package/build/physics/builtin/body.d.ts +5 -69
  187. package/build/physics/builtin/body.d.ts.map +1 -1
  188. package/build/physics/builtin/detector.d.ts +0 -312
  189. package/build/physics/builtin/detector.d.ts.map +1 -1
  190. package/build/physics/builtin/sat.d.ts +1 -48
  191. package/build/physics/builtin/sat.d.ts.map +1 -1
  192. package/build/physics/builtin/sat3d.d.ts +1 -56
  193. package/build/physics/builtin/sat3d.d.ts.map +1 -1
  194. package/build/physics/collision.d.ts +0 -2
  195. package/build/physics/collision.d.ts.map +1 -1
  196. package/build/physics/response.d.ts +0 -1
  197. package/build/physics/response.d.ts.map +1 -1
  198. package/build/physics/world.d.ts.map +1 -1
  199. package/build/plugin/plugin.d.ts +9 -1
  200. package/build/plugin/plugin.d.ts.map +1 -1
  201. package/build/polyfill/index.d.ts +1 -4
  202. package/build/polyfill/index.d.ts.map +1 -1
  203. package/build/renderable/anchorPoint.d.ts +1 -73
  204. package/build/renderable/anchorPoint.d.ts.map +1 -1
  205. package/build/renderable/animation.d.ts +0 -7
  206. package/build/renderable/animation.d.ts.map +1 -1
  207. package/build/renderable/colorlayer.d.ts +0 -5
  208. package/build/renderable/colorlayer.d.ts.map +1 -1
  209. package/build/renderable/container.d.ts +0 -55
  210. package/build/renderable/container.d.ts.map +1 -1
  211. package/build/renderable/draggable.d.ts +0 -5
  212. package/build/renderable/draggable.d.ts.map +1 -1
  213. package/build/renderable/dragndrop.d.ts +1 -12
  214. package/build/renderable/dragndrop.d.ts.map +1 -1
  215. package/build/renderable/entity/entity.d.ts +0 -8
  216. package/build/renderable/entity/entity.d.ts.map +1 -1
  217. package/build/renderable/frameAnimation.d.ts +0 -41
  218. package/build/renderable/frameAnimation.d.ts.map +1 -1
  219. package/build/renderable/groundshadow.d.ts +1 -91
  220. package/build/renderable/groundshadow.d.ts.map +1 -1
  221. package/build/renderable/imagelayer.d.ts +0 -29
  222. package/build/renderable/imagelayer.d.ts.map +1 -1
  223. package/build/renderable/instanced_mesh.d.ts +26 -104
  224. package/build/renderable/instanced_mesh.d.ts.map +1 -1
  225. package/build/renderable/mesh.d.ts +145 -140
  226. package/build/renderable/mesh.d.ts.map +1 -1
  227. package/build/renderable/nineslicesprite.d.ts +0 -4
  228. package/build/renderable/nineslicesprite.d.ts.map +1 -1
  229. package/build/renderable/renderable.d.ts +17 -54
  230. package/build/renderable/renderable.d.ts.map +1 -1
  231. package/build/renderable/sprite.d.ts +7 -52
  232. package/build/renderable/sprite.d.ts.map +1 -1
  233. package/build/renderable/sprite3d.d.ts +0 -95
  234. package/build/renderable/sprite3d.d.ts.map +1 -1
  235. package/build/renderable/text/bitmaptext.d.ts +0 -14
  236. package/build/renderable/text/bitmaptext.d.ts.map +1 -1
  237. package/build/renderable/text/bitmaptextdata.d.ts +0 -22
  238. package/build/renderable/text/bitmaptextdata.d.ts.map +1 -1
  239. package/build/renderable/text/glyph.d.ts +1 -39
  240. package/build/renderable/text/glyph.d.ts.map +1 -1
  241. package/build/renderable/text/text.d.ts +0 -20
  242. package/build/renderable/text/text.d.ts.map +1 -1
  243. package/build/renderable/text/textstyle.d.ts +1 -5
  244. package/build/renderable/text/textstyle.d.ts.map +1 -1
  245. package/build/renderable/trail.d.ts +0 -29
  246. package/build/renderable/trail.d.ts.map +1 -1
  247. package/build/renderable/trigger.d.ts +0 -6
  248. package/build/renderable/trigger.d.ts.map +1 -1
  249. package/build/renderable/ui/uibaseelement.d.ts +0 -40
  250. package/build/renderable/ui/uibaseelement.d.ts.map +1 -1
  251. package/build/renderable/ui/uispriteelement.d.ts +0 -35
  252. package/build/renderable/ui/uispriteelement.d.ts.map +1 -1
  253. package/build/state/stage.d.ts +4 -68
  254. package/build/state/stage.d.ts.map +1 -1
  255. package/build/state/state.d.ts.map +1 -1
  256. package/build/system/device.d.ts +0 -12
  257. package/build/system/device.d.ts.map +1 -1
  258. package/build/system/dom.d.ts +1 -8
  259. package/build/system/dom.d.ts.map +1 -1
  260. package/build/system/event.d.ts +1 -1
  261. package/build/system/legacy_pool.d.ts +1 -6
  262. package/build/system/legacy_pool.d.ts.map +1 -1
  263. package/build/system/platform.d.ts +21 -2
  264. package/build/system/platform.d.ts.map +1 -1
  265. package/build/system/pool.d.ts +0 -9
  266. package/build/system/pool.d.ts.map +1 -1
  267. package/build/system/save.d.ts.map +1 -1
  268. package/build/system/timer.d.ts +0 -20
  269. package/build/system/timer.d.ts.map +1 -1
  270. package/build/tweens/tween.d.ts +0 -62
  271. package/build/tweens/tween.d.ts.map +1 -1
  272. package/build/utils/array-multimap.d.ts +1 -13
  273. package/build/utils/array-multimap.d.ts.map +1 -1
  274. package/build/utils/decode.d.ts.map +1 -1
  275. package/build/utils/fetchdata.d.ts +2 -0
  276. package/build/utils/fetchdata.d.ts.map +1 -0
  277. package/build/utils/utils.d.ts +0 -13
  278. package/build/utils/utils.d.ts.map +1 -1
  279. package/build/video/blendmodes.d.ts +1 -106
  280. package/build/video/blendmodes.d.ts.map +1 -1
  281. package/build/video/buffer/index.d.ts +1 -39
  282. package/build/video/buffer/index.d.ts.map +1 -1
  283. package/build/video/buffer/vertex.d.ts +1 -82
  284. package/build/video/buffer/vertex.d.ts.map +1 -1
  285. package/build/video/canvas/canvas_renderer.d.ts +7 -25
  286. package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
  287. package/build/video/canvas_factory.d.ts +1 -24
  288. package/build/video/canvas_factory.d.ts.map +1 -1
  289. package/build/video/effects/blendEffect.d.ts +0 -54
  290. package/build/video/effects/blendEffect.d.ts.map +1 -1
  291. package/build/video/effects/blur.d.ts +4 -4
  292. package/build/video/effects/blur.d.ts.map +1 -1
  293. package/build/video/effects/chromaticAberration.d.ts +5 -5
  294. package/build/video/effects/chromaticAberration.d.ts.map +1 -1
  295. package/build/video/effects/colorMatrix.d.ts +5 -15
  296. package/build/video/effects/colorMatrix.d.ts.map +1 -1
  297. package/build/video/effects/desaturate.d.ts +5 -5
  298. package/build/video/effects/desaturate.d.ts.map +1 -1
  299. package/build/video/effects/dissolve.d.ts +4 -4
  300. package/build/video/effects/dissolve.d.ts.map +1 -1
  301. package/build/video/effects/dropShadow.d.ts +5 -5
  302. package/build/video/effects/dropShadow.d.ts.map +1 -1
  303. package/build/video/effects/flash.d.ts +4 -4
  304. package/build/video/effects/flash.d.ts.map +1 -1
  305. package/build/video/effects/glow.d.ts +5 -5
  306. package/build/video/effects/glow.d.ts.map +1 -1
  307. package/build/video/effects/glsl_realization.d.ts +1 -17
  308. package/build/video/effects/glsl_realization.d.ts.map +1 -1
  309. package/build/video/effects/hologram.d.ts +4 -4
  310. package/build/video/effects/hologram.d.ts.map +1 -1
  311. package/build/video/effects/invert.d.ts +5 -5
  312. package/build/video/effects/invert.d.ts.map +1 -1
  313. package/build/video/effects/outline.d.ts +6 -6
  314. package/build/video/effects/outline.d.ts.map +1 -1
  315. package/build/video/effects/pixelate.d.ts +4 -4
  316. package/build/video/effects/pixelate.d.ts.map +1 -1
  317. package/build/video/effects/radialGradient.d.ts +2 -3
  318. package/build/video/effects/radialGradient.d.ts.map +1 -1
  319. package/build/video/effects/scanline.d.ts +6 -6
  320. package/build/video/effects/scanline.d.ts.map +1 -1
  321. package/build/video/effects/sepia.d.ts +5 -5
  322. package/build/video/effects/sepia.d.ts.map +1 -1
  323. package/build/video/effects/shadereffect.d.ts +12 -123
  324. package/build/video/effects/shadereffect.d.ts.map +1 -1
  325. package/build/video/effects/shine.d.ts +3 -3
  326. package/build/video/effects/shine.d.ts.map +1 -1
  327. package/build/video/effects/tintPulse.d.ts +4 -4
  328. package/build/video/effects/tintPulse.d.ts.map +1 -1
  329. package/build/video/effects/vignette.d.ts +6 -6
  330. package/build/video/effects/vignette.d.ts.map +1 -1
  331. package/build/video/effects/wave.d.ts +4 -4
  332. package/build/video/effects/wave.d.ts.map +1 -1
  333. package/build/video/effects/wgsl/layout.d.ts +1 -27
  334. package/build/video/effects/wgsl/layout.d.ts.map +1 -1
  335. package/build/video/effects/wgsl/parse.d.ts +1 -8
  336. package/build/video/effects/wgsl/parse.d.ts.map +1 -1
  337. package/build/video/effects/wgsl/scaffold.d.ts +1 -42
  338. package/build/video/effects/wgsl/scaffold.d.ts.map +1 -1
  339. package/build/video/effects/wgsl_realization.d.ts +1 -82
  340. package/build/video/effects/wgsl_realization.d.ts.map +1 -1
  341. package/build/video/gpu/batcher.d.ts +1 -13
  342. package/build/video/gpu/batcher.d.ts.map +1 -1
  343. package/build/video/gpu/instancerecord.d.ts +1 -163
  344. package/build/video/gpu/instancerecord.d.ts.map +1 -1
  345. package/build/video/gpu/meshchunk.d.ts +1 -48
  346. package/build/video/gpu/meshchunk.d.ts.map +1 -1
  347. package/build/video/gpu/meshvertex.d.ts +1 -53
  348. package/build/video/gpu/meshvertex.d.ts.map +1 -1
  349. package/build/video/gpu/primitives.d.ts +1 -59
  350. package/build/video/gpu/primitives.d.ts.map +1 -1
  351. package/build/video/gpu/quadcorners.d.ts +1 -10
  352. package/build/video/gpu/quadcorners.d.ts.map +1 -1
  353. package/build/video/gpu/textureslots.d.ts +1 -121
  354. package/build/video/gpu/textureslots.d.ts.map +1 -1
  355. package/build/video/gpu/texturestore.d.ts +1 -138
  356. package/build/video/gpu/texturestore.d.ts.map +1 -1
  357. package/build/video/gpu/topology.d.ts.map +1 -1
  358. package/build/video/gpu/vertexformat.d.ts +0 -28
  359. package/build/video/gpu/vertexformat.d.ts.map +1 -1
  360. package/build/video/gradient.d.ts +0 -81
  361. package/build/video/gradient.d.ts.map +1 -1
  362. package/build/video/renderer.d.ts +21 -102
  363. package/build/video/renderer.d.ts.map +1 -1
  364. package/build/video/renderstate.d.ts +0 -51
  365. package/build/video/renderstate.d.ts.map +1 -1
  366. package/build/video/rendertarget/canvasrendertarget.d.ts +0 -10
  367. package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -1
  368. package/build/video/rendertarget/render_target_pool.d.ts +1 -82
  369. package/build/video/rendertarget/render_target_pool.d.ts.map +1 -1
  370. package/build/video/rendertarget/webglrendertarget.d.ts +1 -64
  371. package/build/video/rendertarget/webglrendertarget.d.ts.map +1 -1
  372. package/build/video/rendertarget/webgpurendertarget.d.ts +0 -8
  373. package/build/video/rendertarget/webgpurendertarget.d.ts.map +1 -1
  374. package/build/video/texture/atlas.d.ts +2 -76
  375. package/build/video/texture/atlas.d.ts.map +1 -1
  376. package/build/video/texture/cache.d.ts +0 -136
  377. package/build/video/texture/cache.d.ts.map +1 -1
  378. package/build/video/texture/frametexture.d.ts +1 -71
  379. package/build/video/texture/frametexture.d.ts.map +1 -1
  380. package/build/video/texture/noise_texture2d.d.ts +0 -43
  381. package/build/video/texture/noise_texture2d.d.ts.map +1 -1
  382. package/build/video/texture/parser/aseprite.d.ts +1 -8
  383. package/build/video/texture/parser/aseprite.d.ts.map +1 -1
  384. package/build/video/texture/parser/spritesheet.d.ts +1 -8
  385. package/build/video/texture/parser/spritesheet.d.ts.map +1 -1
  386. package/build/video/texture/parser/texturepacker.d.ts +1 -8
  387. package/build/video/texture/parser/texturepacker.d.ts.map +1 -1
  388. package/build/video/texture/resource.d.ts +0 -9
  389. package/build/video/texture/resource.d.ts.map +1 -1
  390. package/build/video/texture/texture2d.d.ts +0 -11
  391. package/build/video/texture/texture2d.d.ts.map +1 -1
  392. package/build/video/utils/autodetect.d.ts +1 -5
  393. package/build/video/utils/autodetect.d.ts.map +1 -1
  394. package/build/video/webgl/batchers/batcher.d.ts +0 -55
  395. package/build/video/webgl/batchers/batcher.d.ts.map +1 -1
  396. package/build/video/webgl/batchers/lit_mesh_batcher.d.ts +0 -14
  397. package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -1
  398. package/build/video/webgl/batchers/lit_quad_batcher.d.ts +0 -72
  399. package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
  400. package/build/video/webgl/batchers/material_batcher.d.ts +0 -89
  401. package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
  402. package/build/video/webgl/batchers/mesh_batcher.d.ts +14 -343
  403. package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
  404. package/build/video/webgl/batchers/primitive_batcher.d.ts +0 -10
  405. package/build/video/webgl/batchers/primitive_batcher.d.ts.map +1 -1
  406. package/build/video/webgl/batchers/quad_batcher.d.ts +0 -30
  407. package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
  408. package/build/video/webgl/buffer/index.d.ts +1 -36
  409. package/build/video/webgl/buffer/index.d.ts.map +1 -1
  410. package/build/video/webgl/buffer/instance_buffer.d.ts +1 -53
  411. package/build/video/webgl/buffer/instance_buffer.d.ts.map +1 -1
  412. package/build/video/webgl/buffer/retained_geometry.d.ts +1 -81
  413. package/build/video/webgl/buffer/retained_geometry.d.ts.map +1 -1
  414. package/build/video/webgl/buffer/uniformblock.d.ts +1 -80
  415. package/build/video/webgl/buffer/uniformblock.d.ts.map +1 -1
  416. package/build/video/webgl/buffer/vertexstate.d.ts +1 -100
  417. package/build/video/webgl/buffer/vertexstate.d.ts.map +1 -1
  418. package/build/video/webgl/glshader.d.ts +2 -51
  419. package/build/video/webgl/glshader.d.ts.map +1 -1
  420. package/build/video/webgl/lighting/pack3d.d.ts +1 -47
  421. package/build/video/webgl/lighting/pack3d.d.ts.map +1 -1
  422. package/build/video/webgl/lighting/std140.d.ts +1 -109
  423. package/build/video/webgl/lighting/std140.d.ts.map +1 -1
  424. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts +1 -103
  425. package/build/video/webgl/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  426. package/build/video/webgl/shaders/multitexture-lit.d.ts +1 -26
  427. package/build/video/webgl/shaders/multitexture-lit.d.ts.map +1 -1
  428. package/build/video/webgl/shaders/multitexture.d.ts +1 -9
  429. package/build/video/webgl/shaders/multitexture.d.ts.map +1 -1
  430. package/build/video/webgl/texture/store.d.ts +1 -50
  431. package/build/video/webgl/texture/store.d.ts.map +1 -1
  432. package/build/video/webgl/utils/attributes.d.ts +1 -11
  433. package/build/video/webgl/utils/attributes.d.ts.map +1 -1
  434. package/build/video/webgl/utils/maxtextures.d.ts +1 -36
  435. package/build/video/webgl/utils/maxtextures.d.ts.map +1 -1
  436. package/build/video/webgl/utils/precision.d.ts +1 -14
  437. package/build/video/webgl/utils/precision.d.ts.map +1 -1
  438. package/build/video/webgl/utils/program.d.ts +1 -5
  439. package/build/video/webgl/utils/program.d.ts.map +1 -1
  440. package/build/video/webgl/utils/samplercache.d.ts +1 -68
  441. package/build/video/webgl/utils/samplercache.d.ts.map +1 -1
  442. package/build/video/webgl/utils/string.d.ts +1 -21
  443. package/build/video/webgl/utils/string.d.ts.map +1 -1
  444. package/build/video/webgl/utils/topology.d.ts +1 -23
  445. package/build/video/webgl/utils/topology.d.ts.map +1 -1
  446. package/build/video/webgl/utils/uniforms.d.ts +1 -25
  447. package/build/video/webgl/utils/uniforms.d.ts.map +1 -1
  448. package/build/video/webgl/utils/vertexformat.d.ts +1 -26
  449. package/build/video/webgl/utils/vertexformat.d.ts.map +1 -1
  450. package/build/video/webgl/webgl_renderer.d.ts +24 -286
  451. package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
  452. package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts +0 -6
  453. package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts.map +1 -1
  454. package/build/video/webgpu/batchers/lit_quad_batcher.d.ts +0 -8
  455. package/build/video/webgpu/batchers/lit_quad_batcher.d.ts.map +1 -1
  456. package/build/video/webgpu/batchers/mesh_batcher.d.ts +1 -230
  457. package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -1
  458. package/build/video/webgpu/batchers/primitive_batcher.d.ts.map +1 -1
  459. package/build/video/webgpu/batchers/quad_batcher.d.ts +0 -82
  460. package/build/video/webgpu/batchers/quad_batcher.d.ts.map +1 -1
  461. package/build/video/webgpu/buffer/arena.d.ts +1 -63
  462. package/build/video/webgpu/buffer/arena.d.ts.map +1 -1
  463. package/build/video/webgpu/buffer/instance_buffer.d.ts +1 -64
  464. package/build/video/webgpu/buffer/instance_buffer.d.ts.map +1 -1
  465. package/build/video/webgpu/buffer/retained_geometry.d.ts +1 -54
  466. package/build/video/webgpu/buffer/retained_geometry.d.ts.map +1 -1
  467. package/build/video/webgpu/buffer/uniformring.d.ts +1 -67
  468. package/build/video/webgpu/buffer/uniformring.d.ts.map +1 -1
  469. package/build/video/webgpu/effect_binding.d.ts +1 -16
  470. package/build/video/webgpu/effect_binding.d.ts.map +1 -1
  471. package/build/video/webgpu/pipeline/bindgroups.d.ts +1 -32
  472. package/build/video/webgpu/pipeline/bindgroups.d.ts.map +1 -1
  473. package/build/video/webgpu/pipeline/cache.d.ts +1 -163
  474. package/build/video/webgpu/pipeline/cache.d.ts.map +1 -1
  475. package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts +1 -87
  476. package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts.map +1 -1
  477. package/build/video/webgpu/shaders/mesh-instanced.d.ts +1 -43
  478. package/build/video/webgpu/shaders/mesh-instanced.d.ts.map +1 -1
  479. package/build/video/webgpu/texture/compressed.d.ts +1 -32
  480. package/build/video/webgpu/texture/compressed.d.ts.map +1 -1
  481. package/build/video/webgpu/texture/frametexture.d.ts +1 -62
  482. package/build/video/webgpu/texture/frametexture.d.ts.map +1 -1
  483. package/build/video/webgpu/texture/store.d.ts +1 -147
  484. package/build/video/webgpu/texture/store.d.ts.map +1 -1
  485. package/build/video/webgpu/webgpu_renderer.d.ts +2 -89
  486. package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -1
  487. package/package.json +8 -11
  488. package/skills/AGENTS.md +67 -0
  489. package/skills/melonjs/SKILL.md +156 -0
  490. package/skills/melonjs-20-migration/SKILL.md +160 -0
  491. package/skills/melonjs-3d/SKILL.md +525 -0
  492. package/skills/melonjs-3d-assets/SKILL.md +258 -0
  493. package/skills/melonjs-audio/SKILL.md +236 -0
  494. package/skills/melonjs-camera-and-drawing/SKILL.md +175 -0
  495. package/skills/melonjs-deployment/SKILL.md +113 -0
  496. package/skills/melonjs-effects-and-shaders/SKILL.md +178 -0
  497. package/skills/melonjs-events/SKILL.md +159 -0
  498. package/skills/melonjs-getting-started/SKILL.md +183 -0
  499. package/skills/melonjs-input/SKILL.md +166 -0
  500. package/skills/melonjs-lighting/SKILL.md +139 -0
  501. package/skills/melonjs-loading-assets/SKILL.md +186 -0
  502. package/skills/melonjs-particles-and-trails/SKILL.md +136 -0
  503. package/skills/melonjs-performance/SKILL.md +183 -0
  504. package/skills/melonjs-physics/SKILL.md +321 -0
  505. package/skills/melonjs-plugins/SKILL.md +191 -0
  506. package/skills/melonjs-renderables/SKILL.md +214 -0
  507. package/skills/melonjs-renderer-backends/SKILL.md +173 -0
  508. package/skills/melonjs-scenes-and-state/SKILL.md +180 -0
  509. package/skills/melonjs-sprites-and-animation/SKILL.md +173 -0
  510. package/skills/melonjs-tilemaps/SKILL.md +213 -0
  511. package/skills/melonjs-ui-and-text/SKILL.md +65 -0
  512. package/build/audio/backend.d.ts +0 -140
  513. package/build/audio/backend.d.ts.map +0 -1
  514. package/build/loader/parsers/fetchdata.d.ts +0 -32
  515. package/build/loader/parsers/fetchdata.d.ts.map +0 -1
@@ -1,12 +1,4 @@
1
- /**
2
- * Byte size of the per-draw mesh uniform block:
3
- * mat4x4 model (64) + mat4x4 view (64) + vec4 tint (16) + vec4 params
4
- * (alphaCutoff, hasAlphaMap, reserved ×2) (16) + vec4 emissive (16) +
5
- * vec4 specular (rgb + shininess) (16) + vec4 eye (camera world position;
6
- * w reserved) (16) → 208.
7
- * @ignore
8
- */
9
- export const MESH_UNIFORM_SIZE: 208;
1
+
10
2
  /**
11
3
  * The WebGPU mesh batcher — textured triangle meshes with the same
12
4
  * geometry contract as the WebGL `MeshBatcher` (36-byte unlit layout,
@@ -53,169 +45,7 @@ export default class WebGPUMeshBatcher extends WebGPUBatcher {
53
45
  instanced: Map<any, any> | undefined;
54
46
  instancedKeys: Map<any, any> | undefined;
55
47
  shadowFamilyKeys: Map<any, any> | undefined;
56
- /**
57
- * The instanced variant options for this tier (unlit by default) — where
58
- * its instance attributes start and how its vertex stage places them.
59
- * @ignore
60
- */
61
- instancedVariant(): {
62
- baseLocation: number;
63
- varyingLocation: number;
64
- geometryInputs: string;
65
- body: string;
66
- };
67
- /**
68
- * The pipeline-cache family for a given record layout, registered on
69
- * first use.
70
- *
71
- * WGSL has no preprocessor, so the variant is a module DERIVED from this
72
- * tier's ordinary source (see `buildInstancedMeshWGSL`) rather than the
73
- * same text compiled with different defines. Its vertex layout is two
74
- * groups: this batcher's geometry layout, plus the instance records
75
- * stepping once per instance.
76
- * @param {object} layout - the instance record layout
77
- * @returns {string} the family key
78
- * @ignore
79
- */
80
- instancedFamilyFor(layout: object): string;
81
- /**
82
- * Get (creating on first use) the GPU instance buffer for one mesh, with
83
- * its dirty span already uploaded.
84
- * @param {InstancedMesh} mesh - the mesh being drawn
85
- * @returns {WebGPUInstanceBuffer} the up-to-date buffer
86
- * @ignore
87
- */
88
- instanceBufferFor(mesh: InstancedMesh): WebGPUInstanceBuffer;
89
- /**
90
- * Draw every visible instance of a mesh in one recorded call.
91
- * @param {InstancedMesh} mesh - the mesh to draw
92
- * @param {Matrix3d} modelMatrix - where the group sits in the world
93
- * @param {number} tint - tint colour in UINT32 (argb) format
94
- * @ignore
95
- */
96
- drawInstancedMesh(mesh: InstancedMesh, modelMatrix: Matrix3d, tint: number): void;
97
48
  instancedShaderWarned: boolean | undefined;
98
- /**
99
- * The instanced ground-shadow family (#1515), registered on first use.
100
- *
101
- * ONE family, not one per record layout: the module reads only the three
102
- * transform rows, so `hasColor` / `hasData` make no difference — and the
103
- * vertex layout declares only those rows, leaving the instance buffer's
104
- * stride and offsets exactly as the mesh pass uses them.
105
- * @param {object} layout - the mesh's instance record layout
106
- * @returns {string} the pipeline family key
107
- * @ignore
108
- */
109
- instancedShadowFamily(layout: object): string;
110
- /**
111
- * Record one flat blob per instance, in a single call, over the same
112
- * instance buffer the mesh itself drew from (#1515).
113
- * @param {InstancedMesh} mesh - the mesh casting the shadows
114
- * @param {Matrix3d} shadowMatrix - the group matrix flattened onto the ground
115
- * @param {number} tint - tint colour in UINT32 (argb) format
116
- * @param {object} quad - the shared shadow quad
117
- * @ignore
118
- */
119
- drawInstancedShadow(mesh: InstancedMesh, shadowMatrix: Matrix3d, tint: number, quad: object): void;
120
- /**
121
- * Release the instance buffer held for one mesh, if any.
122
- * @param {object} mesh - the mesh whose instance records should be freed
123
- * @ignore
124
- */
125
- releaseInstanced(mesh: object): void;
126
- /**
127
- * Release every instance buffer this batcher holds.
128
- * @ignore
129
- */
130
- releaseAllInstanced(): void;
131
- /**
132
- * the first-init settings — the lit subclass overrides the key and
133
- * appends its normal attribute
134
- * @ignore
135
- */
136
- defaultSettings(): {
137
- shaderKey: string;
138
- topology: string;
139
- attributes: {
140
- name: string;
141
- format: string;
142
- offset: number;
143
- }[];
144
- };
145
- /**
146
- * the WGSL module text of this family
147
- * @ignore
148
- */
149
- shaderSource(): any;
150
- /**
151
- * The vertex attribute layout — identical to the WebGL mesh batcher's:
152
- * `aVertex` (3) + `aRegion` (2) + `aColor` (4 floats, deliberately not
153
- * unorm8x4 — the layout is shared with GL, where float colors dodge
154
- * NaN-pattern canonicalization on Metal-backed drivers) = 9 floats.
155
- * @ignore
156
- */
157
- attributeLayout(): {
158
- name: string;
159
- format: string;
160
- offset: number;
161
- }[];
162
- /**
163
- * the shape signature keying the group-3 layout in the pipeline cache
164
- * @ignore
165
- */
166
- uniformSignature(): string;
167
- /**
168
- * The shader family for the next recorded draw: the built-in family,
169
- * or the hosted custom module when `renderer.drawMesh` routed a
170
- * WGSL-carrying {@link GLShader} here — registered lazily against
171
- * THIS host's vertex layout and group list, so one instance serves
172
- * the unlit and lit hosts as distinct families. An invalid module
173
- * (failed async validation) falls back to the built-in family: the
174
- * mesh keeps drawing, default-shaded — the ShaderEffect
175
- * warn-and-degrade contract.
176
- * @returns {string} the pipeline-cache family key
177
- * @ignore
178
- */
179
- activeShaderKey(): string;
180
- /**
181
- * the positional bind-group-layout list for this family — the lit
182
- * subclass swaps the group-2 filler for its light-block layout
183
- * @ignore
184
- */
185
- bindGroupLayoutList(cache: any): any[];
186
- /**
187
- * Resolve the group-1 material for a mesh: its texture through the
188
- * texture store, honouring the mesh's own `textureRepeat` wrap override
189
- * (#1503 — sampler state per use, never a mutation of the shared
190
- * per-image atlas). A material change with vertices pending flushes
191
- * them under the previous binding.
192
- * @param {object} mesh - the mesh whose material should be applied
193
- * @param {TextureAtlas} [texture] - bind this texture instead of the mesh's
194
- * own — how a multi-material model's per-material `map_Kd` reaches the
195
- * sampler, one draw range at a time (#1573). The wrap override stays a
196
- * property of the mesh, not of the material group.
197
- * @ignore
198
- */
199
- applyMeshMaterial(mesh: object, texture?: TextureAtlas): void;
200
- /**
201
- * Snapshot the per-draw uniforms — placement (`model`, `view`), tint,
202
- * and the mesh's material scalars (alpha cutoff, emissive) — into a
203
- * fresh dynamic-offset region of the effect uniform arena. The draws
204
- * recorded after this bind against exactly these bytes.
205
- * @param {Matrix3d} modelMatrix - the mesh's own placement, or identity
206
- * when its vertices are already positioned
207
- * @param {number} tint - tint colour in UINT32 (argb) format
208
- * @param {object} mesh - the mesh (alphaCutoff / emissive source)
209
- * @ignore
210
- */
211
- setPlacementUniforms(modelMatrix: Matrix3d, tint: number, mesh: object): void;
212
- /**
213
- * Write one vertex into the staging buffer. The base (unlit) layout is
214
- * `x, y, z, u, v, color` — subclasses override to append per-vertex
215
- * data matching their attribute layout.
216
- * @ignore
217
- */
218
- pushVertex(vertexData: any, x: any, y: any, z: any, u: any, v: any, color: any, _mesh: any, _i3: any): void;
219
49
  /**
220
50
  * Add a textured mesh to the batch (the accumulated path: vertices
221
51
  * already CPU-projected, identity model matrix). Chunks triangles
@@ -226,15 +56,6 @@ export default class WebGPUMeshBatcher extends WebGPUBatcher {
226
56
  * @param {number} tint - tint color in UINT32 (argb) format
227
57
  */
228
58
  addMesh(mesh: object, tint: number): void;
229
- /**
230
- * Accumulate one index range of a mesh into the batch, chunking triangles
231
- * across flushes as the vertex / index staging arrays fill.
232
- * @param {object} mesh - a Mesh with vertices, uvs, indices, texture
233
- * @param {number} from - first index to accumulate
234
- * @param {number} length - how many indices to accumulate
235
- * @ignore
236
- */
237
- accumulateRange(mesh: object, from: number, length: number): void;
238
59
  /**
239
60
  * Record the pending mesh vertices as one indexed draw: vertex bytes
240
61
  * into the vertex arena, index bytes into the index arena, pipeline
@@ -243,56 +64,6 @@ export default class WebGPUMeshBatcher extends WebGPUBatcher {
243
64
  * @override
244
65
  */
245
66
  override flush(): void;
246
- /**
247
- * bind group 2 — the unlit family interposes the shared empty group;
248
- * the lit subclass overrides with its light block
249
- * @ignore
250
- */
251
- bindLights(pass: any): void;
252
- /**
253
- * Write one mesh's model-space geometry into `out` in this batcher's
254
- * vertex layout, returning how many floats were written — the shared
255
- * neutral builder (`gpu/meshvertex.ts`), one copy for both backends.
256
- * @param {object} mesh - the mesh to read geometry from
257
- * @param {Float32Array} out - destination scratch
258
- * @returns {number} number of floats written
259
- * @ignore
260
- */
261
- buildRetainedVertexData(mesh: object, out: Float32Array): number;
262
- /**
263
- * Get this mesh's retained geometry, building or refreshing it when
264
- * the mesh's geometry version has moved on.
265
- * @param {object} mesh - the mesh whose geometry is wanted
266
- * @returns {WebGPURetainedGeometry} up-to-date geometry for the mesh
267
- * @ignore
268
- */
269
- retainedGeometryFor(mesh: object): WebGPURetainedGeometry;
270
- /**
271
- * Draw a mesh from its retained geometry: bind the persistent buffers
272
- * and record one indexed draw, with placement supplied entirely by the
273
- * per-draw uniform snapshot. Unlike {@link WebGPUMeshBatcher#addMesh}
274
- * this accumulates nothing and never chunks — the whole mesh is one
275
- * draw regardless of size, except for a multi-material model whose
276
- * materials carry different diffuse textures: that records one indexed
277
- * range per entry in {@link Mesh#textureGroups} (#1573), over the same
278
- * buffers, with only the group-1 material binding moving between them.
279
- * @param {object} mesh - the mesh to draw
280
- * @param {Matrix3d} modelMatrix - where the mesh sits in the world
281
- * @param {number} tint - tint colour in UINT32 (argb) format
282
- * @ignore
283
- */
284
- drawRetainedMesh(mesh: object, modelMatrix: Matrix3d, tint: number): void;
285
- /**
286
- * Release the retained geometry held for one mesh, if any.
287
- * @param {object} mesh - the mesh whose geometry should be freed
288
- * @ignore
289
- */
290
- releaseRetained(mesh: object): void;
291
- /**
292
- * Release every retained geometry this batcher holds.
293
- * @ignore
294
- */
295
- releaseAllRetained(): void;
296
67
  }
297
68
  import WebGPUBatcher from "./webgpu_batcher.js";
298
69
  import WebGPUInstanceBuffer from "../buffer/instance_buffer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"mesh_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/batchers/mesh_batcher.js"],"names":[],"mappings":"AAmBA;;;;;;;GAOG;AACH,gCAAiC,GAAG,CAAC;AAUrC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IACC;;;OAGG;IACH,wBAHW,OAAO,uBAAuB,EAAE,OAAO,uBAmFjD;IAzEA,2CAUE;IAuBF,oCAAsC;IAItC,kBAAwB;IAIxB,gDAA+D;IAC/D,gBAAmB;IAGnB,qBAA2B;IAE3B;;;yBAA0B;IAE1B,6CAAkC;IAGlC;;;kBAAuD;IAQvD,oCAAyB;IAQzB,qCAA0B;IAC1B,yCAA8B;IAG9B,4CAAiC;IAGlC;;;;OAIG;IACH;;;;;MAEC;IAED;;;;;;;;;;;;OAYG;IACH,2BAJW,MAAM,GACJ,MAAM,CAmClB;IAED;;;;;;OAMG;IACH,wBAJW,aAAa,GACX,oBAAoB,CAuBhC;IAED;;;;;;OAMG;IACH,wBALW,aAAa,eACb,QAAQ,QACR,MAAM,QA4EhB;IAhDC,2CAAiC;IAkDnC;;;;;;;;;;OAUG;IACH,8BAJW,MAAM,GACJ,MAAM,CA4ClB;IAED;;;;;;;;OAQG;IACH,0BANW,aAAa,gBACb,QAAQ,QACR,MAAM,QACN,MAAM,QA0DhB;IAED;;;;OAIG;IACH,uBAHW,MAAM,QAShB;IAED;;;OAGG;IACH,4BAKC;IAED;;;;OAIG;IACH;;;;;;;;MAMC;IAED;;;OAGG;IACH,oBAEC;IAED;;;;;;OAMG;IACH;;;;QAkBC;IAED;;;OAGG;IACH,2BAEC;IAED;;;;;;;;;;;OAWG;IACH,mBAHa,MAAM,CAkBlB;IAED;;;;OAIG;IACH,uCAOC;IAED;;;;;;;;;;;;OAYG;IACH,wBAPW,MAAM,YACN,YAAY,QAkCtB;IAED;;;;;;;;;;OAUG;IACH,kCANW,QAAQ,QAER,MAAM,QACN,MAAM,QAiEhB;IAED;;;;;OAKG;IACH,4GAEC;IAED;;;;;;;;OAQG;IACH,cAHW,MAAM,QACN,MAAM,QAsBhB;IAED;;;;;;;OAOG;IACH,sBALW,MAAM,QACN,MAAM,UACN,MAAM,QAsEhB;IAED;;;;;;OAMG;IACH,uBAsEC;IAED;;;;OAIG;IACH,4BAEC;IAED;;;;;;;;OAQG;IACH,8BALW,MAAM,OACN,YAAY,GACV,MAAM,CAKlB;IAED;;;;;;OAMG;IACH,0BAJW,MAAM,GACJ,sBAAsB,CAgBlC;IAED;;;;;;;;;;;;;OAaG;IACH,uBALW,MAAM,eACN,QAAQ,QACR,MAAM,QAmEhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,QAUhB;IAED;;;OAGG;IACH,2BAMC;CAsBD;0BA//ByB,qBAAqB;iCARd,8BAA8B;yBATtC,2BAA2B;mCAUjB,gCAAgC"}
1
+ {"version":3,"file":"mesh_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/batchers/mesh_batcher.js"],"names":[],"mappings":"AA8BA;;;;;;;;;GASG;AACH,gCAAiC,GAAG,CAAC;AAWrC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IACC;;;OAGG;IACH,wBAHW,OAAO,uBAAuB,EAAE,OAAO,uBAmFjD;IAzEA,2CAUE;IAuBF,oCAAsC;IAItC,kBAAwB;IAIxB,gDAA+D;IAC/D,gBAAmB;IAGnB,qBAA2B;IAE3B;;;yBAA0B;IAE1B,6CAAkC;IAGlC;;;kBAAuD;IAQvD,oCAAyB;IAQzB,qCAA0B;IAC1B,yCAA8B;IAG9B,4CAAiC;IAGlC;;;;;OAKG;IACH;;;;;MAEC;IAED;;;;;;;;;;;;;OAaG;IACH,2BALW,MAAM,GACJ,MAAM,CAoClB;IAED;;;;;;;OAOG;IACH,wBALW,aAAa,GACX,oBAAoB,CAwBhC;IAED;;;;;;;OAOG;IACH,wBANW,aAAa,eACb,QAAQ,QACR,MAAM,QAmFhB;IAtDC,2CAAiC;IAwDnC;;;;;;;;;;;OAWG;IACH,8BALW,MAAM,GACJ,MAAM,CA6ClB;IAED;;;;;;;;;OASG;IACH,0BAPW,aAAa,gBACb,QAAQ,QACR,MAAM,QACN,MAAM,QA4DhB;IAED;;;;;OAKG;IACH,uBAJW,MAAM,QAUhB;IAED;;;;OAIG;IACH,4BAKC;IAED;;;;;OAKG;IACH;;;;;;;;MAMC;IAED;;;;OAIG;IACH,oBAEC;IAED;;;;;;;OAOG;IACH;;;;QAkBC;IAED;;;;OAIG;IACH,2BAEC;IAED;;;;;;;;;;;;OAYG;IACH,mBAJa,MAAM,CAmBlB;IAED;;;;;OAKG;IACH,uCAOC;IAED;;;;;;;;;;;;;OAaG;IACH,wBARW,MAAM,YACN,YAAY,QAmCtB;IAED;;;;;;;;;;;OAWG;IACH,kCAPW,QAAQ,QAER,MAAM,QACN,MAAM,QA0GhB;IAED;;;;;;OAMG;IACH,4GAEC;IAED;;;;;;;;OAQG;IACH,cAHW,MAAM,QACN,MAAM,QAsBhB;IAED;;;;;;;;OAQG;IACH,sBANW,MAAM,QACN,MAAM,UACN,MAAM,QAuEhB;IAED;;;;;;OAMG;IACH,uBAuEC;IAED;;;;;OAKG;IACH,4BAEC;IAED;;;;;;;;;OASG;IACH,8BANW,MAAM,OACN,YAAY,GACV,MAAM,CAMlB;IAED;;;;;;;OAOG;IACH,0BALW,MAAM,GACJ,sBAAsB,CAiBlC;IAED;;;;;;;;;;;;;;OAcG;IACH,uBANW,MAAM,eACN,QAAQ,QACR,MAAM,QA4EhB;IAED;;;;;OAKG;IACH,sBAJW,MAAM,QAWhB;IAED;;;;OAIG;IACH,2BAMC;CAsBD;0BA7lCyB,qBAAqB;iCARd,8BAA8B;yBATtC,2BAA2B;mCAUjB,gCAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"primitive_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/batchers/primitive_batcher.js"],"names":[],"mappings":"AAMA;;;GAGG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;;OAGG;IACH,wBAHW,OAAO,uBAAuB,EAAE,OAAO,uBA8BjD;IAED;;;;;OAKG;IACH,uBAJW,MAAM,SACN,KAAK,EAAE,gBACP,MAAM,QAyEhB;;CAsID;0BA7QyB,qBAAqB;2BAIvB,gCAAgC"}
1
+ {"version":3,"file":"primitive_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/batchers/primitive_batcher.js"],"names":[],"mappings":"AAMA;;;GAGG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;;OAGG;IACH,wBAHW,OAAO,uBAAuB,EAAE,OAAO,uBA8BjD;IAED;;;;;OAKG;IACH,uBAJW,MAAM,SACN,KAAK,EAAE,gBACP,MAAM,QAyEhB;;CA0ID;0BAjRyB,qBAAqB;2BAIvB,gCAAgC"}
@@ -23,18 +23,11 @@ export default class WebGPUQuadBatcher extends WebGPUBatcher {
23
23
  currentMaterial: any;
24
24
  currentEffect: any;
25
25
  slotTable: TextureSlotTable | undefined;
26
- _memoView: any;
27
26
  /** @type {{view: GPUTextureView, sampler: GPUSampler}[]} indexed by slot */
28
27
  segmentEntries: {
29
28
  view: GPUTextureView;
30
29
  sampler: GPUSampler;
31
30
  }[] | undefined;
32
- /** @ignore */
33
- _memoFilter: any;
34
- /** @ignore */
35
- _memoWrap: any;
36
- /** @ignore */
37
- _memoSlot: number | undefined;
38
31
  segmentGroup: GPUBindGroup | null | undefined;
39
32
  /** @type {Map<string, GPUBindGroup>} */
40
33
  composedGroups: Map<string, GPUBindGroup> | undefined;
@@ -58,37 +51,6 @@ export default class WebGPUQuadBatcher extends WebGPUBatcher {
58
51
  * @param {boolean} [reupload=false] - force the source pixels to re-upload (video frames)
59
52
  */
60
53
  addQuad(texture: object, x: number, y: number, w: number, h: number, u0: number, v0: number, u1: number, v1: number, tint: number, reupload?: boolean): void;
61
- /**
62
- * Resolve a texture to its slot in the pending segment, claiming a new
63
- * slot (and flushing a full segment) when this (view, sampler) pair is
64
- * new. The upload rules — same-frame content changes, recycled units,
65
- * forced video re-uploads — all live in the store's resident-record
66
- * path, exactly as before.
67
- * @param {object} texture - the texture atlas to resolve
68
- * @param {boolean} reupload - force the source pixels to re-upload
69
- * @returns {number} the slot index written to aTextureId
70
- * @ignore
71
- */
72
- segmentSlotFor(texture: object, reupload: boolean): number;
73
- /**
74
- * a stable id for a GPU resource object (bind-group composition keys)
75
- * @ignore
76
- */
77
- resourceId(resource: any): any;
78
- /**
79
- * The composed group-1 bind group for the pending segment: the claimed
80
- * slots, with empty slots padded by slot 0 (every declared binding
81
- * needs a resource; the padding is never selected). Cached by the slot
82
- * resources' identity, so steady-state segments re-use one group.
83
- * @returns {GPUBindGroup} the segment's material bind group
84
- * @ignore
85
- */
86
- composeSegmentGroup(): GPUBindGroup;
87
- /**
88
- * start the next segment fresh (the pending one was just recorded)
89
- * @ignore
90
- */
91
- resetSegment(): void;
92
54
  /**
93
55
  * Drop every composed segment bind group — each embeds samplers
94
56
  * resolved from the default texture filter, so a filter change must
@@ -96,54 +58,10 @@ export default class WebGPUQuadBatcher extends WebGPUBatcher {
96
58
  * invalidateBindGroups).
97
59
  */
98
60
  clearMaterialCache(): void;
99
- /**
100
- * Transform and queue the four corners of a quad — shared by the base
101
- * and lit addQuad paths. Stamps per-sprite depth onto z BEFORE
102
- * `m.apply` so Camera3d's view matrix (3D R⁻¹ ∘ T(-pos)) fully rotates
103
- * the vertex; for 2D-only matrices the z column is identity, so the
104
- * output (x, y) is bit-identical and z passes through. textureId is the
105
- * quad's segment slot (constant across its four corners); the lit and
106
- * fast paths pass 0 (single-texture bind groups).
107
- * @ignore
108
- */
109
- pushQuadVertices(x: any, y: any, w: any, h: any, u0: any, v0: any, u1: any, v1: any, tint: any, textureId?: number): void;
110
- /**
111
- * Composite a render target through an effect's pipeline as one
112
- * screen-space quad — the WebGPU counterpart of the GL blitTexture.
113
- * The caller ({@link WebGPURenderer#blitEffect}) has already set the
114
- * screen-space projection; this records the draw with the effect's
115
- * shader family and group-3 binding (uniforms snapshot-uploaded per
116
- * bind). An effect without a WGSL realization composites as a plain
117
- * un-effected blit, so the scene content is never lost.
118
- * @param {import("../../rendertarget/webgpurendertarget.js").default} source - the render target to sample
119
- * @param {number} x - destination x
120
- * @param {number} y - destination y
121
- * @param {number} w - destination width
122
- * @param {number} h - destination height
123
- * @param {ShaderEffect} [effect] - the effect to composite with
124
- * @param {boolean} [keepBlend=false] - keep the current blend mode (else replace)
125
- * @ignore
126
- */
127
- blitTexture(source: import("../../rendertarget/webgpurendertarget.js").default, x: number, y: number, w: number, h: number, effect?: ShaderEffect, keepBlend?: boolean): void;
128
61
  /**
129
62
  * @override
130
63
  */
131
64
  override flush(topology: any): void;
132
- /**
133
- * whether the pending vertices have a material to draw with — the lit
134
- * subclass overrides (its material model is the combined color+normal
135
- * group, not the segment slots)
136
- * @ignore
137
- */
138
- hasPendingMaterial(): boolean;
139
- /**
140
- * record the pending vertices through an effect's pipeline — blending
141
- * KEPT (the sprite composites live against the backdrop, the defining
142
- * semantic of the fast path vs the pooled blit)
143
- * @param {object} binding - the prepared effect binding
144
- * @ignore
145
- */
146
- flushWithEffect(binding: object): void;
147
65
  }
148
66
  import WebGPUBatcher from "./webgpu_batcher.js";
149
67
  import { TextureSlotTable } from "../../gpu/textureslots.js";
@@ -1 +1 @@
1
- {"version":3,"file":"quad_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/batchers/quad_batcher.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;OAGG;IACH,wBAHW,OAAO,uBAAuB,EAAE,OAAO,uBAwGjD;IAjEA,qBAA2B;IAM3B,mBAAyB;IASzB,wCAcE;IAHC,eAAqB;IAIxB,4EAA4E;IAC5E;cADkB,cAAc;iBAAW,UAAU;oBAC7B;IAGxB,cAAc;IACd,iBAAuB;IACvB,cAAc;IACd,eAAqB;IACrB,cAAc;IACd,8BAAkB;IAElB,8CAAwB;IAIxB,wCAAwC;IACxC,sDAA+B;IAE/B,8CAAgC;IAChC,mCAAuB;IAQvB,0CAKE;IAKH;;;;;;;;;;;;;;;OAeG;IACH,iBAZW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QACN,MAAM,aACN,OAAO,QAyEjB;IAED;;;;;;;;;;OAUG;IACH,wBALW,MAAM,YACN,OAAO,GACL,MAAM,CAuDlB;IAED;;;OAGG;IACH,+BAOC;IAED;;;;;;;OAOG;IACH,uBAHa,YAAY,CA+BxB;IAED;;;OAGG;IACH,qBAQC;IAED;;;;;OAKG;IACH,2BAGC;IAED;;;;;;;;;OASG;IACH,0HAgBC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,oBATW,OAAO,0CAA0C,EAAE,OAAO,KAC1D,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,WACN,YAAY,cACZ,OAAO,QAyDjB;IAqBD;;OAEG;IACH,oCA6BC;IAED;;;;;OAKG;IACH,8BAEC;IAED;;;;;;OAMG;IACH,yBAHW,MAAM,QAuChB;CAwBD;0BA3kByB,qBAAqB;iCAHd,2BAA2B"}
1
+ {"version":3,"file":"quad_batcher.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/batchers/quad_batcher.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;OAGG;IACH,wBAHW,OAAO,uBAAuB,EAAE,OAAO,uBAqHjD;IA9EA,qBAA2B;IAM3B,mBAAyB;IASzB,wCAcE;IAHC,eAAqB;IAIxB,4EAA4E;IAC5E;cADkB,cAAc;iBAAW,UAAU;oBAC7B;IAOxB;;;OAGG;IACH,iBAAuB;IACvB;;;OAGG;IACH,eAAqB;IACrB;;;OAGG;IACH,8BAAkB;IAElB,8CAAwB;IAIxB,wCAAwC;IACxC,sDAA+B;IAE/B,8CAAgC;IAChC,mCAAuB;IAQvB,0CAKE;IAKH;;;;;;;;;;;;;;;OAeG;IACH,iBAZW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QACN,MAAM,aACN,OAAO,QAyEjB;IAED;;;;;;;;;;;OAWG;IACH,wBANW,MAAM,YACN,OAAO,GACL,MAAM,CAwDlB;IAED;;;;OAIG;IACH,+BAOC;IAED;;;;;;;;OAQG;IACH,uBAJa,YAAY,CAgCxB;IAED;;;;OAIG;IACH,qBAQC;IAED;;;;;OAKG;IACH,2BAGC;IAED;;;;;;;;;;OAUG;IACH,0HAgBC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,oBAVW,OAAO,0CAA0C,EAAE,OAAO,KAC1D,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,WACN,YAAY,cACZ,OAAO,QA0DjB;IAqBD;;OAEG;IACH,oCA6BC;IAED;;;;;;OAMG;IACH,8BAEC;IAED;;;;;;;OAOG;IACH,yBAJW,MAAM,QAwChB;CAwBD;0BAhmByB,qBAAqB;iCAHd,2BAA2B"}
@@ -1,64 +1,2 @@
1
- /**
2
- * Per-frame GPU buffer arena — a bump allocator over a persistent list of
3
- * fixed-size `GPUBuffer` pages.
4
- *
5
- * Why an arena: melonJS flushes many times per frame (texture change, blend
6
- * change, scissor change, …). Under WebGL each flush re-uploads the shared
7
- * vertex buffer; under WebGPU all draw commands of a frame are recorded
8
- * first and execute at `queue.submit()` time, so every flush must write its
9
- * vertices into a region **no later flush overwrites** — `queue.writeBuffer`
10
- * data lands before the submitted commands run, and two flushes sharing one
11
- * region would have the second write clobber the first before either draw
12
- * executes.
13
- *
14
- * Why a page *list* rather than one growable buffer: draw commands already
15
- * recorded against earlier pages must stay valid; replacing a buffer
16
- * mid-frame would invalidate them. Pages persist across frames; `reset()`
17
- * just rewinds the bump pointer.
18
- * @ignore
19
- */
20
- export default class WebGPUBufferArena {
21
- /**
22
- * @param {GPUDevice} device - the device to allocate pages on
23
- * @param {object} [options] - arena options
24
- * @param {number} [options.pageSize=1048576] - byte size of each page
25
- * @param {number} [options.usage] - GPUBufferUsage flags for the pages
26
- * @param {string} [options.label] - debug label prefix for the pages
27
- */
28
- constructor(device: GPUDevice, options?: {
29
- pageSize?: number | undefined;
30
- usage?: number | undefined;
31
- label?: string | undefined;
32
- });
33
- device: GPUDevice;
34
- pageSize: number;
35
- usage: number;
36
- label: string;
37
- /** @type {GPUBuffer[]} */
38
- pages: GPUBuffer[];
39
- pageIndex: number;
40
- offset: number;
41
- /**
42
- * rewind the arena — called once per frame, before any allocation
43
- */
44
- reset(): void;
45
- /**
46
- * Reserve `byteLength` bytes and return where they live. The region is
47
- * valid until the next `reset()`.
48
- * @param {number} byteLength - bytes to reserve (must fit in one page)
49
- * @param {number} [alignment=4] - required offset alignment (a power of
50
- * two; effect uniform snapshots pass the device's
51
- * `minUniformBufferOffsetAlignment` so the region can serve as a
52
- * dynamic bind-group offset)
53
- * @returns {{buffer: GPUBuffer, offset: number}} the reserved region
54
- */
55
- alloc(byteLength: number, alignment?: number): {
56
- buffer: GPUBuffer;
57
- offset: number;
58
- };
59
- /**
60
- * release every page (device loss / renderer destroy)
61
- */
62
- destroy(): void;
63
- }
1
+
64
2
  //# sourceMappingURL=arena.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arena.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/buffer/arena.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH;IACC;;;;;;OAMG;IACH,oBANW,SAAS,YAEjB;QAAyB,QAAQ;QACR,KAAK;QACL,KAAK;KAChC,EAWA;IATA,kBAAoB;IACpB,iBAA2C;IAC3C,cACiE;IACjE,cAA6C;IAC7C,0BAA0B;IAC1B,OADW,SAAS,EAAE,CACP;IACf,kBAAkB;IAClB,eAAe;IAGhB;;OAEG;IACH,cAGC;IAED;;;;;;;;;OASG;IACH,kBAPW,MAAM,cACN,MAAM,GAIJ;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CA8B/C;IAED;;OAEG;IACH,gBAOC;CACD"}
1
+ {"version":3,"file":"arena.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/buffer/arena.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IACC;;;;;;OAMG;IACH,oBANW,SAAS,YAEjB;QAAyB,QAAQ;QACR,KAAK;QACL,KAAK;KAChC,EAWA;IATA,kBAAoB;IACpB,iBAA2C;IAC3C,cACiE;IACjE,cAA6C;IAC7C,0BAA0B;IAC1B,OADW,SAAS,EAAE,CACP;IACf,kBAAkB;IAClB,eAAe;IAGhB;;OAEG;IACH,cAGC;IAED;;;;;;;;;OASG;IACH,kBAPW,MAAM,cACN,MAAM,GAIJ;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CA8B/C;IAED;;OAEG;IACH,gBAOC;CACD"}
@@ -1,65 +1,2 @@
1
- /**
2
- * The WebGPU twin of the GL `WebGLInstanceBuffer`: one `InstancedMesh`'s
3
- * per-instance records resident on the GPU, bound as a second vertex buffer
4
- * whose layout steps once per instance.
5
- *
6
- * The same two queue-ordering laws that shape `WebGPURetainedGeometry`
7
- * apply, and matter more here because instance records change far more often
8
- * than geometry does:
9
- *
10
- * 1. `queue.writeBuffer` executes before **every** draw recorded this frame.
11
- * So editing an instance on a mesh that has already drawn this frame — a
12
- * second camera, a mid-frame animation step — must land in a FRESH
13
- * buffer, or the earlier draw would retroactively show the new placement.
14
- * 2. Destroying a buffer referenced by recorded draws fails the whole
15
- * submit, so a replaced buffer retires through `renderer.retireBuffer`
16
- * and dies after the frame's submit.
17
- *
18
- * Within a frame that has not yet drawn, an edit is a partial
19
- * `writeBuffer` covering only the dirty span — moving one tree in a forest
20
- * of five thousand writes 48 bytes.
21
- * @ignore
22
- */
23
- export default class WebGPUInstanceBuffer {
24
- /**
25
- * @param {import("../webgpu_renderer.js").default} renderer - the owning renderer
26
- */
27
- constructor(renderer: import("../webgpu_renderer.js").default);
28
- renderer: import("../webgpu_renderer.js").default;
29
- /** @type {GPUBuffer|null} */
30
- buffer: GPUBuffer | null;
31
- /** allocated capacity in bytes @type {number} */
32
- capacity: number;
33
- /** the frame a draw was last recorded against this buffer @type {number} */
34
- lastDrawnFrameId: number;
35
- /**
36
- * Push the dirty span of `data` to the GPU, reallocating when the record
37
- * set outgrew the allocation or when this buffer has already been drawn
38
- * from this frame.
39
- * @param {Float32Array} data - the CPU-side instance records
40
- * @param {number} firstFloat - first dirty float offset (inclusive)
41
- * @param {number} floatCount - number of dirty floats, 0 when clean
42
- * @param {number} usedBytes - bytes of `data` actually in use
43
- */
44
- upload(data: Float32Array, firstFloat: number, floatCount: number, usedBytes: number): void;
45
- /**
46
- * One `queue.writeBuffer`, in BYTES throughout.
47
- *
48
- * `writeBuffer`'s `dataOffset` and `size` are counted in *elements* when
49
- * `data` is a TypedArray and in *bytes* otherwise — an ambiguity that
50
- * silently changes meaning if the staging array's type ever changes. The
51
- * engine's other GPU uploads all pass a `Uint8Array` view with byte
52
- * counts, so this does too: one convention, no element/byte confusion.
53
- * @param {number} bufferOffset - destination byte offset
54
- * @param {number} byteOffset - source byte offset into `data`
55
- * @param {number} byteLength - bytes to copy
56
- * @param {Float32Array} data - the CPU-side instance records
57
- * @ignore
58
- */
59
- write(bufferOffset: number, byteOffset: number, byteLength: number, data: Float32Array): void;
60
- /**
61
- * Release the GPU buffer (retired when a frame is recording).
62
- */
63
- destroy(): void;
64
- }
1
+
65
2
  //# sourceMappingURL=instance_buffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instance_buffer.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/buffer/instance_buffer.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;IACC;;OAEG;IACH,sBAFW,OAAO,uBAAuB,EAAE,OAAO,EAUjD;IAPA,kDAAwB;IACxB,6BAA6B;IAC7B,QADW,SAAS,GAAC,IAAI,CACP;IAClB,iDAAiD;IACjD,UADuC,MAAM,CAC5B;IACjB,4EAA4E;IAC5E,kBADkE,MAAM,CAC9C;IAG3B;;;;;;;;OAQG;IACH,aALW,YAAY,cACZ,MAAM,cACN,MAAM,aACN,MAAM,QA0ChB;IAED;;;;;;;;;;;;;OAaG;IACH,oBANW,MAAM,cACN,MAAM,cACN,MAAM,QACN,YAAY,QAWtB;IAED;;OAEG;IACH,gBAOC;CACD"}
1
+ {"version":3,"file":"instance_buffer.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/buffer/instance_buffer.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;IACC;;OAEG;IACH,sBAFW,OAAO,uBAAuB,EAAE,OAAO,EAUjD;IAPA,kDAAwB;IACxB,6BAA6B;IAC7B,QADW,SAAS,GAAC,IAAI,CACP;IAClB,iDAAiD;IACjD,UADuC,MAAM,CAC5B;IACjB,4EAA4E;IAC5E,kBADkE,MAAM,CAC9C;IAG3B;;;;;;;;OAQG;IACH,aALW,YAAY,cACZ,MAAM,cACN,MAAM,aACN,MAAM,QA0ChB;IAED;;;;;;;;;;;;;;OAcG;IACH,oBAPW,MAAM,cACN,MAAM,cACN,MAAM,QACN,YAAY,QAYtB;IAED;;OAEG;IACH,gBAOC;CACD"}
@@ -1,55 +1,2 @@
1
- /**
2
- * The WebGPU twin of the GL `RetainedGeometry`: one mesh's model-space
3
- * geometry resident on the GPU — a vertex buffer and an index buffer,
4
- * uploaded on geometry-version change and bound per draw (`setVertexBuffer`
5
- * / `setIndexBuffer`; there is no VAO to capture, binding is explicit and
6
- * cheap under this backend).
7
- *
8
- * The two queue-ordering laws shape the upload rules:
9
- * 1. `queue.writeBuffer` executes before EVERY draw recorded this frame —
10
- * so a version bump on a mesh that has already drawn this frame
11
- * (Sprite3d animation UVs, a second camera) must land in FRESH buffers,
12
- * or the earlier draw would retroactively show the new geometry.
13
- * 2. destroying a buffer referenced by recorded draws fails the whole
14
- * submit — replaced buffers retire through `renderer.retireBuffer` and
15
- * die after the frame's submit.
16
- * @ignore
17
- */
18
- export default class WebGPURetainedGeometry {
19
- /**
20
- * @param {import("../webgpu_renderer.js").default} renderer - the owning renderer
21
- */
22
- constructor(renderer: import("../webgpu_renderer.js").default);
23
- renderer: import("../webgpu_renderer.js").default;
24
- /** @type {GPUBuffer|null} */
25
- vertexBuffer: GPUBuffer | null;
26
- /** @type {GPUBuffer|null} */
27
- indexBuffer: GPUBuffer | null;
28
- /** @type {"uint16"|"uint32"} */
29
- indexFormat: "uint16" | "uint32";
30
- indexCount: number;
31
- uploadedVersion: number;
32
- lastDrawnFrameId: number;
33
- vertexCapacity: number;
34
- indexCapacity: number;
35
- /**
36
- * Upload (or re-upload) the interleaved vertex data and indices.
37
- * @param {Float32Array} vertexData - interleaved data scratch
38
- * @param {number} floatCount - number of floats to upload
39
- * @param {Uint16Array|Uint32Array} indices - the mesh's authored indices
40
- * @param {number} version - the mesh's geometry version being uploaded
41
- */
42
- upload(vertexData: Float32Array, floatCount: number, indices: Uint16Array | Uint32Array, version: number): void;
43
- /**
44
- * retire both buffers (frame-safe) without resetting the version — the
45
- * shared tail of re-allocation and destruction
46
- * @ignore
47
- */
48
- releaseBuffers(): void;
49
- /**
50
- * Release the GPU buffers. Idempotent — a destroyed geometry object
51
- * simply re-uploads if ever used again.
52
- */
53
- destroy(): void;
54
- }
1
+
55
2
  //# sourceMappingURL=retained_geometry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retained_geometry.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/buffer/retained_geometry.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;OAEG;IACH,sBAFW,OAAO,uBAAuB,EAAE,OAAO,EAmBjD;IAhBA,kDAAwB;IACxB,6BAA6B;IAC7B,cADW,SAAS,GAAC,IAAI,CACD;IACxB,6BAA6B;IAC7B,aADW,SAAS,GAAC,IAAI,CACF;IACvB,gCAAgC;IAChC,aADW,QAAQ,GAAC,QAAQ,CACD;IAC3B,mBAAmB;IAEnB,wBAAyB;IAGzB,yBAA0B;IAE1B,uBAAuB;IACvB,sBAAsB;IAGvB;;;;;;OAMG;IACH,mBALW,YAAY,cACZ,MAAM,WACN,WAAW,GAAC,WAAW,WACvB,MAAM,QA+DhB;IAED;;;;OAIG;IACH,uBAWC;IAED;;;OAGG;IACH,gBAKC;CACD"}
1
+ {"version":3,"file":"retained_geometry.d.ts","sourceRoot":"","sources":["../../../../src/video/webgpu/buffer/retained_geometry.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AACH;IACC;;OAEG;IACH,sBAFW,OAAO,uBAAuB,EAAE,OAAO,EAmBjD;IAhBA,kDAAwB;IACxB,6BAA6B;IAC7B,cADW,SAAS,GAAC,IAAI,CACD;IACxB,6BAA6B;IAC7B,aADW,SAAS,GAAC,IAAI,CACF;IACvB,gCAAgC;IAChC,aADW,QAAQ,GAAC,QAAQ,CACD;IAC3B,mBAAmB;IAEnB,wBAAyB;IAGzB,yBAA0B;IAE1B,uBAAuB;IACvB,sBAAsB;IAGvB;;;;;;OAMG;IACH,mBALW,YAAY,cACZ,MAAM,WACN,WAAW,GAAC,WAAW,WACvB,MAAM,QA+DhB;IAED;;;;;OAKG;IACH,uBAWC;IAED;;;OAGG;IACH,gBAKC;CACD"}