melonjs 14.3.0 → 14.5.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 (323) hide show
  1. package/README.md +11 -55
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +2 -2
  3. package/dist/melonjs.mjs/_virtual/arraymultimap.js +2 -2
  4. package/dist/melonjs.mjs/_virtual/earcut.js +2 -2
  5. package/dist/melonjs.mjs/_virtual/howler.js +2 -2
  6. package/dist/melonjs.mjs/_virtual/index.js +2 -2
  7. package/dist/melonjs.mjs/_virtual/index2.js +2 -2
  8. package/dist/melonjs.mjs/_virtual/multimap.js +2 -2
  9. package/dist/melonjs.mjs/_virtual/setmultimap.js +2 -2
  10. package/dist/melonjs.mjs/application/application.js +8 -21
  11. package/dist/melonjs.mjs/application/header.js +2 -2
  12. package/dist/melonjs.mjs/application/resize.js +4 -2
  13. package/dist/melonjs.mjs/application/settings.js +2 -2
  14. package/dist/melonjs.mjs/audio/audio.js +5 -5
  15. package/dist/melonjs.mjs/camera/camera2d.js +2 -2
  16. package/dist/melonjs.mjs/const.js +32 -0
  17. package/dist/melonjs.mjs/entity/entity.js +44 -10
  18. package/dist/melonjs.mjs/geometries/ellipse.js +3 -4
  19. package/dist/melonjs.mjs/geometries/line.js +2 -2
  20. package/dist/melonjs.mjs/geometries/path2d.js +19 -43
  21. package/dist/melonjs.mjs/geometries/point.js +2 -7
  22. package/dist/melonjs.mjs/geometries/poly.js +3 -6
  23. package/dist/melonjs.mjs/geometries/rectangle.js +14 -10
  24. package/dist/melonjs.mjs/geometries/roundrect.js +2 -2
  25. package/dist/melonjs.mjs/index.js +11 -9
  26. package/dist/melonjs.mjs/input/gamepad.js +11 -17
  27. package/dist/melonjs.mjs/input/input.js +2 -2
  28. package/dist/melonjs.mjs/input/keyboard.js +2 -2
  29. package/dist/melonjs.mjs/input/pointer.js +2 -2
  30. package/dist/melonjs.mjs/input/pointerevent.js +3 -17
  31. package/dist/melonjs.mjs/lang/console.js +44 -0
  32. package/dist/melonjs.mjs/lang/deprecated.js +4 -40
  33. package/dist/melonjs.mjs/level/level.js +4 -4
  34. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +2 -23
  35. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +67 -64
  36. package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -64
  37. package/dist/melonjs.mjs/level/tiled/TMXTile.js +10 -26
  38. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +21 -83
  39. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +6 -20
  40. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +3 -10
  41. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -14
  42. package/dist/melonjs.mjs/level/tiled/constants.js +17 -0
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +7 -8
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +3 -6
  45. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  46. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -14
  47. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  48. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +38 -0
  49. package/dist/melonjs.mjs/loader/cache.js +24 -0
  50. package/dist/melonjs.mjs/loader/loader.js +332 -715
  51. package/dist/melonjs.mjs/loader/loadingscreen.js +5 -5
  52. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +2 -2
  53. package/dist/melonjs.mjs/loader/parser.js +281 -0
  54. package/dist/melonjs.mjs/loader/settings.js +91 -0
  55. package/dist/melonjs.mjs/math/color.js +2 -2
  56. package/dist/melonjs.mjs/math/math.js +2 -2
  57. package/dist/melonjs.mjs/math/matrix2.js +8 -10
  58. package/dist/melonjs.mjs/math/matrix3.js +19 -22
  59. package/dist/melonjs.mjs/math/observable_vector2.js +4 -4
  60. package/dist/melonjs.mjs/math/observable_vector3.js +4 -5
  61. package/dist/melonjs.mjs/math/vector2.js +4 -4
  62. package/dist/melonjs.mjs/math/vector3.js +4 -5
  63. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +2 -2
  64. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +2 -2
  65. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +2 -2
  66. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +2 -2
  67. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +2 -2
  68. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +2 -2
  69. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +2 -2
  70. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +2 -2
  71. package/dist/melonjs.mjs/particles/emitter.js +4 -4
  72. package/dist/melonjs.mjs/particles/particle.js +2 -2
  73. package/dist/melonjs.mjs/particles/settings.js +2 -2
  74. package/dist/melonjs.mjs/physics/body.js +19 -15
  75. package/dist/melonjs.mjs/physics/bounds.js +19 -71
  76. package/dist/melonjs.mjs/physics/collision.js +3 -3
  77. package/dist/melonjs.mjs/physics/detector.js +2 -2
  78. package/dist/melonjs.mjs/physics/quadtree.js +2 -2
  79. package/dist/melonjs.mjs/physics/response.js +2 -2
  80. package/dist/melonjs.mjs/physics/sat.js +2 -2
  81. package/dist/melonjs.mjs/physics/world.js +2 -2
  82. package/dist/melonjs.mjs/plugin/plugin.js +4 -4
  83. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  84. package/dist/melonjs.mjs/renderable/colorlayer.js +2 -2
  85. package/dist/melonjs.mjs/renderable/container.js +26 -20
  86. package/dist/melonjs.mjs/renderable/dragndrop.js +2 -2
  87. package/dist/melonjs.mjs/renderable/imagelayer.js +8 -2
  88. package/dist/melonjs.mjs/renderable/light2d.js +2 -2
  89. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  90. package/dist/melonjs.mjs/renderable/renderable.js +127 -106
  91. package/dist/melonjs.mjs/renderable/sprite.js +34 -55
  92. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  93. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +2 -2
  94. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +2 -2
  95. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +2 -2
  96. package/dist/melonjs.mjs/state/stage.js +2 -2
  97. package/dist/melonjs.mjs/state/state.js +3 -3
  98. package/dist/melonjs.mjs/system/device.js +2 -2
  99. package/dist/melonjs.mjs/system/dom.js +2 -2
  100. package/dist/melonjs.mjs/system/event.js +2 -2
  101. package/dist/melonjs.mjs/system/platform.js +2 -2
  102. package/dist/melonjs.mjs/system/pooling.js +9 -19
  103. package/dist/melonjs.mjs/system/save.js +2 -2
  104. package/dist/melonjs.mjs/system/timer.js +2 -2
  105. package/dist/melonjs.mjs/text/bitmaptext.js +67 -9
  106. package/dist/melonjs.mjs/text/bitmaptextdata.js +2 -2
  107. package/dist/melonjs.mjs/text/glyph.js +2 -2
  108. package/dist/melonjs.mjs/text/text.js +2 -2
  109. package/dist/melonjs.mjs/text/textmetrics.js +2 -2
  110. package/dist/melonjs.mjs/text/textstyle.js +2 -2
  111. package/dist/melonjs.mjs/tweens/easing.js +2 -2
  112. package/dist/melonjs.mjs/tweens/interpolation.js +2 -2
  113. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  114. package/dist/melonjs.mjs/utils/agent.js +2 -2
  115. package/dist/melonjs.mjs/utils/array.js +2 -2
  116. package/dist/melonjs.mjs/utils/file.js +2 -2
  117. package/dist/melonjs.mjs/utils/function.js +2 -2
  118. package/dist/melonjs.mjs/utils/string.js +3 -3
  119. package/dist/melonjs.mjs/utils/utils.js +3 -5
  120. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +2 -2
  121. package/dist/melonjs.mjs/video/renderer.js +2 -2
  122. package/dist/melonjs.mjs/video/texture/atlas.js +11 -10
  123. package/dist/melonjs.mjs/video/texture/cache.js +4 -4
  124. package/dist/melonjs.mjs/video/texture/canvas_texture.js +2 -2
  125. package/dist/melonjs.mjs/video/utils/autodetect.js +2 -2
  126. package/dist/melonjs.mjs/video/video.js +17 -14
  127. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +2 -2
  128. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +235 -0
  129. package/{src/video/webgl → dist/melonjs.mjs/video/webgl/compositors}/webgl_compositor.js +28 -205
  130. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  131. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +2 -2
  132. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +2 -2
  133. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +2 -2
  134. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +2 -2
  135. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +2 -2
  136. package/dist/melonjs.mjs/video/webgl/utils/precision.js +2 -2
  137. package/dist/melonjs.mjs/video/webgl/utils/program.js +2 -2
  138. package/dist/melonjs.mjs/video/webgl/utils/string.js +2 -2
  139. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +2 -2
  140. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +3 -3
  141. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +3 -3
  142. package/dist/melonjs.module.js +19807 -19896
  143. package/dist/types/application/application.d.ts +5 -1
  144. package/dist/types/application/resize.d.ts +1 -0
  145. package/dist/types/const.d.ts +21 -0
  146. package/dist/types/entity/entity.d.ts +2 -2
  147. package/dist/types/geometries/path2d.d.ts +5 -31
  148. package/dist/types/geometries/point.d.ts +2 -7
  149. package/dist/types/geometries/poly.d.ts +0 -1
  150. package/dist/types/index.d.ts +3 -2
  151. package/dist/types/lang/console.d.ts +7 -0
  152. package/dist/types/lang/deprecated.d.ts +0 -8
  153. package/dist/types/level/tiled/TMXGroup.d.ts +7 -28
  154. package/dist/types/level/tiled/TMXLayer.d.ts +25 -47
  155. package/dist/types/level/tiled/TMXObject.d.ts +20 -82
  156. package/dist/types/level/tiled/TMXTile.d.ts +11 -25
  157. package/dist/types/level/tiled/TMXTileMap.d.ts +18 -56
  158. package/dist/types/level/tiled/TMXTileset.d.ts +7 -21
  159. package/dist/types/level/tiled/TMXTilesetGroup.d.ts +3 -9
  160. package/dist/types/level/tiled/constants.d.ts +5 -0
  161. package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +2 -6
  162. package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +2 -6
  163. package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +6 -18
  164. package/dist/types/level/tiled/renderer/autodetect.d.ts +9 -0
  165. package/dist/types/loader/cache.d.ts +7 -0
  166. package/dist/types/loader/loader.d.ts +166 -181
  167. package/dist/types/loader/parser.d.ts +41 -0
  168. package/dist/types/loader/settings.d.ts +57 -0
  169. package/dist/types/particles/emitter.d.ts +4 -4
  170. package/dist/types/physics/bounds.d.ts +29 -84
  171. package/dist/types/renderable/container.d.ts +0 -11
  172. package/dist/types/renderable/renderable.d.ts +37 -31
  173. package/dist/types/renderable/sprite.d.ts +3 -3
  174. package/dist/types/state/state.d.ts +1 -1
  175. package/dist/types/system/pooling.d.ts +2 -2
  176. package/dist/types/video/renderer.d.ts +1 -1
  177. package/dist/types/video/video.d.ts +7 -6
  178. package/dist/types/video/webgl/compositors/compositor.d.ts +101 -0
  179. package/dist/types/video/webgl/compositors/webgl_compositor.d.ts +86 -0
  180. package/dist/types/video/webgl/webgl_compositor.d.ts +2 -3
  181. package/dist/types/video/webgl/webgl_renderer.d.ts +1 -1
  182. package/package.json +17 -16
  183. package/src/application/application.js +6 -19
  184. package/src/application/resize.js +2 -0
  185. package/src/audio/audio.js +3 -3
  186. package/src/const.js +23 -0
  187. package/src/entity/entity.js +42 -8
  188. package/src/geometries/ellipse.js +1 -2
  189. package/src/geometries/path2d.js +17 -41
  190. package/src/geometries/point.js +0 -5
  191. package/src/geometries/poly.js +1 -4
  192. package/src/geometries/rectangle.js +12 -8
  193. package/src/index.js +4 -2
  194. package/src/input/gamepad.js +9 -15
  195. package/src/input/pointerevent.js +1 -15
  196. package/src/lang/console.js +36 -0
  197. package/src/lang/deprecated.js +2 -37
  198. package/src/level/level.js +2 -2
  199. package/src/level/tiled/TMXGroup.js +0 -21
  200. package/src/level/tiled/TMXLayer.js +65 -62
  201. package/src/level/tiled/TMXObject.js +0 -62
  202. package/src/level/tiled/TMXTile.js +8 -24
  203. package/src/level/tiled/TMXTileMap.js +19 -81
  204. package/src/level/tiled/TMXTileset.js +4 -18
  205. package/src/level/tiled/TMXTilesetGroup.js +1 -9
  206. package/src/level/tiled/TMXUtils.js +38 -15
  207. package/src/level/tiled/constants.js +8 -0
  208. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +5 -6
  209. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -4
  210. package/src/level/tiled/renderer/TMXRenderer.js +0 -12
  211. package/src/level/tiled/renderer/autodetect.js +29 -0
  212. package/src/loader/cache.js +16 -0
  213. package/src/loader/loader.js +339 -709
  214. package/src/loader/loadingscreen.js +3 -3
  215. package/src/loader/parser.js +279 -0
  216. package/src/loader/settings.js +85 -0
  217. package/src/math/matrix2.js +6 -8
  218. package/src/math/matrix3.js +17 -20
  219. package/src/math/observable_vector2.js +2 -2
  220. package/src/math/observable_vector3.js +2 -3
  221. package/src/math/vector2.js +2 -2
  222. package/src/math/vector3.js +2 -3
  223. package/src/particles/emitter.js +2 -2
  224. package/src/physics/body.js +17 -13
  225. package/src/physics/bounds.js +17 -69
  226. package/src/physics/collision.js +1 -1
  227. package/src/renderable/container.js +24 -18
  228. package/src/renderable/imagelayer.js +6 -0
  229. package/src/renderable/renderable.js +125 -104
  230. package/src/renderable/sprite.js +32 -53
  231. package/src/state/state.js +1 -1
  232. package/src/system/pooling.js +7 -17
  233. package/src/text/bitmaptext.js +65 -7
  234. package/src/utils/string.js +1 -1
  235. package/src/utils/utils.js +1 -3
  236. package/src/video/texture/atlas.js +9 -8
  237. package/src/video/texture/cache.js +2 -2
  238. package/src/video/video.js +15 -12
  239. package/src/video/webgl/compositors/compositor.js +227 -0
  240. package/src/video/webgl/compositors/webgl_compositor.js +300 -0
  241. package/src/video/webgl/webgl_renderer.js +1 -1
  242. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-end.js +0 -13
  243. package/dist/melonjs.mjs/node_modules/core-js/es/string/trim-start.js +0 -13
  244. package/dist/melonjs.mjs/node_modules/core-js/internals/a-callable.js +0 -22
  245. package/dist/melonjs.mjs/node_modules/core-js/internals/an-object.js +0 -21
  246. package/dist/melonjs.mjs/node_modules/core-js/internals/array-includes.js +0 -45
  247. package/dist/melonjs.mjs/node_modules/core-js/internals/classof-raw.js +0 -19
  248. package/dist/melonjs.mjs/node_modules/core-js/internals/classof.js +0 -43
  249. package/dist/melonjs.mjs/node_modules/core-js/internals/copy-constructor-properties.js +0 -32
  250. package/dist/melonjs.mjs/node_modules/core-js/internals/create-non-enumerable-property.js +0 -24
  251. package/dist/melonjs.mjs/node_modules/core-js/internals/create-property-descriptor.js +0 -17
  252. package/dist/melonjs.mjs/node_modules/core-js/internals/define-built-in.js +0 -43
  253. package/dist/melonjs.mjs/node_modules/core-js/internals/define-global-property.js +0 -23
  254. package/dist/melonjs.mjs/node_modules/core-js/internals/descriptors.js +0 -18
  255. package/dist/melonjs.mjs/node_modules/core-js/internals/document-all.js +0 -18
  256. package/dist/melonjs.mjs/node_modules/core-js/internals/document-create-element.js +0 -22
  257. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-user-agent.js +0 -14
  258. package/dist/melonjs.mjs/node_modules/core-js/internals/engine-v8-version.js +0 -39
  259. package/dist/melonjs.mjs/node_modules/core-js/internals/entry-unbind.js +0 -18
  260. package/dist/melonjs.mjs/node_modules/core-js/internals/enum-bug-keys.js +0 -19
  261. package/dist/melonjs.mjs/node_modules/core-js/internals/export.js +0 -72
  262. package/dist/melonjs.mjs/node_modules/core-js/internals/fails.js +0 -16
  263. package/dist/melonjs.mjs/node_modules/core-js/internals/function-bind-native.js +0 -19
  264. package/dist/melonjs.mjs/node_modules/core-js/internals/function-call.js +0 -18
  265. package/dist/melonjs.mjs/node_modules/core-js/internals/function-name.js +0 -29
  266. package/dist/melonjs.mjs/node_modules/core-js/internals/function-uncurry-this.js +0 -22
  267. package/dist/melonjs.mjs/node_modules/core-js/internals/get-built-in.js +0 -22
  268. package/dist/melonjs.mjs/node_modules/core-js/internals/get-method.js +0 -21
  269. package/dist/melonjs.mjs/node_modules/core-js/internals/global.js +0 -25
  270. package/dist/melonjs.mjs/node_modules/core-js/internals/has-own-property.js +0 -23
  271. package/dist/melonjs.mjs/node_modules/core-js/internals/hidden-keys.js +0 -10
  272. package/dist/melonjs.mjs/node_modules/core-js/internals/ie8-dom-define.js +0 -24
  273. package/dist/melonjs.mjs/node_modules/core-js/internals/indexed-object.js +0 -28
  274. package/dist/melonjs.mjs/node_modules/core-js/internals/inspect-source.js +0 -27
  275. package/dist/melonjs.mjs/node_modules/core-js/internals/internal-state.js +0 -88
  276. package/dist/melonjs.mjs/node_modules/core-js/internals/is-callable.js +0 -22
  277. package/dist/melonjs.mjs/node_modules/core-js/internals/is-forced.js +0 -34
  278. package/dist/melonjs.mjs/node_modules/core-js/internals/is-null-or-undefined.js +0 -14
  279. package/dist/melonjs.mjs/node_modules/core-js/internals/is-object.js +0 -22
  280. package/dist/melonjs.mjs/node_modules/core-js/internals/is-symbol.js +0 -27
  281. package/dist/melonjs.mjs/node_modules/core-js/internals/length-of-array-like.js +0 -18
  282. package/dist/melonjs.mjs/node_modules/core-js/internals/make-built-in.js +0 -68
  283. package/dist/melonjs.mjs/node_modules/core-js/internals/math-trunc.js +0 -19
  284. package/dist/melonjs.mjs/node_modules/core-js/internals/object-define-property.js +0 -58
  285. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-descriptor.js +0 -41
  286. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-names.js +0 -23
  287. package/dist/melonjs.mjs/node_modules/core-js/internals/object-get-own-property-symbols.js +0 -12
  288. package/dist/melonjs.mjs/node_modules/core-js/internals/object-is-prototype-of.js +0 -14
  289. package/dist/melonjs.mjs/node_modules/core-js/internals/object-keys-internal.js +0 -35
  290. package/dist/melonjs.mjs/node_modules/core-js/internals/object-property-is-enumerable.js +0 -23
  291. package/dist/melonjs.mjs/node_modules/core-js/internals/ordinary-to-primitive.js +0 -28
  292. package/dist/melonjs.mjs/node_modules/core-js/internals/own-keys.js +0 -31
  293. package/dist/melonjs.mjs/node_modules/core-js/internals/require-object-coercible.js +0 -21
  294. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-key.js +0 -21
  295. package/dist/melonjs.mjs/node_modules/core-js/internals/shared-store.js +0 -19
  296. package/dist/melonjs.mjs/node_modules/core-js/internals/shared.js +0 -24
  297. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-end.js +0 -22
  298. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-forced.js +0 -28
  299. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim-start.js +0 -22
  300. package/dist/melonjs.mjs/node_modules/core-js/internals/string-trim.js +0 -45
  301. package/dist/melonjs.mjs/node_modules/core-js/internals/symbol-constructor-detection.js +0 -26
  302. package/dist/melonjs.mjs/node_modules/core-js/internals/to-absolute-index.js +0 -23
  303. package/dist/melonjs.mjs/node_modules/core-js/internals/to-indexed-object.js +0 -19
  304. package/dist/melonjs.mjs/node_modules/core-js/internals/to-integer-or-infinity.js +0 -20
  305. package/dist/melonjs.mjs/node_modules/core-js/internals/to-length.js +0 -20
  306. package/dist/melonjs.mjs/node_modules/core-js/internals/to-object.js +0 -20
  307. package/dist/melonjs.mjs/node_modules/core-js/internals/to-primitive.js +0 -41
  308. package/dist/melonjs.mjs/node_modules/core-js/internals/to-property-key.js +0 -21
  309. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string-tag-support.js +0 -19
  310. package/dist/melonjs.mjs/node_modules/core-js/internals/to-string.js +0 -19
  311. package/dist/melonjs.mjs/node_modules/core-js/internals/try-to-string.js +0 -18
  312. package/dist/melonjs.mjs/node_modules/core-js/internals/uid.js +0 -20
  313. package/dist/melonjs.mjs/node_modules/core-js/internals/use-symbol-as-uid.js +0 -18
  314. package/dist/melonjs.mjs/node_modules/core-js/internals/v8-prototype-define-bug.js +0 -24
  315. package/dist/melonjs.mjs/node_modules/core-js/internals/weak-map-basic-detection.js +0 -18
  316. package/dist/melonjs.mjs/node_modules/core-js/internals/well-known-symbol.js +0 -41
  317. package/dist/melonjs.mjs/node_modules/core-js/internals/whitespaces.js +0 -12
  318. package/dist/melonjs.mjs/node_modules/core-js/modules/es.global-this.js +0 -18
  319. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-end.js +0 -22
  320. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-left.js +0 -19
  321. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-right.js +0 -19
  322. package/dist/melonjs.mjs/node_modules/core-js/modules/es.string.trim-start.js +0 -22
  323. package/dist/melonjs.mjs/node_modules/eventemitter3/index.mjs.js +0 -9
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { capitalize } from './string.js';
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { random as random$1, weightedRandom as weightedRandom$1 } from '../math/math.js';
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  /**
9
9
  * a collection of file utility functions
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  /**
9
9
  * a collection of utility functions
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  /**
9
9
  * a collection of string utility functions
@@ -34,7 +34,7 @@ function isNumeric(str) {
34
34
  if (typeof str === "string") {
35
35
  str = str.trim();
36
36
  }
37
- return !isNaN(str) && /[+-]?([0-9]*[.])?[0-9]+/.test(str);
37
+ return !isNaN(str) && /^[+-]?(\d+(\.\d+)?|\.\d+)$/.test(str);
38
38
  }
39
39
 
40
40
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import * as agent from './agent.js';
9
9
  import * as array from './array.js';
@@ -107,9 +107,7 @@ var utils = {
107
107
  }
108
108
 
109
109
  // parse the url
110
- url.slice(1).split("&").filter((value) => {
111
- return (value !== "");
112
- }).forEach((value) => {
110
+ url.slice(1).split("&").filter((value) => value !== "").forEach((value) => {
113
111
  var kv = value.split("=");
114
112
  var k = kv.shift();
115
113
  var v = kv.join("=");
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Color from '../../math/color.js';
9
9
  import Renderer from '../renderer.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Color from '../math/color.js';
9
9
  import Matrix3d from '../math/matrix3.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import Vector2d from '../../math/vector2.js';
9
9
  import WebGLRenderer from '../webgl/webgl_renderer.js';
@@ -11,7 +11,7 @@ import TextureCache from './cache.js';
11
11
  import Sprite from '../../renderable/sprite.js';
12
12
  import { renderer } from '../video.js';
13
13
  import pool from '../../system/pooling.js';
14
- import loader from '../../loader/loader.js';
14
+ import { getImage } from '../../loader/loader.js';
15
15
  import { ETA } from '../../math/math.js';
16
16
 
17
17
  /**
@@ -105,7 +105,7 @@ class TextureAtlas {
105
105
  // set the texture
106
106
  if (typeof(src) === "undefined") {
107
107
  // get the texture name from the atlas meta data
108
- var image = loader.getImage(atlas.meta.image);
108
+ var image = getImage(atlas.meta.image);
109
109
  if (!image) {
110
110
  throw new Error(
111
111
  "Atlas texture '" + image + "' not found"
@@ -113,7 +113,7 @@ class TextureAtlas {
113
113
  }
114
114
  this.sources.set(atlas.meta.image, image);
115
115
  } else {
116
- this.sources.set(atlas.meta.image || "default", typeof src === "string" ? loader.getImage(src) : src);
116
+ this.sources.set(atlas.meta.image || "default", typeof src === "string" ? getImage(src) : src);
117
117
  }
118
118
  this.repeat = "no-repeat";
119
119
  }
@@ -127,13 +127,13 @@ class TextureAtlas {
127
127
  }
128
128
  this.format = "ShoeBox";
129
129
  this.repeat = "no-repeat";
130
- this.sources.set("default", typeof src === "string" ? loader.getImage(src) : src);
130
+ this.sources.set("default", typeof src === "string" ? getImage(src) : src);
131
131
  }
132
132
  // Internal texture atlas
133
133
  else if (atlas.meta.app.includes("melonJS")) {
134
134
  this.format = "melonJS";
135
135
  this.repeat = atlas.meta.repeat || "no-repeat";
136
- this.sources.set("default", typeof src === "string" ? loader.getImage(src) : src);
136
+ this.sources.set("default", typeof src === "string" ? getImage(src) : src);
137
137
  }
138
138
  // initialize the atlas
139
139
  this.atlases.set(atlas.meta.image || "default", this.parse(atlas));
@@ -147,7 +147,7 @@ class TextureAtlas {
147
147
 
148
148
  if (typeof(src) !== "undefined") {
149
149
  // overwrite if specified
150
- atlas.image = typeof src === "string" ? loader.getImage(src) : src;
150
+ atlas.image = typeof src === "string" ? getImage(src) : src;
151
151
  }
152
152
  // initialize the atlas
153
153
  this.atlases.set("default", this.parseFromSpriteSheet(atlas));
@@ -353,12 +353,13 @@ class TextureAtlas {
353
353
  region = this.getAtlas(atlas)[name];
354
354
  } else {
355
355
  // look for the given region in each existing atlas
356
- this.atlases.forEach((atlas) => {
356
+ for (let atlas of this.atlases.values()) {
357
357
  if (typeof atlas[name] !== "undefined") {
358
358
  // there should be only one
359
359
  region = atlas[name];
360
+ break;
360
361
  }
361
- });
362
+ }
362
363
  }
363
364
  return region;
364
365
  }
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { renderer } from '../video.js';
9
9
  import { getBasename } from '../../utils/file.js';
@@ -64,8 +64,8 @@ class TextureCache {
64
64
  } else {
65
65
  // manage cases where a specific atlas is specified
66
66
  this.cache.forEach((value, key) => {
67
- var _atlas = value.getAtlas();
68
- if (key === image && _atlas[0].width === atlas.framewidth && _atlas[0].height === atlas.frameheight) {
67
+ var _atlas = value.getAtlas()[0];
68
+ if (key === image && _atlas.width === atlas.framewidth && _atlas.height === atlas.frameheight) {
69
69
  entry = value;
70
70
  }
71
71
  });
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { createCanvas } from '../video.js';
9
9
  import { setPrefixed } from '../../utils/agent.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { isWebGLSupported } from '../../system/device.js';
9
9
  import WebGLRenderer from '../webgl/webgl_renderer.js';
@@ -1,45 +1,47 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  import { emit, WINDOW_ONRESIZE, WINDOW_ONORIENTATION_CHANGE, WINDOW_ONSCROLL, VIDEO_INIT } from '../system/event.js';
9
9
  import { game, initialized } from '../index.js';
10
10
  import { offscreenCanvas, screenOrientation } from '../system/device.js';
11
11
  import utils from '../utils/utils.js';
12
+ import { CANVAS as CANVAS$1, WEBGL as WEBGL$1, AUTO as AUTO$1 } from '../const.js';
12
13
 
13
14
  /**
14
15
  * @namespace video
15
16
  */
16
17
 
18
+
17
19
  /**
18
20
  * Select the HTML5 Canvas renderer
19
21
  * @memberof video
20
- * @constant
22
+ * @static
21
23
  */
22
- const CANVAS = 0;
24
+ const CANVAS = CANVAS$1;
23
25
 
24
26
  /**
25
27
  * Select the WebGL renderer
26
28
  * @memberof video
27
- * @constant
29
+ * @static
28
30
  */
29
- const WEBGL = 1;
31
+ const WEBGL = WEBGL$1;
30
32
 
31
33
  /**
32
34
  * Auto-select the renderer (Attempt WebGL first, with fallback to Canvas)
33
35
  * @memberof video
34
- * @constant
36
+ * @static
35
37
  */
36
- const AUTO = 2;
38
+ const AUTO = AUTO$1;
37
39
 
38
- /**
39
- * A reference to the active Canvas or WebGL active renderer renderer
40
- * @memberof video
41
- * @type {CanvasRenderer|WebGLRenderer}
42
- */
40
+ /**
41
+ * A reference to the active Canvas or WebGL active renderer renderer
42
+ * @memberof video
43
+ * @type {CanvasRenderer|WebGLRenderer}
44
+ */
43
45
  let renderer = null;
44
46
 
45
47
  /**
@@ -92,7 +94,7 @@ function init(width, height, options) {
92
94
  // initialize the default game Application with the given options
93
95
  game.init(width, height, options);
94
96
  } catch (e) {
95
- console(e.message);
97
+ console.log(e.message);
96
98
  // me.video.init() historically returns false if failing at creating/using a HTML5 canvas
97
99
  return false;
98
100
  }
@@ -179,6 +181,7 @@ function createCanvas(width, height, returnOffscreenCanvas = false) {
179
181
 
180
182
  /**
181
183
  * return a reference to the parent DOM element holding the main canvas
184
+ * @memberof video
182
185
  * @returns {HTMLElement}
183
186
  */
184
187
  function getParent() {
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * melonJS Game Engine - v14.3.0
2
+ * melonJS Game Engine - v14.5.0
3
3
  * http://www.melonjs.org
4
4
  * melonjs is licensed under the MIT License.
5
5
  * http://www.opensource.org/licenses/mit-license
6
- * @copyright (C) 2011 - 2022 Olivier Biot (AltByte Pte Ltd)
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
7
  */
8
8
  /**
9
9
  * @classdesc
@@ -0,0 +1,235 @@
1
+ /*!
2
+ * melonJS Game Engine - v14.5.0
3
+ * http://www.melonjs.org
4
+ * melonjs is licensed under the MIT License.
5
+ * http://www.opensource.org/licenses/mit-license
6
+ * @copyright (C) 2011 - 2023 Olivier Biot (AltByte Pte Ltd)
7
+ */
8
+ import { on, CANVAS_ONRESIZE } from '../../../system/event.js';
9
+
10
+ /**
11
+ * @classdesc
12
+ * A base Compositor object.
13
+ */
14
+ class Compositor {
15
+ /**
16
+ * @param {WebGLRenderer} renderer - the current WebGL renderer session
17
+ */
18
+ constructor (renderer) {
19
+ this.init(renderer);
20
+ }
21
+
22
+ /**
23
+ * Initialize the compositor
24
+ * @ignore
25
+ */
26
+ init (renderer) {
27
+ // local reference
28
+ var gl = renderer.gl;
29
+
30
+ // the associated renderer
31
+ this.renderer = renderer;
32
+
33
+ // WebGL context
34
+ this.gl = renderer.gl;
35
+
36
+ // Global fill color
37
+ this.color = renderer.currentColor;
38
+
39
+ // Global transformation matrix
40
+ this.viewMatrix = renderer.currentTransform;
41
+
42
+ /**
43
+ * a reference to the active WebGL shader
44
+ * @type {GLShader}
45
+ */
46
+ this.activeShader = null;
47
+
48
+ /**
49
+ * primitive type to render (gl.POINTS, gl.LINE_STRIP, gl.LINE_LOOP, gl.LINES, gl.TRIANGLE_STRIP, gl.TRIANGLE_FAN, gl.TRIANGLES)
50
+ * @type {number}
51
+ * @default gl.TRIANGLES
52
+ */
53
+ this.mode = gl.TRIANGLES;
54
+
55
+ /**
56
+ * an array of vertex attribute properties
57
+ * @see WebGLCompositor.addAttribute
58
+ * @type {Array}
59
+ */
60
+ this.attributes = [];
61
+
62
+ /**
63
+ * the size of a single vertex in bytes
64
+ * (will automatically be calculated as attributes definitions are added)
65
+ * @see WebGLCompositor.addAttribute
66
+ * @type {number}
67
+ */
68
+ this.vertexByteSize = 0;
69
+
70
+ /**
71
+ * the size of a single vertex in floats
72
+ * (will automatically be calculated as attributes definitions are added)
73
+ * @see WebGLCompositor.addAttribute
74
+ * @type {number}
75
+ */
76
+ this.vertexSize = 0;
77
+
78
+ // register to the CANVAS resize channel
79
+ on(CANVAS_ONRESIZE, (width, height) => {
80
+ this.flush();
81
+ this.setViewport(0, 0, width, height);
82
+ });
83
+ }
84
+
85
+ /**
86
+ * Reset compositor internal state
87
+ * @ignore
88
+ */
89
+ reset() {
90
+ // WebGL context
91
+ this.gl = this.renderer.gl;
92
+
93
+ this.flush();
94
+
95
+ // initial viewport size
96
+ this.setViewport(
97
+ 0, 0,
98
+ this.renderer.getCanvas().width,
99
+ this.renderer.getCanvas().height
100
+ );
101
+
102
+ // Initialize clear color
103
+ this.clearColor(0.0, 0.0, 0.0, 0.0);
104
+ }
105
+
106
+ /**
107
+ * add vertex attribute property definition to the compositor
108
+ * @param {string} name - name of the attribute in the vertex shader
109
+ * @param {number} size - number of components per vertex attribute. Must be 1, 2, 3, or 4.
110
+ * @param {GLenum} type - data type of each component in the array
111
+ * @param {boolean} normalized - whether integer data values should be normalized into a certain range when being cast to a float
112
+ * @param {number} offset - offset in bytes of the first component in the vertex attribute array
113
+ */
114
+ addAttribute(name, size, type, normalized, offset) {
115
+ this.attributes.push({
116
+ name: name,
117
+ size: size,
118
+ type: type,
119
+ normalized: normalized,
120
+ offset: offset
121
+ });
122
+
123
+ switch (type) {
124
+ case this.gl.BYTE:
125
+ this.vertexByteSize += size * Int8Array.BYTES_PER_ELEMENT;
126
+ break;
127
+ case this.gl.UNSIGNED_BYTE:
128
+ this.vertexByteSize += size * Uint8Array.BYTES_PER_ELEMENT;
129
+ break;
130
+ case this.gl.SHORT:
131
+ this.vertexByteSize += size * Int16Array.BYTES_PER_ELEMENT;
132
+ break;
133
+ case this.gl.UNSIGNED_SHORT:
134
+ this.vertexByteSize += size * Uint16Array.BYTES_PER_ELEMENT;
135
+ break;
136
+ case this.gl.INT:
137
+ this.vertexByteSize += size * Int32Array.BYTES_PER_ELEMENT;
138
+ break;
139
+ case this.gl.UNSIGNED_INT:
140
+ this.vertexByteSize += size * Uint32Array.BYTES_PER_ELEMENT;
141
+ break;
142
+ case this.gl.FLOAT:
143
+ this.vertexByteSize += size * Float32Array.BYTES_PER_ELEMENT;
144
+ break;
145
+ default:
146
+ throw new Error("Invalid GL Attribute type");
147
+ }
148
+ this.vertexSize = this.vertexByteSize / Float32Array.BYTES_PER_ELEMENT;
149
+ }
150
+
151
+ /**
152
+ * Sets the viewport
153
+ * @param {number} x - x position of viewport
154
+ * @param {number} y - y position of viewport
155
+ * @param {number} w - width of viewport
156
+ * @param {number} h - height of viewport
157
+ */
158
+ setViewport(x, y, w, h) {
159
+ this.gl.viewport(x, y, w, h);
160
+ }
161
+
162
+ /**
163
+ * set/change the current projection matrix
164
+ * @param {Matrix3d} matrix
165
+ */
166
+ setProjection(matrix) {
167
+ this.activeShader.setUniform("uProjectionMatrix", matrix);
168
+ }
169
+
170
+ /**
171
+ * Select the shader to use for compositing
172
+ * @see GLShader
173
+ * @param {GLShader} shader - a reference to a GLShader instance
174
+ */
175
+ useShader(shader) {
176
+ if (this.activeShader !== shader) {
177
+ this.flush();
178
+ this.activeShader = shader;
179
+ this.activeShader.bind();
180
+ this.activeShader.setUniform("uProjectionMatrix", this.renderer.projectionMatrix);
181
+ this.activeShader.setVertexAttributes(this.gl, this.attributes, this.vertexByteSize);
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Flush batched texture operations to the GPU
187
+ * @param {number} [mode=gl.TRIANGLES] - the GL drawing mode
188
+ */
189
+ flush(mode = this.mode) {
190
+ var vertex = this.vertexBuffer;
191
+ var vertexCount = vertex.vertexCount;
192
+
193
+ if (vertexCount > 0) {
194
+ var gl = this.gl;
195
+ var vertexSize = vertex.vertexSize;
196
+
197
+ // Copy data into stream buffer
198
+ if (this.renderer.WebGLVersion > 1) {
199
+ gl.bufferData(gl.ARRAY_BUFFER, vertex.toFloat32(), gl.STREAM_DRAW, 0, vertexCount * vertexSize);
200
+ } else {
201
+ gl.bufferData(gl.ARRAY_BUFFER, vertex.toFloat32(0, vertexCount * vertexSize), gl.STREAM_DRAW);
202
+ }
203
+
204
+ gl.drawArrays(mode, 0, vertexCount);
205
+
206
+ // clear the vertex buffer
207
+ vertex.clear();
208
+ }
209
+ }
210
+
211
+ /**
212
+ * Clear the frame buffer
213
+ * @param {number} [alpha = 0.0] - the alpha value used when clearing the framebuffer
214
+ */
215
+ clear(alpha = 0) {
216
+ var gl = this.gl;
217
+ gl.clearColor(0, 0, 0, alpha);
218
+ gl.clear(gl.COLOR_BUFFER_BIT | gl.STENCIL_BUFFER_BIT);
219
+ }
220
+
221
+ /**
222
+ * Specify the color values used when clearing color buffers. The values are clamped between 0 and 1.
223
+ * @param {number} [r = 0] - the red color value used when the color buffers are cleared
224
+ * @param {number} [g = 0] - the green color value used when the color buffers are cleared
225
+ * @param {number} [b = 0] - the blue color value used when the color buffers are cleared
226
+ * @param {number} [a = 0] - the alpha color value used when the color buffers are cleared
227
+ */
228
+ clearColor(r = 0, g = 0, b = 0, a = 0) {
229
+ var gl = this.gl;
230
+ gl.clearColor(r, g, b, a);
231
+ gl.clear(gl.COLOR_BUFFER_BIT);
232
+ }
233
+ }
234
+
235
+ export { Compositor as default };