melonjs 17.4.0 → 18.0.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 (702) hide show
  1. package/{dist/types → build}/application/application.d.ts +9 -10
  2. package/build/application/application.d.ts.map +1 -0
  3. package/build/application/defaultApplicationSettings.d.ts +18 -0
  4. package/build/application/defaultApplicationSettings.d.ts.map +1 -0
  5. package/{dist/types → build}/application/header.d.ts +1 -0
  6. package/build/application/header.d.ts.map +1 -0
  7. package/{dist/types → build}/application/resize.d.ts +1 -0
  8. package/build/application/resize.d.ts.map +1 -0
  9. package/build/application/scaleMethods.d.ts +44 -0
  10. package/build/application/scaleMethods.d.ts.map +1 -0
  11. package/build/application/settings.d.ts +85 -0
  12. package/build/application/settings.d.ts.map +1 -0
  13. package/{dist/types → build}/audio/audio.d.ts +35 -58
  14. package/build/audio/audio.d.ts.map +1 -0
  15. package/{dist/types → build}/camera/camera2d.d.ts +38 -76
  16. package/build/camera/camera2d.d.ts.map +1 -0
  17. package/build/const.d.ts +14 -0
  18. package/build/const.d.ts.map +1 -0
  19. package/build/geometries/earcut.d.ts +3 -0
  20. package/build/geometries/earcut.d.ts.map +1 -0
  21. package/build/geometries/ellipse.d.ts +117 -0
  22. package/build/geometries/ellipse.d.ts.map +1 -0
  23. package/build/geometries/line.d.ts +39 -0
  24. package/build/geometries/line.d.ts.map +1 -0
  25. package/build/geometries/observablePoint.d.ts +75 -0
  26. package/build/geometries/observablePoint.d.ts.map +1 -0
  27. package/{dist/types → build}/geometries/path2d.d.ts +8 -7
  28. package/build/geometries/path2d.d.ts.map +1 -0
  29. package/build/geometries/point.d.ts +44 -0
  30. package/build/geometries/point.d.ts.map +1 -0
  31. package/build/geometries/polygon.d.ts +182 -0
  32. package/build/geometries/polygon.d.ts.map +1 -0
  33. package/build/geometries/rectangle.d.ts +135 -0
  34. package/build/geometries/rectangle.d.ts.map +1 -0
  35. package/build/geometries/roundrect.d.ts +67 -0
  36. package/build/geometries/roundrect.d.ts.map +1 -0
  37. package/build/geometries/toarccanvas.d.ts +28 -0
  38. package/build/geometries/toarccanvas.d.ts.map +1 -0
  39. package/{dist/types → build}/index.d.ts +41 -45
  40. package/build/index.d.ts.map +1 -0
  41. package/build/index.js +28318 -0
  42. package/build/index.js.map +7 -0
  43. package/{dist/types → build}/input/gamepad.d.ts +3 -11
  44. package/build/input/gamepad.d.ts.map +1 -0
  45. package/{dist/types → build}/input/input.d.ts +4 -2
  46. package/build/input/input.d.ts.map +1 -0
  47. package/build/input/key.d.ts +105 -0
  48. package/build/input/key.d.ts.map +1 -0
  49. package/build/input/keyboard.d.ts +72 -0
  50. package/build/input/keyboard.d.ts.map +1 -0
  51. package/build/input/pointer.d.ts +180 -0
  52. package/build/input/pointer.d.ts.map +1 -0
  53. package/{dist/types → build}/input/pointerevent.d.ts +17 -16
  54. package/build/input/pointerevent.d.ts.map +1 -0
  55. package/{dist/types → build}/lang/console.d.ts +1 -0
  56. package/build/lang/console.d.ts.map +1 -0
  57. package/build/lang/deprecated.d.ts +24 -0
  58. package/build/lang/deprecated.d.ts.map +1 -0
  59. package/{dist/types → build}/level/level.d.ts +7 -7
  60. package/build/level/level.d.ts.map +1 -0
  61. package/{dist/types → build}/level/tiled/TMXGroup.d.ts +2 -2
  62. package/build/level/tiled/TMXGroup.d.ts.map +1 -0
  63. package/{dist/types → build}/level/tiled/TMXLayer.d.ts +4 -4
  64. package/build/level/tiled/TMXLayer.d.ts.map +1 -0
  65. package/{dist/types → build}/level/tiled/TMXObject.d.ts +3 -3
  66. package/build/level/tiled/TMXObject.d.ts.map +1 -0
  67. package/{dist/types → build}/level/tiled/TMXTile.d.ts +4 -5
  68. package/build/level/tiled/TMXTile.d.ts.map +1 -0
  69. package/{dist/types → build}/level/tiled/TMXTileMap.d.ts +4 -4
  70. package/build/level/tiled/TMXTileMap.d.ts.map +1 -0
  71. package/{dist/types → build}/level/tiled/TMXTileset.d.ts +2 -2
  72. package/build/level/tiled/TMXTileset.d.ts.map +1 -0
  73. package/{dist/types → build}/level/tiled/TMXTilesetGroup.d.ts +1 -1
  74. package/build/level/tiled/TMXTilesetGroup.d.ts.map +1 -0
  75. package/{dist/types → build}/level/tiled/TMXUtils.d.ts +2 -1
  76. package/build/level/tiled/TMXUtils.d.ts.map +1 -0
  77. package/{dist/types → build}/level/tiled/constants.d.ts +1 -0
  78. package/build/level/tiled/constants.d.ts.map +1 -0
  79. package/{dist/types → build}/level/tiled/renderer/TMXHexagonalRenderer.d.ts +3 -4
  80. package/build/level/tiled/renderer/TMXHexagonalRenderer.d.ts.map +1 -0
  81. package/{dist/types → build}/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -3
  82. package/build/level/tiled/renderer/TMXIsometricRenderer.d.ts.map +1 -0
  83. package/{dist/types → build}/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +1 -2
  84. package/build/level/tiled/renderer/TMXOrthogonalRenderer.d.ts.map +1 -0
  85. package/{dist/types → build}/level/tiled/renderer/TMXRenderer.d.ts +7 -7
  86. package/build/level/tiled/renderer/TMXRenderer.d.ts.map +1 -0
  87. package/{dist/types → build}/level/tiled/renderer/TMXStaggeredRenderer.d.ts +1 -2
  88. package/build/level/tiled/renderer/TMXStaggeredRenderer.d.ts.map +1 -0
  89. package/{dist/types → build}/level/tiled/renderer/autodetect.d.ts +4 -3
  90. package/build/level/tiled/renderer/autodetect.d.ts.map +1 -0
  91. package/build/loader/cache.d.ts +10 -0
  92. package/build/loader/cache.d.ts.map +1 -0
  93. package/{dist/types → build}/loader/loader.d.ts +19 -13
  94. package/build/loader/loader.d.ts.map +1 -0
  95. package/{dist/types → build}/loader/loadingscreen.d.ts +1 -0
  96. package/build/loader/loadingscreen.d.ts.map +1 -0
  97. package/{dist/types → build}/loader/parsers/binary.d.ts +2 -1
  98. package/build/loader/parsers/binary.d.ts.map +1 -0
  99. package/{dist/types → build}/loader/parsers/compressed_textures/compressed_image.d.ts +1 -0
  100. package/build/loader/parsers/compressed_textures/compressed_image.d.ts.map +1 -0
  101. package/build/loader/parsers/compressed_textures/parseDDS.d.ts +2 -0
  102. package/build/loader/parsers/compressed_textures/parseDDS.d.ts.map +1 -0
  103. package/build/loader/parsers/compressed_textures/parseKTX.d.ts +2 -0
  104. package/build/loader/parsers/compressed_textures/parseKTX.d.ts.map +1 -0
  105. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts +2 -0
  106. package/build/loader/parsers/compressed_textures/parseKTX2.d.ts.map +1 -0
  107. package/build/loader/parsers/compressed_textures/parsePKM.d.ts +2 -0
  108. package/build/loader/parsers/compressed_textures/parsePKM.d.ts.map +1 -0
  109. package/build/loader/parsers/compressed_textures/parsePVR.d.ts +2 -0
  110. package/build/loader/parsers/compressed_textures/parsePVR.d.ts.map +1 -0
  111. package/{dist/types → build}/loader/parsers/fetchdata.d.ts +2 -1
  112. package/build/loader/parsers/fetchdata.d.ts.map +1 -0
  113. package/{dist/types → build}/loader/parsers/fontface.d.ts +2 -1
  114. package/build/loader/parsers/fontface.d.ts.map +1 -0
  115. package/{dist/types → build}/loader/parsers/image.d.ts +2 -1
  116. package/build/loader/parsers/image.d.ts.map +1 -0
  117. package/{dist/types → build}/loader/parsers/json.d.ts +2 -1
  118. package/build/loader/parsers/json.d.ts.map +1 -0
  119. package/{dist/types → build}/loader/parsers/script.d.ts +2 -1
  120. package/build/loader/parsers/script.d.ts.map +1 -0
  121. package/{dist/types → build}/loader/parsers/tmx.d.ts +2 -1
  122. package/build/loader/parsers/tmx.d.ts.map +1 -0
  123. package/{dist/types → build}/loader/parsers/video.d.ts +2 -1
  124. package/build/loader/parsers/video.d.ts.map +1 -0
  125. package/build/math/color.d.ts +192 -0
  126. package/build/math/color.d.ts.map +1 -0
  127. package/build/math/math.d.ts +128 -0
  128. package/build/math/math.d.ts.map +1 -0
  129. package/build/math/matrix2d.d.ts +163 -0
  130. package/build/math/matrix2d.d.ts.map +1 -0
  131. package/build/math/matrix3d.d.ts +188 -0
  132. package/build/math/matrix3d.d.ts.map +1 -0
  133. package/build/math/observableVector2d.d.ts +286 -0
  134. package/build/math/observableVector2d.d.ts.map +1 -0
  135. package/build/math/observableVector2d_old.d.ts +76 -0
  136. package/build/math/observableVector2d_old.d.ts.map +1 -0
  137. package/build/math/observableVector3d.d.ts +283 -0
  138. package/build/math/observableVector3d.d.ts.map +1 -0
  139. package/build/math/observableVector3d_old.d.ts +81 -0
  140. package/build/math/observableVector3d_old.d.ts.map +1 -0
  141. package/build/math/vector2d.d.ts +253 -0
  142. package/build/math/vector2d.d.ts.map +1 -0
  143. package/build/math/vector3d.d.ts +242 -0
  144. package/build/math/vector3d.d.ts.map +1 -0
  145. package/{dist/types → build}/particles/emitter.d.ts +7 -10
  146. package/build/particles/emitter.d.ts.map +1 -0
  147. package/build/particles/particle.d.ts +47 -0
  148. package/build/particles/particle.d.ts.map +1 -0
  149. package/{dist/types → build}/particles/settings.d.ts +1 -0
  150. package/build/particles/settings.d.ts.map +1 -0
  151. package/{dist/types → build}/physics/body.d.ts +27 -27
  152. package/build/physics/body.d.ts.map +1 -0
  153. package/build/physics/bounds.d.ts +192 -0
  154. package/build/physics/bounds.d.ts.map +1 -0
  155. package/{dist/types → build}/physics/collision.d.ts +5 -5
  156. package/build/physics/collision.d.ts.map +1 -0
  157. package/{dist/types → build}/physics/detector.d.ts +8 -6
  158. package/build/physics/detector.d.ts.map +1 -0
  159. package/{dist/types → build}/physics/quadtree.d.ts +5 -19
  160. package/build/physics/quadtree.d.ts.map +1 -0
  161. package/{dist/types → build}/physics/response.d.ts +46 -5
  162. package/build/physics/response.d.ts.map +1 -0
  163. package/{dist/types → build}/physics/sat.d.ts +3 -2
  164. package/build/physics/sat.d.ts.map +1 -0
  165. package/{dist/types → build}/physics/world.d.ts +5 -4
  166. package/build/physics/world.d.ts.map +1 -0
  167. package/{dist/types → build}/plugin/plugin.d.ts +8 -19
  168. package/build/plugin/plugin.d.ts.map +1 -0
  169. package/build/polyfill/console.d.ts +2 -0
  170. package/build/polyfill/console.d.ts.map +1 -0
  171. package/build/polyfill/index.d.ts +6 -0
  172. package/build/polyfill/index.d.ts.map +1 -0
  173. package/build/polyfill/roundrect.d.ts +2 -0
  174. package/build/polyfill/roundrect.d.ts.map +1 -0
  175. package/build/pool.d.ts +39 -0
  176. package/build/pool.d.ts.map +1 -0
  177. package/{dist/types → build}/renderable/collectable.d.ts +2 -2
  178. package/build/renderable/collectable.d.ts.map +1 -0
  179. package/{dist/types → build}/renderable/colorlayer.d.ts +6 -10
  180. package/build/renderable/colorlayer.d.ts.map +1 -0
  181. package/{dist/types → build}/renderable/container.d.ts +14 -15
  182. package/build/renderable/container.d.ts.map +1 -0
  183. package/{dist/types → build}/renderable/draggable.d.ts +5 -13
  184. package/build/renderable/draggable.d.ts.map +1 -0
  185. package/{dist/types → build}/renderable/dragndrop.d.ts +7 -21
  186. package/build/renderable/dragndrop.d.ts.map +1 -0
  187. package/{dist/types → build}/renderable/entity/entity.d.ts +12 -13
  188. package/build/renderable/entity/entity.d.ts.map +1 -0
  189. package/{dist/types → build}/renderable/imagelayer.d.ts +17 -9
  190. package/build/renderable/imagelayer.d.ts.map +1 -0
  191. package/build/renderable/light2d.d.ts +73 -0
  192. package/build/renderable/light2d.d.ts.map +1 -0
  193. package/{dist/types → build}/renderable/nineslicesprite.d.ts +3 -4
  194. package/build/renderable/nineslicesprite.d.ts.map +1 -0
  195. package/{dist/types → build}/renderable/renderable.d.ts +57 -60
  196. package/build/renderable/renderable.d.ts.map +1 -0
  197. package/{dist/types → build}/renderable/sprite.d.ts +28 -14
  198. package/build/renderable/sprite.d.ts.map +1 -0
  199. package/{dist/types → build}/renderable/text/bitmaptext.d.ts +6 -7
  200. package/build/renderable/text/bitmaptext.d.ts.map +1 -0
  201. package/build/renderable/text/bitmaptextdata.d.ts +17 -0
  202. package/build/renderable/text/bitmaptextdata.d.ts.map +1 -0
  203. package/{dist/types → build}/renderable/text/glyph.d.ts +15 -3
  204. package/build/renderable/text/glyph.d.ts.map +1 -0
  205. package/{dist/types → build}/renderable/text/text.d.ts +7 -16
  206. package/build/renderable/text/text.d.ts.map +1 -0
  207. package/{dist/types → build}/renderable/text/textmetrics.d.ts +8 -9
  208. package/build/renderable/text/textmetrics.d.ts.map +1 -0
  209. package/{dist/types → build}/renderable/text/textstyle.d.ts +1 -0
  210. package/build/renderable/text/textstyle.d.ts.map +1 -0
  211. package/{dist/types → build}/renderable/trigger.d.ts +18 -7
  212. package/build/renderable/trigger.d.ts.map +1 -0
  213. package/{dist/types → build}/renderable/ui/uibaseelement.d.ts +7 -7
  214. package/build/renderable/ui/uibaseelement.d.ts.map +1 -0
  215. package/{dist/types → build}/renderable/ui/uispriteelement.d.ts +4 -6
  216. package/build/renderable/ui/uispriteelement.d.ts.map +1 -0
  217. package/{dist/types → build}/renderable/ui/uitextbutton.d.ts +17 -4
  218. package/build/renderable/ui/uitextbutton.d.ts.map +1 -0
  219. package/{dist/types → build}/state/stage.d.ts +3 -3
  220. package/build/state/stage.d.ts.map +1 -0
  221. package/{dist/types → build}/state/state.d.ts +10 -9
  222. package/build/state/state.d.ts.map +1 -0
  223. package/{dist/types → build}/system/device.d.ts +49 -80
  224. package/build/system/device.d.ts.map +1 -0
  225. package/build/system/dom.d.ts +2 -0
  226. package/build/system/dom.d.ts.map +1 -0
  227. package/{dist/types → build}/system/event.d.ts +124 -291
  228. package/build/system/event.d.ts.map +1 -0
  229. package/build/system/eventEmitter.d.ts +19 -0
  230. package/build/system/eventEmitter.d.ts.map +1 -0
  231. package/build/system/eventEmitter.spec.d.ts +2 -0
  232. package/build/system/eventEmitter.spec.d.ts.map +1 -0
  233. package/{dist/types/system/pooling.d.ts → build/system/legacy_pool.d.ts} +22 -7
  234. package/build/system/legacy_pool.d.ts.map +1 -0
  235. package/build/system/platform.d.ts +34 -0
  236. package/build/system/platform.d.ts.map +1 -0
  237. package/build/system/pool.d.ts +26 -0
  238. package/build/system/pool.d.ts.map +1 -0
  239. package/build/system/save.d.ts +3 -0
  240. package/build/system/save.d.ts.map +1 -0
  241. package/build/system/timer.d.ts +118 -0
  242. package/build/system/timer.d.ts.map +1 -0
  243. package/build/tweens/easing.d.ts +93 -0
  244. package/build/tweens/easing.d.ts.map +1 -0
  245. package/build/tweens/interpolation.d.ts +7 -0
  246. package/build/tweens/interpolation.d.ts.map +1 -0
  247. package/build/tweens/tween.d.ts +234 -0
  248. package/build/tweens/tween.d.ts.map +1 -0
  249. package/build/utils/agent.d.ts +16 -0
  250. package/build/utils/agent.d.ts.map +1 -0
  251. package/build/utils/array-multimap.d.ts +14 -0
  252. package/build/utils/array-multimap.d.ts.map +1 -0
  253. package/build/utils/array.d.ts +30 -0
  254. package/build/utils/array.d.ts.map +1 -0
  255. package/build/utils/file.d.ts +16 -0
  256. package/build/utils/file.d.ts.map +1 -0
  257. package/build/utils/function.d.ts +24 -0
  258. package/build/utils/function.d.ts.map +1 -0
  259. package/build/utils/semver.d.ts +2 -0
  260. package/build/utils/semver.d.ts.map +1 -0
  261. package/build/utils/string.d.ts +35 -0
  262. package/build/utils/string.d.ts.map +1 -0
  263. package/build/utils/types.d.ts +5 -0
  264. package/build/utils/types.d.ts.map +1 -0
  265. package/build/utils/utils.d.ts +49 -0
  266. package/build/utils/utils.d.ts.map +1 -0
  267. package/build/version.d.ts +5 -0
  268. package/build/version.d.ts.map +1 -0
  269. package/{dist/types → build}/video/canvas/canvas_renderer.d.ts +40 -32
  270. package/build/video/canvas/canvas_renderer.d.ts.map +1 -0
  271. package/{dist/types → build}/video/renderer.d.ts +36 -29
  272. package/build/video/renderer.d.ts.map +1 -0
  273. package/{dist/types → build}/video/rendertarget/canvasrendertarget.d.ts +8 -26
  274. package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -0
  275. package/{dist/types → build}/video/texture/atlas.d.ts +8 -8
  276. package/build/video/texture/atlas.d.ts.map +1 -0
  277. package/{dist/types → build}/video/texture/cache.d.ts +4 -3
  278. package/build/video/texture/cache.d.ts.map +1 -0
  279. package/{dist/types → build}/video/texture/parser/aseprite.d.ts +1 -0
  280. package/build/video/texture/parser/aseprite.d.ts.map +1 -0
  281. package/{dist/types → build}/video/texture/parser/spritesheet.d.ts +1 -0
  282. package/build/video/texture/parser/spritesheet.d.ts.map +1 -0
  283. package/{dist/types → build}/video/texture/parser/texturepacker.d.ts +1 -0
  284. package/build/video/texture/parser/texturepacker.d.ts.map +1 -0
  285. package/build/video/utils/autodetect.d.ts +8 -0
  286. package/build/video/utils/autodetect.d.ts.map +1 -0
  287. package/{dist/types → build}/video/video.d.ts +4 -3
  288. package/build/video/video.d.ts.map +1 -0
  289. package/{dist/types → build}/video/webgl/buffer/vertex.d.ts +5 -6
  290. package/build/video/webgl/buffer/vertex.d.ts.map +1 -0
  291. package/{dist/types → build}/video/webgl/compositors/compositor.d.ts +4 -4
  292. package/build/video/webgl/compositors/compositor.d.ts.map +1 -0
  293. package/{dist/types → build}/video/webgl/compositors/primitive_compositor.d.ts +4 -5
  294. package/build/video/webgl/compositors/primitive_compositor.d.ts.map +1 -0
  295. package/{dist/types → build}/video/webgl/compositors/quad_compositor.d.ts +4 -5
  296. package/build/video/webgl/compositors/quad_compositor.d.ts.map +1 -0
  297. package/{dist/types → build}/video/webgl/glshader.d.ts +2 -2
  298. package/build/video/webgl/glshader.d.ts.map +1 -0
  299. package/{dist/types → build}/video/webgl/utils/attributes.d.ts +1 -0
  300. package/build/video/webgl/utils/attributes.d.ts.map +1 -0
  301. package/{dist/types → build}/video/webgl/utils/precision.d.ts +1 -0
  302. package/build/video/webgl/utils/precision.d.ts.map +1 -0
  303. package/{dist/types → build}/video/webgl/utils/program.d.ts +1 -0
  304. package/build/video/webgl/utils/program.d.ts.map +1 -0
  305. package/{dist/types → build}/video/webgl/utils/string.d.ts +1 -0
  306. package/build/video/webgl/utils/string.d.ts.map +1 -0
  307. package/{dist/types → build}/video/webgl/utils/uniforms.d.ts +1 -0
  308. package/build/video/webgl/utils/uniforms.d.ts.map +1 -0
  309. package/{dist/types → build}/video/webgl/webgl_renderer.d.ts +37 -29
  310. package/build/video/webgl/webgl_renderer.d.ts.map +1 -0
  311. package/package.json +83 -104
  312. package/LICENSE.md +0 -21
  313. package/README.md +0 -223
  314. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +0 -14
  315. package/dist/melonjs.mjs/_virtual/earcut.js +0 -10
  316. package/dist/melonjs.mjs/_virtual/howler.js +0 -10
  317. package/dist/melonjs.mjs/_virtual/index.js +0 -10
  318. package/dist/melonjs.mjs/_virtual/re.js +0 -10
  319. package/dist/melonjs.mjs/application/application.js +0 -443
  320. package/dist/melonjs.mjs/application/header.js +0 -40
  321. package/dist/melonjs.mjs/application/resize.js +0 -128
  322. package/dist/melonjs.mjs/application/settings.js +0 -70
  323. package/dist/melonjs.mjs/audio/audio.js +0 -623
  324. package/dist/melonjs.mjs/camera/camera2d.js +0 -737
  325. package/dist/melonjs.mjs/const.js +0 -32
  326. package/dist/melonjs.mjs/geometries/ellipse.js +0 -253
  327. package/dist/melonjs.mjs/geometries/line.js +0 -113
  328. package/dist/melonjs.mjs/geometries/path2d.js +0 -479
  329. package/dist/melonjs.mjs/geometries/point.js +0 -85
  330. package/dist/melonjs.mjs/geometries/poly.js +0 -441
  331. package/dist/melonjs.mjs/geometries/rectangle.js +0 -335
  332. package/dist/melonjs.mjs/geometries/roundrect.js +0 -165
  333. package/dist/melonjs.mjs/geometries/toarccanvas.js +0 -103
  334. package/dist/melonjs.mjs/index.js +0 -239
  335. package/dist/melonjs.mjs/input/gamepad.js +0 -495
  336. package/dist/melonjs.mjs/input/input.js +0 -26
  337. package/dist/melonjs.mjs/input/keyboard.js +0 -470
  338. package/dist/melonjs.mjs/input/pointer.js +0 -393
  339. package/dist/melonjs.mjs/input/pointerevent.js +0 -807
  340. package/dist/melonjs.mjs/lang/console.js +0 -44
  341. package/dist/melonjs.mjs/lang/deprecated.js +0 -200
  342. package/dist/melonjs.mjs/level/level.js +0 -298
  343. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +0 -120
  344. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +0 -432
  345. package/dist/melonjs.mjs/level/tiled/TMXObject.js +0 -295
  346. package/dist/melonjs.mjs/level/tiled/TMXTile.js +0 -177
  347. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +0 -574
  348. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +0 -292
  349. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +0 -74
  350. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +0 -417
  351. package/dist/melonjs.mjs/level/tiled/constants.js +0 -17
  352. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +0 -503
  353. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +0 -215
  354. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -155
  355. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +0 -113
  356. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +0 -107
  357. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +0 -38
  358. package/dist/melonjs.mjs/loader/cache.js +0 -30
  359. package/dist/melonjs.mjs/loader/loader.js +0 -729
  360. package/dist/melonjs.mjs/loader/loadingscreen.js +0 -118
  361. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +0 -10
  362. package/dist/melonjs.mjs/loader/parsers/binary.js +0 -42
  363. package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +0 -58
  364. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +0 -13
  365. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +0 -13
  366. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +0 -13
  367. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +0 -13
  368. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +0 -136
  369. package/dist/melonjs.mjs/loader/parsers/fetchdata.js +0 -62
  370. package/dist/melonjs.mjs/loader/parsers/fontface.js +0 -62
  371. package/dist/melonjs.mjs/loader/parsers/image.js +0 -129
  372. package/dist/melonjs.mjs/loader/parsers/json.js +0 -43
  373. package/dist/melonjs.mjs/loader/parsers/script.js +0 -46
  374. package/dist/melonjs.mjs/loader/parsers/tmx.js +0 -103
  375. package/dist/melonjs.mjs/loader/parsers/video.js +0 -99
  376. package/dist/melonjs.mjs/math/color.js +0 -635
  377. package/dist/melonjs.mjs/math/math.js +0 -221
  378. package/dist/melonjs.mjs/math/matrix2.js +0 -495
  379. package/dist/melonjs.mjs/math/matrix3.js +0 -628
  380. package/dist/melonjs.mjs/math/observable_vector2.js +0 -468
  381. package/dist/melonjs.mjs/math/observable_vector3.js +0 -564
  382. package/dist/melonjs.mjs/math/vector2.js +0 -431
  383. package/dist/melonjs.mjs/math/vector3.js +0 -473
  384. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +0 -45
  385. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +0 -130
  386. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +0 -694
  387. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +0 -352
  388. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +0 -12
  389. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +0 -3246
  390. package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +0 -165
  391. package/dist/melonjs.mjs/node_modules/semver/classes/range.js +0 -565
  392. package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +0 -317
  393. package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +0 -17
  394. package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +0 -68
  395. package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +0 -73
  396. package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +0 -18
  397. package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +0 -14
  398. package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +0 -16
  399. package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +0 -76
  400. package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +0 -14
  401. package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +0 -14
  402. package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +0 -14
  403. package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +0 -30
  404. package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +0 -14
  405. package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +0 -14
  406. package/dist/melonjs.mjs/node_modules/semver/functions/major.js +0 -14
  407. package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +0 -14
  408. package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +0 -14
  409. package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +0 -27
  410. package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +0 -14
  411. package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +0 -17
  412. package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +0 -14
  413. package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +0 -14
  414. package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +0 -21
  415. package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +0 -14
  416. package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +0 -17
  417. package/dist/melonjs.mjs/node_modules/semver/index.js +0 -140
  418. package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +0 -44
  419. package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +0 -18
  420. package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +0 -32
  421. package/dist/melonjs.mjs/node_modules/semver/internal/lrucache.js +0 -49
  422. package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +0 -24
  423. package/dist/melonjs.mjs/node_modules/semver/internal/re.js +0 -234
  424. package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +0 -15
  425. package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +0 -18
  426. package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +0 -15
  427. package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +0 -37
  428. package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +0 -36
  429. package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +0 -74
  430. package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +0 -98
  431. package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +0 -59
  432. package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +0 -261
  433. package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +0 -19
  434. package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +0 -22
  435. package/dist/melonjs.mjs/particles/emitter.js +0 -265
  436. package/dist/melonjs.mjs/particles/particle.js +0 -190
  437. package/dist/melonjs.mjs/particles/settings.js +0 -317
  438. package/dist/melonjs.mjs/physics/body.js +0 -717
  439. package/dist/melonjs.mjs/physics/bounds.js +0 -415
  440. package/dist/melonjs.mjs/physics/collision.js +0 -135
  441. package/dist/melonjs.mjs/physics/detector.js +0 -227
  442. package/dist/melonjs.mjs/physics/quadtree.js +0 -402
  443. package/dist/melonjs.mjs/physics/response.js +0 -57
  444. package/dist/melonjs.mjs/physics/sat.js +0 -492
  445. package/dist/melonjs.mjs/physics/world.js +0 -228
  446. package/dist/melonjs.mjs/plugin/plugin.js +0 -172
  447. package/dist/melonjs.mjs/renderable/collectable.js +0 -60
  448. package/dist/melonjs.mjs/renderable/colorlayer.js +0 -83
  449. package/dist/melonjs.mjs/renderable/container.js +0 -1016
  450. package/dist/melonjs.mjs/renderable/draggable.js +0 -121
  451. package/dist/melonjs.mjs/renderable/dragndrop.js +0 -119
  452. package/dist/melonjs.mjs/renderable/entity/entity.js +0 -263
  453. package/dist/melonjs.mjs/renderable/imagelayer.js +0 -293
  454. package/dist/melonjs.mjs/renderable/light2d.js +0 -172
  455. package/dist/melonjs.mjs/renderable/nineslicesprite.js +0 -248
  456. package/dist/melonjs.mjs/renderable/renderable.js +0 -878
  457. package/dist/melonjs.mjs/renderable/sprite.js +0 -700
  458. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +0 -421
  459. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +0 -195
  460. package/dist/melonjs.mjs/renderable/text/glyph.js +0 -65
  461. package/dist/melonjs.mjs/renderable/text/text.js +0 -424
  462. package/dist/melonjs.mjs/renderable/text/textmetrics.js +0 -176
  463. package/dist/melonjs.mjs/renderable/text/textstyle.js +0 -21
  464. package/dist/melonjs.mjs/renderable/trigger.js +0 -163
  465. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +0 -285
  466. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +0 -231
  467. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +0 -146
  468. package/dist/melonjs.mjs/state/stage.js +0 -235
  469. package/dist/melonjs.mjs/state/state.js +0 -548
  470. package/dist/melonjs.mjs/system/device.js +0 -872
  471. package/dist/melonjs.mjs/system/dom.js +0 -79
  472. package/dist/melonjs.mjs/system/event.js +0 -606
  473. package/dist/melonjs.mjs/system/platform.js +0 -43
  474. package/dist/melonjs.mjs/system/pooling.js +0 -182
  475. package/dist/melonjs.mjs/system/save.js +0 -157
  476. package/dist/melonjs.mjs/system/timer.js +0 -274
  477. package/dist/melonjs.mjs/tweens/easing.js +0 -334
  478. package/dist/melonjs.mjs/tweens/interpolation.js +0 -112
  479. package/dist/melonjs.mjs/tweens/tween.js +0 -479
  480. package/dist/melonjs.mjs/utils/agent.js +0 -77
  481. package/dist/melonjs.mjs/utils/array.js +0 -63
  482. package/dist/melonjs.mjs/utils/file.js +0 -54
  483. package/dist/melonjs.mjs/utils/function.js +0 -69
  484. package/dist/melonjs.mjs/utils/string.js +0 -82
  485. package/dist/melonjs.mjs/utils/utils.js +0 -139
  486. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +0 -914
  487. package/dist/melonjs.mjs/video/renderer.js +0 -402
  488. package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +0 -316
  489. package/dist/melonjs.mjs/video/texture/atlas.js +0 -465
  490. package/dist/melonjs.mjs/video/texture/cache.js +0 -186
  491. package/dist/melonjs.mjs/video/texture/parser/aseprite.js +0 -78
  492. package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +0 -77
  493. package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +0 -64
  494. package/dist/melonjs.mjs/video/utils/autodetect.js +0 -27
  495. package/dist/melonjs.mjs/video/video.js +0 -142
  496. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +0 -146
  497. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +0 -240
  498. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +0 -82
  499. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +0 -259
  500. package/dist/melonjs.mjs/video/webgl/glshader.js +0 -166
  501. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +0 -10
  502. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +0 -10
  503. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +0 -10
  504. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +0 -10
  505. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +0 -25
  506. package/dist/melonjs.mjs/video/webgl/utils/precision.js +0 -38
  507. package/dist/melonjs.mjs/video/webgl/utils/program.js +0 -67
  508. package/dist/melonjs.mjs/video/webgl/utils/string.js +0 -25
  509. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +0 -92
  510. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +0 -1246
  511. package/dist/melonjs.module.js +0 -43200
  512. package/dist/types/application/settings.d.ts +0 -106
  513. package/dist/types/const.d.ts +0 -21
  514. package/dist/types/geometries/ellipse.d.ts +0 -138
  515. package/dist/types/geometries/line.d.ts +0 -15
  516. package/dist/types/geometries/point.d.ts +0 -50
  517. package/dist/types/geometries/poly.d.ts +0 -186
  518. package/dist/types/geometries/rectangle.d.ts +0 -135
  519. package/dist/types/geometries/roundrect.d.ts +0 -43
  520. package/dist/types/geometries/toarccanvas.d.ts +0 -10
  521. package/dist/types/input/keyboard.d.ts +0 -205
  522. package/dist/types/input/pointer.d.ts +0 -261
  523. package/dist/types/lang/deprecated.d.ts +0 -68
  524. package/dist/types/loader/cache.d.ts +0 -9
  525. package/dist/types/loader/parsers/compressed_textures/parseDDS.d.ts +0 -1
  526. package/dist/types/loader/parsers/compressed_textures/parseKTX.d.ts +0 -1
  527. package/dist/types/loader/parsers/compressed_textures/parseKTX2.d.ts +0 -1
  528. package/dist/types/loader/parsers/compressed_textures/parsePKM.d.ts +0 -1
  529. package/dist/types/loader/parsers/compressed_textures/parsePVR.d.ts +0 -1
  530. package/dist/types/math/color.d.ts +0 -179
  531. package/dist/types/math/math.d.ts +0 -149
  532. package/dist/types/math/matrix2.d.ts +0 -174
  533. package/dist/types/math/matrix3.d.ts +0 -186
  534. package/dist/types/math/observable_vector2.d.ts +0 -278
  535. package/dist/types/math/observable_vector3.d.ts +0 -300
  536. package/dist/types/math/vector2.d.ts +0 -255
  537. package/dist/types/math/vector3.d.ts +0 -271
  538. package/dist/types/particles/particle.d.ts +0 -36
  539. package/dist/types/physics/bounds.d.ts +0 -203
  540. package/dist/types/polyfill/console.d.ts +0 -1
  541. package/dist/types/polyfill/index.d.ts +0 -1
  542. package/dist/types/polyfill/roundrect.d.ts +0 -1
  543. package/dist/types/renderable/light2d.d.ts +0 -60
  544. package/dist/types/renderable/text/bitmaptextdata.d.ts +0 -35
  545. package/dist/types/system/dom.d.ts +0 -1
  546. package/dist/types/system/platform.d.ts +0 -33
  547. package/dist/types/system/save.d.ts +0 -25
  548. package/dist/types/system/timer.d.ts +0 -126
  549. package/dist/types/tweens/easing.d.ts +0 -46
  550. package/dist/types/tweens/interpolation.d.ts +0 -18
  551. package/dist/types/tweens/tween.d.ts +0 -195
  552. package/dist/types/utils/agent.d.ts +0 -21
  553. package/dist/types/utils/array.d.ts +0 -39
  554. package/dist/types/utils/file.d.ts +0 -27
  555. package/dist/types/utils/function.d.ts +0 -31
  556. package/dist/types/utils/string.d.ts +0 -50
  557. package/dist/types/utils/utils.d.ts +0 -54
  558. package/dist/types/video/utils/autodetect.d.ts +0 -5
  559. package/src/application/application.js +0 -435
  560. package/src/application/header.js +0 -31
  561. package/src/application/resize.js +0 -119
  562. package/src/application/settings.js +0 -61
  563. package/src/audio/audio.js +0 -622
  564. package/src/camera/camera2d.js +0 -731
  565. package/src/const.js +0 -23
  566. package/src/geometries/ellipse.js +0 -244
  567. package/src/geometries/line.js +0 -104
  568. package/src/geometries/path2d.js +0 -470
  569. package/src/geometries/point.js +0 -76
  570. package/src/geometries/poly.js +0 -432
  571. package/src/geometries/rectangle.js +0 -326
  572. package/src/geometries/roundrect.js +0 -156
  573. package/src/geometries/toarccanvas.js +0 -94
  574. package/src/index.js +0 -315
  575. package/src/input/gamepad.js +0 -487
  576. package/src/input/input.js +0 -17
  577. package/src/input/keyboard.js +0 -461
  578. package/src/input/pointer.js +0 -386
  579. package/src/input/pointerevent.js +0 -798
  580. package/src/lang/console.js +0 -36
  581. package/src/lang/deprecated.js +0 -192
  582. package/src/level/level.js +0 -290
  583. package/src/level/tiled/TMXGroup.js +0 -111
  584. package/src/level/tiled/TMXLayer.js +0 -424
  585. package/src/level/tiled/TMXObject.js +0 -286
  586. package/src/level/tiled/TMXTile.js +0 -168
  587. package/src/level/tiled/TMXTileMap.js +0 -569
  588. package/src/level/tiled/TMXTileset.js +0 -284
  589. package/src/level/tiled/TMXTilesetGroup.js +0 -66
  590. package/src/level/tiled/TMXUtils.js +0 -408
  591. package/src/level/tiled/constants.js +0 -8
  592. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +0 -497
  593. package/src/level/tiled/renderer/TMXIsometricRenderer.js +0 -208
  594. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +0 -149
  595. package/src/level/tiled/renderer/TMXRenderer.js +0 -103
  596. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +0 -100
  597. package/src/level/tiled/renderer/autodetect.js +0 -29
  598. package/src/loader/cache.js +0 -22
  599. package/src/loader/loader.js +0 -728
  600. package/src/loader/loadingscreen.js +0 -112
  601. package/src/loader/melonjs_logo.png +0 -0
  602. package/src/loader/parsers/binary.js +0 -33
  603. package/src/loader/parsers/compressed_textures/compressed_image.js +0 -49
  604. package/src/loader/parsers/compressed_textures/parseDDS.js +0 -5
  605. package/src/loader/parsers/compressed_textures/parseKTX.js +0 -5
  606. package/src/loader/parsers/compressed_textures/parseKTX2.js +0 -5
  607. package/src/loader/parsers/compressed_textures/parsePKM.js +0 -5
  608. package/src/loader/parsers/compressed_textures/parsePVR.js +0 -127
  609. package/src/loader/parsers/fetchdata.js +0 -53
  610. package/src/loader/parsers/fontface.js +0 -54
  611. package/src/loader/parsers/image.js +0 -120
  612. package/src/loader/parsers/json.js +0 -35
  613. package/src/loader/parsers/script.js +0 -37
  614. package/src/loader/parsers/tmx.js +0 -95
  615. package/src/loader/parsers/video.js +0 -90
  616. package/src/math/color.js +0 -627
  617. package/src/math/math.js +0 -212
  618. package/src/math/matrix2.js +0 -487
  619. package/src/math/matrix3.js +0 -620
  620. package/src/math/observable_vector2.js +0 -460
  621. package/src/math/observable_vector3.js +0 -556
  622. package/src/math/vector2.js +0 -423
  623. package/src/math/vector3.js +0 -465
  624. package/src/particles/emitter.js +0 -258
  625. package/src/particles/particle.js +0 -182
  626. package/src/particles/settings.js +0 -310
  627. package/src/physics/body.js +0 -709
  628. package/src/physics/bounds.js +0 -407
  629. package/src/physics/collision.js +0 -128
  630. package/src/physics/detector.js +0 -218
  631. package/src/physics/quadtree.js +0 -393
  632. package/src/physics/response.js +0 -48
  633. package/src/physics/sat.js +0 -483
  634. package/src/physics/world.js +0 -220
  635. package/src/plugin/plugin.js +0 -163
  636. package/src/polyfill/console.js +0 -11
  637. package/src/polyfill/index.js +0 -13
  638. package/src/polyfill/roundrect.js +0 -237
  639. package/src/renderable/collectable.js +0 -51
  640. package/src/renderable/colorlayer.js +0 -74
  641. package/src/renderable/container.js +0 -1008
  642. package/src/renderable/draggable.js +0 -114
  643. package/src/renderable/dragndrop.js +0 -110
  644. package/src/renderable/entity/entity.js +0 -254
  645. package/src/renderable/imagelayer.js +0 -284
  646. package/src/renderable/light2d.js +0 -163
  647. package/src/renderable/nineslicesprite.js +0 -239
  648. package/src/renderable/renderable.js +0 -869
  649. package/src/renderable/sprite.js +0 -691
  650. package/src/renderable/text/bitmaptext.js +0 -418
  651. package/src/renderable/text/bitmaptextdata.js +0 -186
  652. package/src/renderable/text/glyph.js +0 -57
  653. package/src/renderable/text/text.js +0 -415
  654. package/src/renderable/text/textmetrics.js +0 -167
  655. package/src/renderable/text/textstyle.js +0 -12
  656. package/src/renderable/trigger.js +0 -154
  657. package/src/renderable/ui/uibaseelement.js +0 -276
  658. package/src/renderable/ui/uispriteelement.js +0 -223
  659. package/src/renderable/ui/uitextbutton.js +0 -140
  660. package/src/state/stage.js +0 -226
  661. package/src/state/state.js +0 -541
  662. package/src/system/device.js +0 -863
  663. package/src/system/dom.js +0 -70
  664. package/src/system/event.js +0 -597
  665. package/src/system/platform.js +0 -34
  666. package/src/system/pooling.js +0 -190
  667. package/src/system/save.js +0 -148
  668. package/src/system/timer.js +0 -281
  669. package/src/tweens/easing.js +0 -325
  670. package/src/tweens/interpolation.js +0 -103
  671. package/src/tweens/tween.js +0 -470
  672. package/src/utils/agent.js +0 -68
  673. package/src/utils/array.js +0 -54
  674. package/src/utils/file.js +0 -46
  675. package/src/utils/function.js +0 -60
  676. package/src/utils/string.js +0 -73
  677. package/src/utils/utils.js +0 -127
  678. package/src/video/canvas/canvas_renderer.js +0 -905
  679. package/src/video/renderer.js +0 -393
  680. package/src/video/rendertarget/canvasrendertarget.js +0 -309
  681. package/src/video/texture/atlas.js +0 -456
  682. package/src/video/texture/cache.js +0 -178
  683. package/src/video/texture/parser/aseprite.js +0 -69
  684. package/src/video/texture/parser/spritesheet.js +0 -68
  685. package/src/video/texture/parser/texturepacker.js +0 -55
  686. package/src/video/utils/autodetect.js +0 -18
  687. package/src/video/video.js +0 -160
  688. package/src/video/webgl/buffer/vertex.js +0 -137
  689. package/src/video/webgl/compositors/compositor.js +0 -231
  690. package/src/video/webgl/compositors/primitive_compositor.js +0 -73
  691. package/src/video/webgl/compositors/quad_compositor.js +0 -250
  692. package/src/video/webgl/glshader.js +0 -158
  693. package/src/video/webgl/shaders/primitive.frag +0 -5
  694. package/src/video/webgl/shaders/primitive.vert +0 -15
  695. package/src/video/webgl/shaders/quad.frag +0 -7
  696. package/src/video/webgl/shaders/quad.vert +0 -18
  697. package/src/video/webgl/utils/attributes.js +0 -16
  698. package/src/video/webgl/utils/precision.js +0 -29
  699. package/src/video/webgl/utils/program.js +0 -58
  700. package/src/video/webgl/utils/string.js +0 -16
  701. package/src/video/webgl/utils/uniforms.js +0 -84
  702. package/src/video/webgl/webgl_renderer.js +0 -1237
@@ -1,393 +0,0 @@
1
- import Color from "./../math/color.js";
2
- import Matrix3d from "./../math/matrix3.js";
3
- import * as event from "./../system/event.js";
4
- import Path2D from "./../geometries/path2d.js";
5
- import Vector2d from "../math/vector2.js";
6
- import CanvasRenderTarget from "./rendertarget/canvasrendertarget.js";
7
-
8
- /**
9
- * @import Rect from "./../geometries/rectangle.js";
10
- * @import RoundRect from "./../geometries/roundrect.js";
11
- * @import Polygon from "./../geometries/poly.js";
12
- * @import Line from "./../geometries/line.js";
13
- * @import Ellipse from "./../geometries/ellipse.js";
14
- * @import Bounds from "./../physics/bounds.js";
15
- */
16
-
17
- /**
18
- * @classdesc
19
- * a base renderer object
20
- */
21
- export default class Renderer {
22
- /**
23
- * @param {ApplicationSettings} [options] - optional parameters for the renderer
24
- */
25
- constructor(options) {
26
-
27
- /**
28
- * The renderer renderTarget
29
- * @name renderTarget
30
- * @type {CanvasRenderTarget}
31
- */
32
- this.renderTarget = new CanvasRenderTarget(options.width, options.height,
33
- // support case when a global canvas is available, e.g. webapp adapter for wechat
34
- typeof globalThis.canvas !== "undefined" ? Object.assign(options, { canvas: globalThis.canvas }) : options
35
- );
36
-
37
- /**
38
- * The given constructor options
39
- * @public
40
- * @type {object}
41
- */
42
- this.settings = options;
43
-
44
- /**
45
- * the requested video size ratio
46
- * @public
47
- * @type {number}
48
- */
49
- this.designRatio = this.settings.width / this.settings.height;
50
-
51
- /**
52
- * the scaling ratio to be applied to the main canvas
53
- * @type {Vector2d}
54
- * @default <1,1>
55
- */
56
- this.scaleRatio = new Vector2d(this.settings.scale, this.settings.scale);
57
-
58
- /**
59
- * true if the current rendering context is valid
60
- * @default true
61
- * @type {boolean}
62
- */
63
- this.isContextValid = true;
64
-
65
- /**
66
- * the default method to sort object ("sorting", "z-buffer")
67
- * @type {string}
68
- * @default "sorting"
69
- */
70
- this.depthTest = "sorting";
71
-
72
-
73
- /**
74
- * The Path2D instance used by the renderer to draw primitives
75
- * @type {Path2D}
76
- */
77
- this.path2D = new Path2D();
78
-
79
- /**
80
- * The renderer type : Canvas, WebGL, etc...
81
- * (override this property with a specific value when implementing a custom renderer)
82
- * @type {string}
83
- */
84
- this.type = "Generic";
85
-
86
- /**
87
- * @ignore
88
- */
89
- this.currentScissor = new Int32Array([ 0, 0, this.settings.width, this.settings.height ]);
90
-
91
- /**
92
- * @ignore
93
- */
94
- this.maskLevel = 0;
95
-
96
- /**
97
- * @ignore
98
- */
99
- this.currentBlendMode = "none";
100
-
101
- // global color
102
- this.currentColor = new Color(0, 0, 0, 1.0);
103
-
104
- // global tint color
105
- this.currentTint = new Color(255, 255, 255, 1.0);
106
-
107
- // the projectionMatrix (set through setProjection)
108
- this.projectionMatrix = new Matrix3d();
109
-
110
- // default uvOffset
111
- this.uvOffset = 0;
112
- }
113
-
114
- /**
115
- * return the height of the canvas which this renderer draws to
116
- * @returns {number} height of the system Canvas
117
- */
118
- get height() {
119
- return this.getCanvas().height;
120
- }
121
-
122
- set height(value) {
123
- this.resize(this.width, value);
124
- }
125
-
126
- /**
127
- * return the width of the canvas which this renderer draws to
128
- * @returns {number} width of the system Canvas
129
- */
130
- get width() {
131
- return this.getCanvas().width;
132
- }
133
-
134
- set width(value) {
135
- this.resize(value, this.height);
136
- }
137
-
138
- /**
139
- * prepare the framebuffer for drawing a new frame
140
- */
141
- clear() {}
142
-
143
- /**
144
- * render the main framebuffer on screen
145
- */
146
- flush() {}
147
-
148
- /**
149
- * Reset context state
150
- */
151
- reset() {
152
- this.resetTransform();
153
- this.setBlendMode(this.settings.blendMode);
154
- this.setColor("#000000");
155
- this.clearTint();
156
- this.cache.clear();
157
- this.currentScissor[0] = 0;
158
- this.currentScissor[1] = 0;
159
- this.currentScissor[2] = this.width;
160
- this.currentScissor[3] = this.height;
161
- this.clearMask();
162
- }
163
-
164
- /**
165
- * return a reference to the current render target corresponding canvas which this renderer draws to
166
- * @returns {HTMLCanvasElement}
167
- */
168
- getCanvas() {
169
- return this.renderTarget.canvas;
170
- }
171
-
172
- /**
173
- * return a reference to the current render target corresponding Context
174
- * @returns {CanvasRenderingContext2D|WebGLRenderingContext}
175
- */
176
- getContext() {
177
- return this.renderTarget.context;
178
- }
179
-
180
- /**
181
- * returns the current blend mode for this renderer
182
- * @returns {string} blend mode
183
- */
184
- getBlendMode() {
185
- return this.currentBlendMode;
186
- }
187
-
188
- /**
189
- * get the current fill & stroke style color.
190
- * @returns {Color} current global color
191
- */
192
- getColor() {
193
- return this.currentColor;
194
- }
195
-
196
- /**
197
- * return the current global alpha
198
- * @returns {number}
199
- */
200
- globalAlpha() {
201
- return this.currentColor.glArray[3];
202
- }
203
-
204
- /**
205
- * check if the given rect or bounds overlaps with the renderer screen coordinates
206
- * @param {Rect|Bounds} bounds
207
- * @returns {boolean} true if overlaps
208
- */
209
- overlaps(bounds) {
210
- return (
211
- bounds.left <= this.width && bounds.right >= 0 &&
212
- bounds.top <= this.height && bounds.bottom >= 0
213
- );
214
- }
215
-
216
- /**
217
- * resizes the system canvas
218
- * @param {number} width - new width of the canvas
219
- * @param {number} height - new height of the canvas
220
- */
221
- resize(width, height) {
222
- let canvas = this.getCanvas();
223
- if (width !== canvas.width || height !== canvas.height) {
224
- canvas.width = width;
225
- canvas.height = height;
226
- this.currentScissor[0] = 0;
227
- this.currentScissor[1] = 0;
228
- this.currentScissor[2] = width;
229
- this.currentScissor[3] = height;
230
- // publish the corresponding event
231
- event.emit(event.CANVAS_ONRESIZE, width, height);
232
- }
233
- }
234
-
235
- /**
236
- * enable/disable image smoothing (scaling interpolation) for the current render target
237
- * @param {boolean} [enable=false]
238
- */
239
- setAntiAlias(enable = false) {
240
- this.renderTarget.setAntiAlias(enable);
241
- }
242
-
243
- /**
244
- * set/change the current projection matrix (WebGL only)
245
- * @param {Matrix3d} matrix
246
- */
247
- setProjection(matrix) {
248
- this.projectionMatrix.copy(matrix);
249
- }
250
-
251
- /**
252
- * stroke the given shape
253
- * @param {Rect|RoundRect|Polygon|Line|Ellipse} shape - a shape object to stroke
254
- * @param {boolean} [fill=false] - fill the shape with the current color if true
255
- */
256
- stroke(shape, fill) {
257
- switch (shape.type) {
258
-
259
- // RoundRect
260
- case "RoundRect":
261
- this.strokeRoundRect(shape.left, shape.top, shape.width, shape.height, shape.radius, fill);
262
- break;
263
-
264
- // Rect or Bounds
265
- case "Rectangle":
266
- case "Bounds":
267
- this.strokeRect(shape.left, shape.top, shape.width, shape.height, fill);
268
- break;
269
-
270
- // Polygon or Line
271
- case "Polygon":
272
- case "Line":
273
- this.strokePolygon(shape, fill);
274
- break;
275
-
276
- case "Ellipse":
277
- this.strokeEllipse(shape.pos.x, shape.pos.y, shape.radiusV.x, shape.radiusV.y, fill);
278
- break;
279
-
280
- // Point
281
- case "Point":
282
- this.strokePoint(shape.x, shape.y);
283
- break;
284
-
285
- default:
286
- throw new Error("Invalid geometry for fill/stroke");
287
- }
288
- }
289
-
290
- /**
291
- * fill the given shape
292
- * @param {Rect|RoundRect|Polygon|Line|Ellipse} shape - a shape object to fill
293
- */
294
- fill(shape) {
295
- this.stroke(shape, true);
296
- }
297
-
298
- /**
299
- * tint the given image or canvas using the given color
300
- * @param {HTMLImageElement|HTMLCanvasElement|OffscreenCanvas} src - the source image to be tinted
301
- * @param {Color|string} color - the color that will be used to tint the image
302
- * @param {string} [mode="multiply"] - the composition mode used to tint the image
303
- * @returns {HTMLCanvasElement|OffscreenCanvas} a new canvas or offscreencanvas (if supported) element representing the tinted image
304
- */
305
- tint(src, color, mode = "multiply") {
306
- const attributes = { context:"2d", offscreenCanvas: true, transparent: true, antiAlias: this.settings.antiAlias };
307
- let canvasTexture = new CanvasRenderTarget(src.width, src.height, attributes);
308
- let context = canvasTexture.context;
309
-
310
- context.fillStyle = color instanceof Color ? color.toRGB() : color;
311
- context.fillRect(0, 0, src.width, src.height);
312
-
313
- context.globalCompositeOperation = mode;
314
- context.drawImage(src, 0, 0);
315
- context.globalCompositeOperation = "destination-atop";
316
- context.drawImage(src, 0, 0);
317
-
318
- return canvasTexture.canvas;
319
- }
320
-
321
- /**
322
- * A mask limits rendering elements to the shape and position of the given mask object.
323
- * So, if the renderable is larger than the mask, only the intersecting part of the renderable will be visible.
324
- * Mask are not preserved through renderer context save and restore.
325
- * @param {Rect|RoundRect|Polygon|Line|Ellipse} [mask] - the shape defining the mask to be applied
326
- * @param {boolean} [invert=false] - either the given shape should define what is visible (default) or the opposite
327
- */
328
- // eslint-disable-next-line no-unused-vars
329
- setMask(mask, invert = false) {}
330
-
331
- /**
332
- * disable (remove) the rendering mask set through setMask.
333
- * @see Renderer#setMask
334
- */
335
- clearMask() {}
336
-
337
- /**
338
- * set a coloring tint for sprite based renderables
339
- * @param {Color} tint - the tint color
340
- * @param {number} [alpha] - an alpha value to be applied to the tint
341
- */
342
- setTint(tint, alpha = tint.alpha) {
343
- // global tint color
344
- this.currentTint.copy(tint);
345
- this.currentTint.alpha *= alpha;
346
- }
347
-
348
- /**
349
- * clear the rendering tint set through setTint.
350
- * @see Renderer#setTint
351
- */
352
- clearTint() {
353
- // reset to default
354
- this.currentTint.setFloat(1.0, 1.0, 1.0, 1.0);
355
- }
356
-
357
- /**
358
- * creates a Blob object representing the last rendered frame
359
- * @param {string} [type="image/png"] - A string indicating the image format
360
- * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
361
- * @returns {Promise} A Promise returning a Blob object representing the last rendered frame
362
- * @example
363
- * renderer.convertToBlob().then((blob) => console.log(blob));
364
- */
365
- toBlob(type = "image/png", quality) {
366
- return this.renderTarget.toBlob(type, quality);
367
- }
368
-
369
- /**
370
- * creates an ImageBitmap object of the last frame rendered
371
- * (not supported by standard Canvas)
372
- * @param {string} [type="image/png"] - A string indicating the image format
373
- * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
374
- * @returns {Promise} A Promise returning an ImageBitmap.
375
- * @example
376
- * renderer.transferToImageBitmap().then((image) => console.log(image));
377
- */
378
- toImageBitmap(type = "image/png", quality) {
379
- return this.renderTarget.toImageBitmap(type, quality);
380
- }
381
-
382
- /**
383
- * returns a data URL containing a representation of the last frame rendered
384
- * @param {string} [type="image/png"] - A string indicating the image format
385
- * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
386
- * @returns {Promise} A Promise returning a string containing the requested data URL.
387
- * @example
388
- * renderer.toDataURL().then((dataURL) => console.log(dataURL));
389
- */
390
- toDataURL(type = "image/png", quality) {
391
- return this.renderTarget.toDataURL(type, quality);
392
- }
393
- }
@@ -1,309 +0,0 @@
1
- import { createCanvas } from "../video.js";
2
- import { setPrefixed } from "../../utils/agent.js";
3
- import { clamp } from "../../math/math.js";
4
-
5
- /**
6
- * additional import for TypeScript
7
- * @import CanvasRenderer from "./../canvas/canvas_renderer.js";
8
- * @import WebGLRenderer from "./../webgl/webgl_renderer.js";
9
- */
10
-
11
- // default canvas settings
12
- let defaultAttributes = {
13
- offscreenCanvas : false,
14
- willReadFrequently : false,
15
- antiAlias : false,
16
- context: "2d",
17
- transparent : false,
18
- premultipliedAlpha: true,
19
- stencil: true,
20
- blendMode : "normal",
21
- failIfMajorPerformanceCaveat : true,
22
- preferWebGL1 : false,
23
- powerPreference : "default"
24
- };
25
-
26
- // WebGL version (if a gl context is created)
27
- let WebGLVersion;
28
-
29
- // a helper function to create the 2d/webgl context
30
- function createContext(canvas, attributes) {
31
- let context;
32
-
33
- if (attributes.context === "2d") {
34
- // 2d/canvas mode
35
- context = canvas.getContext(attributes.context, { willReadFrequently: attributes.willReadFrequently });
36
- } else if (attributes.context === "webgl") {
37
- let attr = {
38
- alpha : attributes.transparent,
39
- antialias : attributes.antiAlias,
40
- depth : attributes.depth,
41
- stencil: true,
42
- preserveDrawingBuffer : false,
43
- premultipliedAlpha: attributes.transparent ? attributes.premultipliedAlpha : false,
44
- powerPreference: attributes.powerPreference,
45
- failIfMajorPerformanceCaveat : attributes.failIfMajorPerformanceCaveat
46
- };
47
-
48
- // attempt to create a WebGL2 context unless not requested
49
- if (attributes.preferWebGL1 !== true) {
50
- context = canvas.getContext("webgl2", attr);
51
- if (context) {
52
- WebGLVersion = 2;
53
- }
54
- }
55
-
56
- // fallback to WebGL1
57
- if (!context) {
58
- WebGLVersion = 1;
59
- context = canvas.getContext("webgl", attr) || canvas.getContext("experimental-webgl", attr);
60
- }
61
-
62
- if (!context) {
63
- throw new Error(
64
- "A WebGL context could not be created."
65
- );
66
- }
67
- } else {
68
- throw new Error(
69
- "Invalid context type. Must be one of '2d' or 'webgl'"
70
- );
71
- }
72
-
73
- // set the context size
74
- return context;
75
- }
76
-
77
- /**
78
- * CanvasRenderTarget is 2D render target which exposes a Canvas interface.
79
- */
80
- class CanvasRenderTarget {
81
- /**
82
- * @param {number} width - the desired width of the canvas
83
- * @param {number} height - the desired height of the canvas
84
- * @param {object} attributes - The attributes to create both the canvas and context
85
- * @param {string} [attributes.context="2d"] - the context type to be created ("2d", "webgl")
86
- * @param {boolean} [attributes.preferWebGL1=false] - set to true for force using WebGL1 instead of WebGL2 (if supported)
87
- * @param {boolean} [attributes.transparent=false] - specify if the canvas contains an alpha channel
88
- * @param {boolean} [attributes.offscreenCanvas=false] - will create an offscreenCanvas if true instead of a standard canvas
89
- * @param {boolean} [attributes.willReadFrequently=false] - Indicates whether or not a lot of read-back operations are planned
90
- * @param {boolean} [attributes.antiAlias=false] - Whether to enable anti-aliasing, use false (default) for a pixelated effect.
91
- */
92
- constructor(width, height, attributes = defaultAttributes) {
93
- /**
94
- * the canvas created for this CanvasRenderTarget
95
- * @type {HTMLCanvasElement|OffscreenCanvas}
96
- */
97
- this.canvas;
98
-
99
- /**
100
- * the rendering context of this CanvasRenderTarget
101
- * @type {CanvasRenderingContext2D|WebGLRenderingContext}
102
- */
103
- this.context;
104
-
105
- // clean up the given attributes
106
- this.attributes = Object.assign({}, defaultAttributes, attributes);
107
-
108
- // make sure context is defined
109
- if (typeof attributes.context === "undefined") {
110
- attributes.context = "2d";
111
- }
112
-
113
- // used the given canvas if any
114
- if (typeof attributes.canvas !== "undefined") {
115
- this.canvas = attributes.canvas;
116
- } else {
117
- this.canvas = createCanvas(width, height, this.attributes.offscreenCanvas);
118
- }
119
-
120
- // create the context
121
- this.context = createContext(this.canvas, this.attributes);
122
-
123
- this.WebGLVersion = WebGLVersion;
124
-
125
- // enable or disable antiAlias if specified
126
- this.setAntiAlias(this.attributes.antiAlias);
127
- }
128
-
129
- /**
130
- * @ignore
131
- */
132
- onResetEvent(width, height) {
133
- this.clear();
134
- this.resize(width, height);
135
- }
136
-
137
- /**
138
- * Clears the content of the canvas texture
139
- */
140
- clear() {
141
- this.context.setTransform(1, 0, 0, 1, 0, 0);
142
- this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
143
- }
144
-
145
- /**
146
- * enable/disable image smoothing (scaling interpolation)
147
- * @param {boolean} [enable=false] - whether to enable or not image smoothing (scaling interpolation)
148
- */
149
- setAntiAlias(enable = false) {
150
- let canvas = this.canvas;
151
-
152
- // enable/disable antialias on the given Context2d object
153
- setPrefixed("imageSmoothingEnabled", enable, this.context);
154
-
155
- // set antialias CSS property on the main canvas
156
- if (typeof canvas.style !== "undefined") {
157
- if (enable !== true) {
158
- // https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering
159
- canvas.style["image-rendering"] = "optimizeSpeed"; // legal fallback
160
- canvas.style["image-rendering"] = "-moz-crisp-edges"; // Firefox
161
- canvas.style["image-rendering"] = "-o-crisp-edges"; // Opera
162
- canvas.style["image-rendering"] = "-webkit-optimize-contrast"; // Safari
163
- canvas.style["image-rendering"] = "optimize-contrast"; // CSS 3
164
- canvas.style["image-rendering"] = "crisp-edges"; // CSS 4
165
- canvas.style["image-rendering"] = "pixelated"; // CSS 4
166
- canvas.style.msInterpolationMode = "nearest-neighbor"; // IE8+
167
- } else {
168
- canvas.style["image-rendering"] = "auto";
169
- }
170
- }
171
- }
172
-
173
- /**
174
- * Resizes the canvas texture to the given width and height.
175
- * @param {number} width - the desired width
176
- * @param {number} height - the desired height
177
- */
178
- resize(width, height) {
179
- this.canvas.width = Math.round(width);
180
- this.canvas.height = Math.round(height);
181
- }
182
-
183
- /**
184
- * Returns an ImageData object representing the underlying pixel data for a specified portion of this canvas texture.
185
- * (Note: when using getImageData(), it is highly recommended to use the `willReadFrequently` attribute when creatimg the corresponding canvas texture)
186
- * @param {number} x - The x-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted
187
- * @param {number} y - The y-axis coordinate of the top-left corner of the rectangle from which the ImageData will be extracted
188
- * @param {number} width - The width of the rectangle from which the ImageData will be extracted. Positive values are to the right, and negative to the left
189
- * @param {number} height - The height of the rectangle from which the ImageData will be extracted. Positive values are down, and negative are up
190
- * @returns {ImageData} The ImageData extracted from this CanvasRenderTarget.
191
- */
192
- getImageData(x, y, width, height) {
193
- // clamp values
194
- x = clamp(Math.floor(x), 0, this.canvas.width - 1);
195
- y = clamp(Math.floor(y), 0, this.canvas.height - 1);
196
- width = clamp(width, 1, this.canvas.width - x);
197
- height = clamp(height, 1, this.canvas.height - y);
198
- // return imageData
199
- return this.context.getImageData(x, y, width, height);
200
- }
201
-
202
- /**
203
- * creates a Blob object representing the image contained in this canvas texture
204
- * @param {string} [type="image/png"] - A string indicating the image format
205
- * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
206
- * @returns {Promise} A Promise returning a Blob object representing the image contained in this canvas texture
207
- * @example
208
- * renderTarget.convertToBlob().then((blob) => console.log(blob));
209
- */
210
- toBlob(type = "image/png", quality) {
211
- if (typeof this.canvas.convertToBlob === "function") {
212
- return this.canvas.convertToBlob(type, quality);
213
- } else {
214
- return new Promise(function(resolve) {
215
- this.canvas.toBlob((blob) => {
216
- resolve(blob);
217
- }, type, quality);
218
- });
219
- }
220
- }
221
-
222
- /**
223
- * creates an ImageBitmap object from the most recently rendered image of this canvas texture
224
- * @param {string} [type="image/png"] - A string indicating the image format
225
- * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
226
- * @returns {Promise} A Promise returning an ImageBitmap.
227
- * @example
228
- * renderTarget.transferToImageBitmap().then((bitmap) => console.log(bitmap));
229
- */
230
- toImageBitmap(type = "image/png", quality) {
231
- return new Promise((resolve) => {
232
- if (typeof this.canvas.transferToImageBitmap === "function") {
233
- resolve(this.canvas.transferToImageBitmap());
234
- } else {
235
- let image = new Image();
236
- image.src = this.canvas.toDataURL(type, quality);
237
- image.onload = () => {
238
- globalThis.createImageBitmap(image).then((bitmap) => resolve(bitmap));
239
- };
240
- }
241
- });
242
- }
243
-
244
- /**
245
- * returns a data URL containing a representation of the most recently rendered image of this canvas texture
246
- * (not supported by OffscreenCanvas)
247
- * @param {string} [type="image/png"] - A string indicating the image format
248
- * @param {number} [quality] - A Number between 0 and 1 indicating the image quality to be used when creating images using file formats that support lossy compression (such as image/jpeg or image/webp). A user agent will use its default quality value if this option is not specified, or if the number is outside the allowed range.
249
- * @returns {Promise} A Promise returning a string containing the requested data URL.
250
- * @example
251
- * renderer.toDataURL().then((dataURL) => console.log(dataURL));
252
- */
253
- toDataURL(type = "image/png", quality) {
254
- return new Promise((resolve) => {
255
- resolve(this.canvas.toDataURL(type, quality));
256
- });
257
- }
258
-
259
- /**
260
- * invalidate the current CanvasRenderTarget, and force a reupload of the corresponding texture
261
- * (call this if you modify the canvas content between two draw calls)
262
- * @param {CanvasRenderer|WebGLRenderer} renderer - the renderer to which this canvas texture is attached
263
- */
264
- invalidate(renderer) {
265
- if (typeof renderer.gl !== "undefined") {
266
- // make sure the right compositor is active
267
- renderer.setCompositor("quad");
268
- // invalidate the previous corresponding texture so that it can reuploaded once changed
269
- this.glTextureUnit = renderer.cache.getUnit(renderer.cache.get(this.canvas));
270
- renderer.currentCompositor.unbindTexture2D(null, this.glTextureUnit);
271
- }
272
- }
273
-
274
- /**
275
- * @ignore
276
- */
277
- destroy() {
278
- this.context = undefined;
279
- this.canvas = undefined;
280
- }
281
-
282
- /**
283
- * The width of this canvas texture in pixels
284
- * @public
285
- * @type {number}
286
- */
287
- get width() {
288
- return this.canvas.width;
289
- }
290
-
291
- set width(val) {
292
- this.canvas.width = Math.round(val);
293
- }
294
-
295
- /**
296
- * The height of this canvas texture in pixels
297
- * @public
298
- * @type {number}
299
- */
300
- get height() {
301
- return this.canvas.height;
302
- }
303
-
304
- set height(val) {
305
- this.canvas.height = Math.round(val);
306
- }
307
- }
308
-
309
- export default CanvasRenderTarget;