melonjs 17.3.0 → 17.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  2. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/re.js +1 -1
  6. package/dist/melonjs.mjs/application/application.js +7 -1
  7. package/dist/melonjs.mjs/application/header.js +6 -1
  8. package/dist/melonjs.mjs/application/resize.js +6 -1
  9. package/dist/melonjs.mjs/application/settings.js +6 -1
  10. package/dist/melonjs.mjs/audio/audio.js +7 -2
  11. package/dist/melonjs.mjs/camera/camera2d.js +9 -1
  12. package/dist/melonjs.mjs/const.js +1 -1
  13. package/dist/melonjs.mjs/geometries/ellipse.js +10 -2
  14. package/dist/melonjs.mjs/geometries/line.js +6 -1
  15. package/dist/melonjs.mjs/geometries/path2d.js +6 -1
  16. package/dist/melonjs.mjs/geometries/point.js +6 -1
  17. package/dist/melonjs.mjs/geometries/poly.js +9 -1
  18. package/dist/melonjs.mjs/geometries/rectangle.js +6 -1
  19. package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
  20. package/dist/melonjs.mjs/geometries/toarccanvas.js +1 -1
  21. package/dist/melonjs.mjs/index.js +2 -2
  22. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  23. package/dist/melonjs.mjs/input/input.js +1 -1
  24. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  25. package/dist/melonjs.mjs/input/pointer.js +1 -1
  26. package/dist/melonjs.mjs/input/pointerevent.js +5 -1
  27. package/dist/melonjs.mjs/lang/console.js +1 -1
  28. package/dist/melonjs.mjs/lang/deprecated.js +1 -1
  29. package/dist/melonjs.mjs/level/level.js +1 -1
  30. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  31. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
  32. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  33. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  34. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +1 -1
  35. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
  36. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  37. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  44. package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
  45. package/dist/melonjs.mjs/loader/cache.js +1 -1
  46. package/dist/melonjs.mjs/loader/loader.js +8 -7
  47. package/dist/melonjs.mjs/loader/loadingscreen.js +1 -1
  48. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  49. package/dist/melonjs.mjs/loader/parsers/binary.js +1 -1
  50. package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +1 -1
  51. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +1 -1
  52. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +1 -1
  53. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +1 -1
  54. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +1 -1
  55. package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +1 -1
  56. package/dist/melonjs.mjs/loader/parsers/fetchdata.js +1 -1
  57. package/dist/melonjs.mjs/loader/parsers/fontface.js +1 -1
  58. package/dist/melonjs.mjs/loader/parsers/image.js +1 -1
  59. package/dist/melonjs.mjs/loader/parsers/json.js +1 -1
  60. package/dist/melonjs.mjs/loader/parsers/script.js +1 -1
  61. package/dist/melonjs.mjs/loader/parsers/tmx.js +1 -1
  62. package/dist/melonjs.mjs/loader/parsers/video.js +1 -1
  63. package/dist/melonjs.mjs/math/color.js +1 -1
  64. package/dist/melonjs.mjs/math/math.js +1 -1
  65. package/dist/melonjs.mjs/math/matrix2.js +9 -1
  66. package/dist/melonjs.mjs/math/matrix3.js +8 -1
  67. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  68. package/dist/melonjs.mjs/math/observable_vector3.js +7 -1
  69. package/dist/melonjs.mjs/math/vector2.js +3 -3
  70. package/dist/melonjs.mjs/math/vector3.js +9 -4
  71. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  72. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  73. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  74. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  75. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  76. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  77. package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +1 -1
  78. package/dist/melonjs.mjs/node_modules/semver/classes/range.js +1 -1
  79. package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +1 -1
  80. package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +1 -1
  81. package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +1 -1
  82. package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +1 -1
  83. package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +1 -1
  84. package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +1 -1
  85. package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +1 -1
  86. package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +1 -1
  87. package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +1 -1
  88. package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +1 -1
  89. package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +1 -1
  90. package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +1 -1
  91. package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +1 -1
  92. package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +1 -1
  93. package/dist/melonjs.mjs/node_modules/semver/functions/major.js +1 -1
  94. package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +1 -1
  95. package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +1 -1
  96. package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +1 -1
  97. package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +1 -1
  98. package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +1 -1
  99. package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +1 -1
  100. package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +1 -1
  101. package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +1 -1
  102. package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +1 -1
  103. package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +1 -1
  104. package/dist/melonjs.mjs/node_modules/semver/index.js +1 -1
  105. package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +1 -1
  106. package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +1 -1
  107. package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +1 -1
  108. package/dist/melonjs.mjs/node_modules/semver/internal/lrucache.js +1 -1
  109. package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +1 -1
  110. package/dist/melonjs.mjs/node_modules/semver/internal/re.js +1 -1
  111. package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +1 -1
  112. package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +1 -1
  113. package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +1 -1
  114. package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +1 -1
  115. package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +1 -1
  116. package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +1 -1
  117. package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +1 -1
  118. package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +1 -1
  119. package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +1 -1
  120. package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +1 -1
  121. package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +1 -1
  122. package/dist/melonjs.mjs/particles/emitter.js +1 -1
  123. package/dist/melonjs.mjs/particles/particle.js +5 -1
  124. package/dist/melonjs.mjs/particles/settings.js +1 -1
  125. package/dist/melonjs.mjs/physics/body.js +12 -1
  126. package/dist/melonjs.mjs/physics/bounds.js +7 -1
  127. package/dist/melonjs.mjs/physics/collision.js +6 -1
  128. package/dist/melonjs.mjs/physics/detector.js +10 -1
  129. package/dist/melonjs.mjs/physics/quadtree.js +7 -1
  130. package/dist/melonjs.mjs/physics/response.js +1 -1
  131. package/dist/melonjs.mjs/physics/sat.js +10 -1
  132. package/dist/melonjs.mjs/physics/world.js +5 -1
  133. package/dist/melonjs.mjs/plugin/plugin.js +8 -4
  134. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  135. package/dist/melonjs.mjs/renderable/colorlayer.js +9 -4
  136. package/dist/melonjs.mjs/renderable/container.js +26 -4
  137. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  138. package/dist/melonjs.mjs/renderable/dragndrop.js +6 -1
  139. package/dist/melonjs.mjs/renderable/entity/entity.js +11 -2
  140. package/dist/melonjs.mjs/renderable/imagelayer.js +6 -1
  141. package/dist/melonjs.mjs/renderable/light2d.js +10 -2
  142. package/dist/melonjs.mjs/renderable/nineslicesprite.js +7 -1
  143. package/dist/melonjs.mjs/renderable/renderable.js +20 -2
  144. package/dist/melonjs.mjs/renderable/sprite.js +8 -2
  145. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +1 -1
  146. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +1 -1
  147. package/dist/melonjs.mjs/renderable/text/glyph.js +1 -1
  148. package/dist/melonjs.mjs/renderable/text/text.js +1 -1
  149. package/dist/melonjs.mjs/renderable/text/textmetrics.js +1 -1
  150. package/dist/melonjs.mjs/renderable/text/textstyle.js +1 -1
  151. package/dist/melonjs.mjs/renderable/trigger.js +7 -2
  152. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  153. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  154. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  155. package/dist/melonjs.mjs/state/stage.js +1 -1
  156. package/dist/melonjs.mjs/state/state.js +1 -1
  157. package/dist/melonjs.mjs/system/device.js +1 -1
  158. package/dist/melonjs.mjs/system/dom.js +1 -1
  159. package/dist/melonjs.mjs/system/event.js +1 -1
  160. package/dist/melonjs.mjs/system/platform.js +1 -1
  161. package/dist/melonjs.mjs/system/pooling.js +1 -1
  162. package/dist/melonjs.mjs/system/save.js +1 -1
  163. package/dist/melonjs.mjs/system/timer.js +1 -1
  164. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  165. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  166. package/dist/melonjs.mjs/tweens/tween.js +1 -1
  167. package/dist/melonjs.mjs/utils/agent.js +1 -1
  168. package/dist/melonjs.mjs/utils/array.js +1 -1
  169. package/dist/melonjs.mjs/utils/file.js +1 -1
  170. package/dist/melonjs.mjs/utils/function.js +1 -1
  171. package/dist/melonjs.mjs/utils/string.js +1 -1
  172. package/dist/melonjs.mjs/utils/utils.js +1 -1
  173. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +32 -1
  174. package/dist/melonjs.mjs/video/renderer.js +11 -2
  175. package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +9 -3
  176. package/dist/melonjs.mjs/video/texture/atlas.js +6 -1
  177. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  178. package/dist/melonjs.mjs/video/texture/parser/aseprite.js +1 -1
  179. package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +1 -1
  180. package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +1 -1
  181. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  182. package/dist/melonjs.mjs/video/video.js +1 -1
  183. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  184. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +7 -1
  185. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +6 -1
  186. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +6 -1
  187. package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
  188. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  189. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  190. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  191. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  192. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  193. package/dist/melonjs.mjs/video/webgl/utils/precision.js +1 -1
  194. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  195. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  196. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  197. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +78 -31
  198. package/dist/melonjs.module.js +424 -62
  199. package/dist/types/application/application.d.ts +7 -0
  200. package/dist/types/application/header.d.ts +5 -0
  201. package/dist/types/application/resize.d.ts +1 -0
  202. package/dist/types/application/settings.d.ts +2 -1
  203. package/dist/types/audio/audio.d.ts +3 -2
  204. package/dist/types/camera/camera2d.d.ts +8 -3
  205. package/dist/types/geometries/ellipse.d.ts +14 -3
  206. package/dist/types/geometries/line.d.ts +4 -0
  207. package/dist/types/geometries/path2d.d.ts +5 -0
  208. package/dist/types/geometries/point.d.ts +4 -0
  209. package/dist/types/geometries/poly.d.ts +12 -1
  210. package/dist/types/geometries/rectangle.d.ts +5 -0
  211. package/dist/types/input/pointerevent.d.ts +2 -1
  212. package/dist/types/level/tiled/TMXTileset.d.ts +1 -1
  213. package/dist/types/loader/loader.d.ts +13 -43
  214. package/dist/types/math/matrix2.d.ts +9 -0
  215. package/dist/types/math/matrix3.d.ts +9 -0
  216. package/dist/types/math/observable_vector3.d.ts +24 -1
  217. package/dist/types/math/vector2.d.ts +3 -3
  218. package/dist/types/math/vector3.d.ts +9 -4
  219. package/dist/types/particles/emitter.d.ts +9 -30
  220. package/dist/types/particles/particle.d.ts +4 -0
  221. package/dist/types/physics/body.d.ts +20 -2
  222. package/dist/types/physics/bounds.d.ts +8 -0
  223. package/dist/types/physics/collision.d.ts +3 -1
  224. package/dist/types/physics/detector.d.ts +6 -0
  225. package/dist/types/physics/quadtree.d.ts +4 -1
  226. package/dist/types/physics/sat.d.ts +7 -0
  227. package/dist/types/physics/world.d.ts +4 -0
  228. package/dist/types/plugin/plugin.d.ts +7 -3
  229. package/dist/types/renderable/colorlayer.d.ts +17 -0
  230. package/dist/types/renderable/container.d.ts +40 -8
  231. package/dist/types/renderable/dragndrop.d.ts +5 -0
  232. package/dist/types/renderable/entity/entity.d.ts +14 -7
  233. package/dist/types/renderable/imagelayer.d.ts +14 -2
  234. package/dist/types/renderable/light2d.d.ts +3 -1
  235. package/dist/types/renderable/nineslicesprite.d.ts +8 -1
  236. package/dist/types/renderable/renderable.d.ts +33 -9
  237. package/dist/types/renderable/sprite.d.ts +8 -1
  238. package/dist/types/renderable/text/bitmaptext.d.ts +1 -1
  239. package/dist/types/renderable/trigger.d.ts +4 -0
  240. package/dist/types/state/state.d.ts +1 -1
  241. package/dist/types/video/canvas/canvas_renderer.d.ts +32 -4
  242. package/dist/types/video/renderer.d.ts +15 -1
  243. package/dist/types/video/rendertarget/canvasrendertarget.d.ts +32 -4
  244. package/dist/types/video/texture/atlas.d.ts +6 -1
  245. package/dist/types/video/webgl/compositors/compositor.d.ts +7 -0
  246. package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +5 -0
  247. package/dist/types/video/webgl/compositors/quad_compositor.d.ts +2 -1
  248. package/dist/types/video/webgl/webgl_renderer.d.ts +25 -21
  249. package/package.json +10 -11
  250. package/src/application/application.js +6 -0
  251. package/src/application/header.js +5 -0
  252. package/src/application/resize.js +5 -0
  253. package/src/application/settings.js +5 -0
  254. package/src/audio/audio.js +6 -1
  255. package/src/camera/camera2d.js +7 -0
  256. package/src/geometries/ellipse.js +9 -1
  257. package/src/geometries/line.js +5 -0
  258. package/src/geometries/path2d.js +6 -0
  259. package/src/geometries/point.js +5 -0
  260. package/src/geometries/poly.js +8 -0
  261. package/src/geometries/rectangle.js +5 -0
  262. package/src/input/pointerevent.js +4 -0
  263. package/src/loader/loader.js +7 -6
  264. package/src/math/matrix2.js +8 -0
  265. package/src/math/matrix3.js +7 -0
  266. package/src/math/observable_vector3.js +6 -0
  267. package/src/math/vector2.js +2 -2
  268. package/src/math/vector3.js +8 -3
  269. package/src/particles/particle.js +4 -0
  270. package/src/physics/body.js +11 -0
  271. package/src/physics/bounds.js +6 -0
  272. package/src/physics/collision.js +5 -0
  273. package/src/physics/detector.js +9 -0
  274. package/src/physics/quadtree.js +6 -0
  275. package/src/physics/sat.js +11 -1
  276. package/src/physics/world.js +4 -0
  277. package/src/plugin/plugin.js +5 -1
  278. package/src/renderable/colorlayer.js +7 -3
  279. package/src/renderable/container.js +26 -3
  280. package/src/renderable/dragndrop.js +4 -0
  281. package/src/renderable/entity/entity.js +9 -1
  282. package/src/renderable/imagelayer.js +4 -0
  283. package/src/renderable/light2d.js +9 -1
  284. package/src/renderable/nineslicesprite.js +6 -0
  285. package/src/renderable/renderable.js +18 -1
  286. package/src/renderable/sprite.js +7 -1
  287. package/src/renderable/trigger.js +6 -1
  288. package/src/video/canvas/canvas_renderer.js +31 -0
  289. package/src/video/renderer.js +10 -1
  290. package/src/video/rendertarget/canvasrendertarget.js +8 -2
  291. package/src/video/texture/atlas.js +5 -0
  292. package/src/video/webgl/compositors/compositor.js +6 -0
  293. package/src/video/webgl/compositors/primitive_compositor.js +5 -0
  294. package/src/video/webgl/compositors/quad_compositor.js +5 -0
  295. package/src/video/webgl/webgl_renderer.js +77 -30
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v17.3.0
2
+ * melonJS Game Engine - v17.4.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
@@ -3650,7 +3650,7 @@ class Vector2d {
3650
3650
 
3651
3651
  /**
3652
3652
  * return true if this vector is equal to the given values or vector
3653
- * @param {number|Vector2d|ObservableVector2d} x
3653
+ * @param {number|Vector2d} x
3654
3654
  * @param {number} [y]
3655
3655
  * @returns {boolean}
3656
3656
  */
@@ -3686,7 +3686,7 @@ class Vector2d {
3686
3686
  /**
3687
3687
  * Rotate this vector (counter-clockwise) by the specified angle (in radians).
3688
3688
  * @param {number} angle - The angle to rotate (in radians)
3689
- * @param {Vector2d|ObservableVector2d} [v] - an optional point to rotate around
3689
+ * @param {Vector2d} [v] - an optional point to rotate around
3690
3690
  * @returns {Vector2d} Reference to this object for method chaining
3691
3691
  */
3692
3692
  rotate(angle, v) {
@@ -3829,6 +3829,11 @@ class Vector2d {
3829
3829
  }
3830
3830
  }
3831
3831
 
3832
+ /**
3833
+ * additional import for TypeScript
3834
+ * @import Vector2d from "./vector2.js";
3835
+ */
3836
+
3832
3837
  /**
3833
3838
  * @classdesc
3834
3839
  * a generic 3D Vector Object
@@ -4085,10 +4090,10 @@ class Vector3d {
4085
4090
 
4086
4091
  /**
4087
4092
  * return true if this vector is equal to the given values or vector
4088
- * @param {number|Vector2d|ObservableVector2d|Vector3d|ObservableVector3d} x
4093
+ * @param {number|Vector2d|Vector3d} x
4089
4094
  * @param {number} [y]
4090
4095
  * @param {number} [z]
4091
- * @returns {boolean}
4096
+ * @returns {boolean} true if both vectros are equals
4092
4097
  */
4093
4098
  equals(...args) {
4094
4099
  let _x, _y, _z;
@@ -4127,7 +4132,7 @@ class Vector3d {
4127
4132
  /**
4128
4133
  * Rotate this vector (counter-clockwise) by the specified angle (in radians) around the z axis
4129
4134
  * @param {number} angle - The angle to rotate (in radians)
4130
- * @param {Vector2d|ObservableVector2d} [v] - an optional point to rotate around (on the same z axis)
4135
+ * @param {Vector2d} [v] - an optional point to rotate around (on the same z axis)
4131
4136
  * @returns {Vector3d} Reference to this object for method chaining
4132
4137
  */
4133
4138
  rotate(angle, v) {
@@ -4742,6 +4747,12 @@ class ObservableVector2d extends Vector2d {
4742
4747
  }
4743
4748
  }
4744
4749
 
4750
+ /**
4751
+ * additional import for TypeScript
4752
+ * @import ObservableVector2d from "./observable_vector2.js";
4753
+ * @import Vector2d from "./vector2.js";
4754
+ */
4755
+
4745
4756
  /**
4746
4757
  * @classdesc
4747
4758
  * A Vector3d object that provide notification by executing the given callback when the vector is changed.
@@ -5288,6 +5299,14 @@ class ObservableVector3d extends Vector3d {
5288
5299
  }
5289
5300
  }
5290
5301
 
5302
+ /**
5303
+ * additional import for TypeScript
5304
+ * @import Matrix3d from "./matrix3.js";
5305
+ * @import Vector2d from "./vector2.js";
5306
+ * @import Vector3d from "./vector3.js";
5307
+ */
5308
+
5309
+
5291
5310
  /**
5292
5311
  * @classdesc
5293
5312
  * a Matrix2d Object.<br>
@@ -5765,6 +5784,13 @@ class Matrix2d {
5765
5784
  }
5766
5785
  }
5767
5786
 
5787
+ /**
5788
+ * additional import for TypeScript
5789
+ * @import Matrix2d from "./matrix2.js";
5790
+ * @import Vector2d from "./vector2.js";
5791
+ * @import Vector3d from "./vector3.js";
5792
+ */
5793
+
5768
5794
  /**
5769
5795
  * @classdesc
5770
5796
  * a 4x4 Matrix3d Object
@@ -7064,6 +7090,14 @@ earcut.flatten = function (data) {
7064
7090
  var earcutExports = earcut$2.exports;
7065
7091
  var earcut$1 = /*@__PURE__*/getDefaultExportFromCjs(earcutExports);
7066
7092
 
7093
+ /**
7094
+ * additional import for TypeScript
7095
+ * @import Vector2d from "./../math/vector2.js";
7096
+ * @import ObservableVector2d from "./../math/observable_vector2.js";
7097
+ * @import Matrix2d from "./../math/matrix2.js";
7098
+ * @import Bounds from "./../physics/bounds.js";
7099
+ */
7100
+
7067
7101
  /**
7068
7102
  * @classdesc
7069
7103
  * a polygon Object.<br>
@@ -7486,6 +7520,11 @@ class Polygon {
7486
7520
  }
7487
7521
  }
7488
7522
 
7523
+ /**
7524
+ * additional import for TypeScript
7525
+ * @import Vector2d from "./../math/vector2d.js";
7526
+ */
7527
+
7489
7528
  /**
7490
7529
  * @classdesc
7491
7530
  * a line segment Object
@@ -7583,6 +7622,14 @@ class Line extends Polygon {
7583
7622
 
7584
7623
  }
7585
7624
 
7625
+ /**
7626
+ * additional import for TypeScript
7627
+ * @import Vector2d from "./../math/vector2.js";
7628
+ * @import ObservableVector2d from "./../math/observable_vector2.js";
7629
+ * @import Matrix2d from "./../math/matrix2.js";
7630
+ * @import Bounds from "./../physics/bounds.js";
7631
+ */
7632
+
7586
7633
  /**
7587
7634
  * @classdesc
7588
7635
  * an ellipse Object
@@ -7721,7 +7768,7 @@ class Ellipse {
7721
7768
  /**
7722
7769
  * apply the given transformation matrix to this ellipse
7723
7770
  * @param {Matrix2d} matrix - the transformation matrix
7724
- * @returns {Polygon} Reference to this object for method chaining
7771
+ * @returns {Ellipse} Reference to this object for method chaining
7725
7772
  */
7726
7773
  transform(matrix) { // eslint-disable-line no-unused-vars
7727
7774
  // TODO
@@ -7818,6 +7865,11 @@ class Ellipse {
7818
7865
  }
7819
7866
  }
7820
7867
 
7868
+ /**
7869
+ * additional import for TypeScript
7870
+ * @import Vector2d from "./../math/vector2.js";
7871
+ **/
7872
+
7821
7873
  /**
7822
7874
  * @classdesc
7823
7875
  * represents a point in a 2d space
@@ -7890,6 +7942,11 @@ class Point {
7890
7942
  }
7891
7943
  }
7892
7944
 
7945
+ /**
7946
+ * additional import for TypeScript
7947
+ * @import Vector2d from "./../math/vector2.js";
7948
+ **/
7949
+
7893
7950
  /**
7894
7951
  * @classdesc
7895
7952
  * a rectangle Object
@@ -8424,6 +8481,12 @@ var array$1 = {
8424
8481
  weightedRandom: weightedRandom
8425
8482
  };
8426
8483
 
8484
+ /**
8485
+ * @import World from "./world.js";
8486
+ * @import Container from "./../renderable/container.js";
8487
+ * @import Bounds from "./bounds.js";
8488
+ */
8489
+
8427
8490
  /*
8428
8491
  * A QuadTree implementation in JavaScript, a 2d spatial subdivision algorithm.
8429
8492
  * Based on the QuadTree Library by Timo Hausmann and released under the MIT license
@@ -8809,6 +8872,12 @@ class QuadTree {
8809
8872
  }
8810
8873
  }
8811
8874
 
8875
+ /**
8876
+ * @import Point from "./../geometries/point.js";
8877
+ * @import Rect from "./../geometries/rectangle.js";
8878
+ * @import Polygon from "./../geometries/poly.js";
8879
+ **/
8880
+
8812
8881
  /**
8813
8882
  * @classdesc
8814
8883
  * a bound object contains methods for creating and manipulating axis-aligned bounding boxes (AABB).
@@ -9207,6 +9276,11 @@ class Bounds {
9207
9276
 
9208
9277
  }
9209
9278
 
9279
+ /**
9280
+ * @import Line from "./../geometries/line.js";
9281
+ * @import Renderable from "./../renderable/renderable.js";
9282
+ **/
9283
+
9210
9284
  /**
9211
9285
  * Collision detection (and projection-based collision response) of 2D shapes.<br>
9212
9286
  * Based on the Separating Axis Theorem and supports detecting collisions between simple Axis-Aligned Boxes, convex polygons and circles based shapes.
@@ -13725,6 +13799,11 @@ var string$1 = {
13725
13799
 
13726
13800
  // external import
13727
13801
 
13802
+ /**
13803
+ * additional import for TypeScript
13804
+ * @import { Asset } from "./../loader/loader.js";
13805
+ */
13806
+
13728
13807
  /**
13729
13808
  * @namespace audio
13730
13809
  */
@@ -13858,7 +13937,7 @@ function disable() {
13858
13937
  /**
13859
13938
  * Load an audio file
13860
13939
  * @memberof audio
13861
- * @param {loader.Asset} sound
13940
+ * @param {Asset} sound
13862
13941
  * @param {Function} [onloadcb] - function to be called when the resource is loaded
13863
13942
  * @param {Function} [onerrorcb] - function to be called in case of error
13864
13943
  * @param {Object} [settings] - custom settings to apply to the request (@link https://developer.mozilla.org/en-US/docs/Web/API/fetch#options)
@@ -15629,6 +15708,11 @@ var device = {
15629
15708
  wheel: wheel
15630
15709
  };
15631
15710
 
15711
+ /**
15712
+ * additional import for TypeScript
15713
+ * @import Renderer from "./../video/renderer.js";
15714
+ */
15715
+
15632
15716
  /**
15633
15717
  * Application & Renderer Settings definition.
15634
15718
  * @typedef {Object} ApplicationSettings
@@ -16684,6 +16768,10 @@ class Pointer extends Bounds {
16684
16768
  }
16685
16769
  }
16686
16770
 
16771
+ /**
16772
+ * @import Vector2d from "./../math/vector2.js";
16773
+ */
16774
+
16687
16775
  /**
16688
16776
  * A pool of `Pointer` objects to cache pointer/touch event coordinates.
16689
16777
  * @type {Array.<Vector2d>}
@@ -18357,6 +18445,24 @@ class GLShader {
18357
18445
  }
18358
18446
  }
18359
18447
 
18448
+ /**
18449
+ * additional import for TypeScript
18450
+ * @import Vector2d from "./../math/vector2.js";
18451
+ * @import Vector3d from "./../math/vector3.js";
18452
+ * @import Matrix2d from "./../math/matrix2.js";
18453
+ * @import Entity from "./entity/entity.js";
18454
+ * @import Container from "./container.js";
18455
+ * @import Line from "./../geometries/line.js";
18456
+ * @import Ellipse from "./../geometries/ellipse.js";
18457
+ * @import Polygon from "./../geometries/poly.js";
18458
+ * @import RoundRect from "./../geometries/roundrect.js";
18459
+ * @import Application from "./../application/application.js";
18460
+ * @import CanvasRenderer from "./../video/canvas/canvas_renderer.js";
18461
+ * @import WebGLRenderer from "./../video/webgl/webgl_renderer.js";
18462
+ * @import ResponseObject from "./../physics/response.js";
18463
+ **/
18464
+
18465
+
18360
18466
  /**
18361
18467
  * @classdesc
18362
18468
  * A base class for renderable objects.
@@ -19103,7 +19209,7 @@ class Renderable extends Rect {
19103
19209
  * onCollision callback, triggered in case of collision,
19104
19210
  * when this renderable body is colliding with another one
19105
19211
  * @param {ResponseObject} response - the collision response object
19106
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
19212
+ * @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
19107
19213
  * @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
19108
19214
  * @example
19109
19215
  * // colision handler
@@ -19198,6 +19304,14 @@ class Renderable extends Rect {
19198
19304
 
19199
19305
  }
19200
19306
 
19307
+ /**
19308
+ * @import Bounds from "./../physics/bounds.js";
19309
+ * @import Color from "./../math/color.js";
19310
+ * @import Entity from "./../renderable/entity/entity.js";
19311
+ * @import Sprite from "./../renderable/sprite.js";
19312
+ * @import NineSliceSprite from "./../renderable/nineslicesprite.js";
19313
+ */
19314
+
19201
19315
  // some ref shortcut
19202
19316
  const MIN = Math.min, MAX = Math.max;
19203
19317
 
@@ -24427,6 +24541,11 @@ function endpointToCenterParameterization(x1, y1, x2, y2, largeArcFlag, sweepFla
24427
24541
  };
24428
24542
  }
24429
24543
 
24544
+ /**
24545
+ * additional import for TypeScript
24546
+ * @import Point from "./point.js";
24547
+ */
24548
+
24430
24549
  /**
24431
24550
  * @classdesc
24432
24551
  * a simplified path2d implementation, supporting only one path
@@ -24888,6 +25007,12 @@ class Path2D {
24888
25007
  }
24889
25008
  }
24890
25009
 
25010
+ /**
25011
+ * additional import for TypeScript
25012
+ * @import CanvasRenderer from "./../canvas/canvas_renderer.js";
25013
+ * @import WebGLRenderer from "./../webgl/webgl_renderer.js";
25014
+ */
25015
+
24891
25016
  // default canvas settings
24892
25017
  let defaultAttributes = {
24893
25018
  offscreenCanvas : false,
@@ -24961,8 +25086,8 @@ class CanvasRenderTarget {
24961
25086
  /**
24962
25087
  * @param {number} width - the desired width of the canvas
24963
25088
  * @param {number} height - the desired height of the canvas
24964
- * @param {Settings} attributes - The attributes to create both the canvas and context
24965
- * @param {boolean} [attributes.context="2d"] - the context type to be created ("2d", "webgl")
25089
+ * @param {object} attributes - The attributes to create both the canvas and context
25090
+ * @param {string} [attributes.context="2d"] - the context type to be created ("2d", "webgl")
24966
25091
  * @param {boolean} [attributes.preferWebGL1=false] - set to true for force using WebGL1 instead of WebGL2 (if supported)
24967
25092
  * @param {boolean} [attributes.transparent=false] - specify if the canvas contains an alpha channel
24968
25093
  * @param {boolean} [attributes.offscreenCanvas=false] - will create an offscreenCanvas if true instead of a standard canvas
@@ -25186,6 +25311,15 @@ class CanvasRenderTarget {
25186
25311
  }
25187
25312
  }
25188
25313
 
25314
+ /**
25315
+ * @import Rect from "./../geometries/rectangle.js";
25316
+ * @import RoundRect from "./../geometries/roundrect.js";
25317
+ * @import Polygon from "./../geometries/poly.js";
25318
+ * @import Line from "./../geometries/line.js";
25319
+ * @import Ellipse from "./../geometries/ellipse.js";
25320
+ * @import Bounds from "./../physics/bounds.js";
25321
+ */
25322
+
25189
25323
  /**
25190
25324
  * @classdesc
25191
25325
  * a base renderer object
@@ -25408,7 +25542,7 @@ class Renderer {
25408
25542
  * enable/disable image smoothing (scaling interpolation) for the current render target
25409
25543
  * @param {boolean} [enable=false]
25410
25544
  */
25411
- setAntiAlias(enable) {
25545
+ setAntiAlias(enable = false) {
25412
25546
  this.renderTarget.setAntiAlias(enable);
25413
25547
  }
25414
25548
 
@@ -25750,6 +25884,11 @@ function parseAseprite(data, textureAtlas) {
25750
25884
  return atlas;
25751
25885
  }
25752
25886
 
25887
+ /**
25888
+ * additional import for TypeScript
25889
+ * @import NineSliceSprite from "./../../renderable/nineslicesprite.js";
25890
+ */
25891
+
25753
25892
  /**
25754
25893
  * create a simple 1 frame texture atlas based on the given parameters
25755
25894
  * @ignore
@@ -26553,6 +26692,16 @@ class TextureCache {
26553
26692
 
26554
26693
  }
26555
26694
 
26695
+ /**
26696
+ * additional import for TypeScript
26697
+ * @import Rect from "./../../geometries/rectangle.js";
26698
+ * @import RoundRect from "./../../geometries/roundrect.js";
26699
+ * @import Polygon from "./../../geometries/poly.js";
26700
+ * @import Line from "./../../geometries/line.js";
26701
+ * @import Ellipse from "./../../geometries/ellipse.js";
26702
+ * @import Matrix2d from "./../../math/matrix2.js";
26703
+ */
26704
+
26556
26705
  /**
26557
26706
  * @classdesc
26558
26707
  * a canvas renderer object
@@ -27221,6 +27370,8 @@ class CanvasRenderer extends Renderer {
27221
27370
 
27222
27371
  /**
27223
27372
  * sets or returns the thickness of lines for shape drawing
27373
+ * @type {number}
27374
+ * @default 1
27224
27375
  */
27225
27376
  get lineWidth() {
27226
27377
  return this.getContext().lineWidth;
@@ -27234,6 +27385,25 @@ class CanvasRenderer extends Renderer {
27234
27385
  return value;
27235
27386
  }
27236
27387
 
27388
+ /**
27389
+ * sets or returns the shape used to join two line segments where they meet.
27390
+ * There are three possible values for this property: "round", "bevel", and "miter"
27391
+ * @type {string}
27392
+ * @default "miter"
27393
+ */
27394
+ get lineJoin() {
27395
+ return this.getContext().lineJoin;
27396
+ }
27397
+
27398
+ /**
27399
+ * @ignore
27400
+ */
27401
+ set lineJoin(value) {
27402
+ let context = this.getContext();
27403
+ context.lineJoin = value;
27404
+ return context.lineJoin;
27405
+ }
27406
+
27237
27407
  /**
27238
27408
  * Reset (overrides) the renderer transformation matrix to the
27239
27409
  * identity one, and then apply the given transformation matrix.
@@ -27957,6 +28127,29 @@ function deferredRemove(child, keepalive) {
27957
28127
 
27958
28128
  let globalFloatingCounter = 0;
27959
28129
 
28130
+ /**
28131
+ * additional import for TypeScript
28132
+ * @import Color from "./../math/color.js";
28133
+ * @import Entity from "./entity/entity.js";
28134
+ * @import Sprite from "./sprite.js";
28135
+ * @import Collectable from "./collectable.js";
28136
+ * @import Trigger from "./trigger.js";
28137
+ * @import { Draggable } from "./draggable.js";
28138
+ * @import { DropTarget } from "./dragndrop.js";
28139
+ * @import NineSliceSprite from "./nineslicesprite.js";
28140
+ * @import ImageLayer from "./imagelayer.js";
28141
+ * @import ColorLayer from "./colorlayer.js";
28142
+ * @import Light2d from "./light2d.js";
28143
+ * @import UIBaseElement from "./ui/uibaseelement.js";
28144
+ * @import UISpriteElement from "./ui/uispriteelement.js";
28145
+ * @import UITextButton from "./ui/uitextbutton.js";
28146
+ * @import Text from "./text/text.js";
28147
+ * @import BitmapText from "./text/bitmaptext.js";
28148
+ * @import Bounds from "./../physics/bounds.js";
28149
+ * @import CanvasRenderer from "./../video/canvas/canvas_renderer.js";
28150
+ * @import WebGLRenderer from "./../video/webgl/webgl_renderer.js";
28151
+ */
28152
+
27960
28153
  /**
27961
28154
  * @classdesc
27962
28155
  * Container represents a collection of child objects
@@ -28579,7 +28772,7 @@ class Container extends Renderable {
28579
28772
  /**
28580
28773
  * Invokes the removeChildNow in a defer, to ensure the child is removed safely after the update & draw stack has completed. <br>
28581
28774
  * if the given child implements a onDeactivateEvent() method, that method will be called once the child is removed from this container.
28582
- * @param {RendRenderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapTexterable} child - Child to be removed
28775
+ * @param {Renderable|Sprite|Collectable|Trigger|Draggable|DropTarget|NineSliceSprite|ImageLayer|ColorLayer|Light2d|UIBaseElement|UISpriteElement|UITextButton|Text|BitmapText} child - Child to be removed
28583
28776
  * @param {boolean} [keepalive=false] - true to prevent calling child.destroy()
28584
28777
  */
28585
28778
  removeChild(child, keepalive) {
@@ -28860,8 +29053,7 @@ class Container extends Renderable {
28860
29053
  }
28861
29054
 
28862
29055
  /**
28863
- * draw this renderable (automatically called by melonJS)
28864
- * @protected
29056
+ * draw this renderable (automatically called by melonJS)
28865
29057
  * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
28866
29058
  * @param {Camera2d} [viewport] - the viewport to (re)draw
28867
29059
  */
@@ -31369,7 +31561,7 @@ function onResourceLoaded(res) {
31369
31561
 
31370
31562
  /**
31371
31563
  * on error callback for image loading
31372
- * @param {loader.Asset} asset - asset that loaded with failure
31564
+ * @param {Asset} asset - asset that loaded with failure
31373
31565
  * @ignore
31374
31566
  */
31375
31567
  function onLoadingError(res) {
@@ -31383,7 +31575,8 @@ function onLoadingError(res) {
31383
31575
 
31384
31576
  /**
31385
31577
  * an asset definition to be used with the loader
31386
- * @typedef {object} loader.Asset
31578
+ * @typedef {object} Asset
31579
+ * @memberof loader
31387
31580
  * @property {string} name - name of the asset
31388
31581
  * @property {string} type - the type of the asset ("audio"|"binary"|"image"|"json"|"js"|"tmx"|"tmj"|"tsx"|"tsj"|"fontface"|"video")
31389
31582
  * @property {string} [src] - path and/or file name of the resource (for audio assets only the path is required)
@@ -31429,7 +31622,7 @@ function onLoadingError(res) {
31429
31622
  * @memberof loader
31430
31623
  * @param {string} type - asset type
31431
31624
  * @param {function} parserFn - parser function
31432
- * @see loader.Asset.type
31625
+ * @see Asset.type
31433
31626
  * @example
31434
31627
  * // specify a custom function for "abc" format
31435
31628
  * function customAbcParser(data, onload, onerror) {
@@ -31460,7 +31653,7 @@ function setParser(type, parserFn) {
31460
31653
  /**
31461
31654
  * set all the specified game assets to be preloaded.
31462
31655
  * @memberof loader
31463
- * @param {loader.Asset[]} assets - list of assets to load
31656
+ * @param {Asset[]} assets - list of assets to load
31464
31657
  * @param {Function} [onloadcb=loader.onload] - function to be called when all resources are loaded
31465
31658
  * @param {boolean} [switchToLoadState=true] - automatically switch to the loading screen
31466
31659
  * @example
@@ -31555,7 +31748,7 @@ function reload(src) {
31555
31748
  /**
31556
31749
  * Load a single asset (to be used if you need to load additional asset(s) during the game)
31557
31750
  * @memberof loader
31558
- * @param {loader.Asset} asset
31751
+ * @param {Asset} asset
31559
31752
  * @param {Function} [onload] - function to be called when the asset is loaded
31560
31753
  * @param {Function} [onerror] - function to be called in case of error
31561
31754
  * @returns {number} the amount of corresponding resource to be preloaded
@@ -31608,7 +31801,7 @@ function load(asset, onload, onerror) {
31608
31801
  /**
31609
31802
  * unload the specified asset to free memory
31610
31803
  * @memberof loader
31611
- * @param {loader.Asset} asset
31804
+ * @param {Asset} asset
31612
31805
  * @returns {boolean} true if unloaded
31613
31806
  * @example me.loader.unload({name: "avatar", type:"image"});
31614
31807
  */
@@ -31863,6 +32056,13 @@ var loader = {
31863
32056
  get withCredentials () { return withCredentials; }
31864
32057
  };
31865
32058
 
32059
+ /**
32060
+ * additional import for TypeScript
32061
+ * @import Vector2d from "./../math/vector2.js";
32062
+ * @import CanvasRenderer from "./../video/canvas/canvas_renderer.js";
32063
+ * @import WebGLRenderer from "./../video/webgl/webgl_renderer.js";
32064
+ */
32065
+
31866
32066
  /**
31867
32067
  * @classdesc
31868
32068
  * An object to display a fixed or animated sprite on screen.
@@ -32475,7 +32675,6 @@ class Sprite extends Renderable {
32475
32675
 
32476
32676
  /**
32477
32677
  * draw this srite (automatically called by melonJS)
32478
- * @protected
32479
32678
  * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
32480
32679
  * @param {Camera2d} [viewport] - the viewport to (re)draw
32481
32680
  */
@@ -33438,6 +33637,17 @@ class Timer {
33438
33637
 
33439
33638
  const timer = new Timer();
33440
33639
 
33640
+ /**
33641
+ * @import Entity from "./../renderable/entity/entity.js";
33642
+ * @import Container from "./../renderable/container.js";
33643
+ * @import Renderable from "./../renderable/renderable.js";
33644
+ * @import Sprite from "./../renderable/sprite.js";
33645
+ * @import NineSliceSprite from "./../renderable/nineslicesprite.js";
33646
+ * @import Line from "./../geometries/line.js";
33647
+ * @import Vector2d from "./../math/vector2.js";
33648
+ * @import ObservableVector2d from "./../math/observable_vector2.js";
33649
+ **/
33650
+
33441
33651
  /**
33442
33652
  * @classdesc
33443
33653
  * a Generic Physic Body Object with some physic properties and behavior functionality, to add as a member of a Renderable.
@@ -35158,6 +35368,12 @@ class VertexArrayBuffer {
35158
35368
 
35159
35369
  }
35160
35370
 
35371
+ /**
35372
+ * additional import for TypeScript
35373
+ * @import WebGLRenderer from "./../webgl_renderer.js";
35374
+ * @import Matrix3d from "./../../../math/matrix3.js";
35375
+ */
35376
+
35161
35377
  /**
35162
35378
  * @classdesc
35163
35379
  * A base Compositor object.
@@ -35385,6 +35601,11 @@ var primitiveVertex = "// Current vertex point\nattribute vec2 aVertex;\nattribu
35385
35601
 
35386
35602
  var primitiveFragment = "varying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n}\n";
35387
35603
 
35604
+ /**
35605
+ * additional import for TypeScript
35606
+ * @import Point from "./../../../geometries/point.js";
35607
+ */
35608
+
35388
35609
  /**
35389
35610
  * @classdesc
35390
35611
  * A WebGL Compositor object. This class handles all of the WebGL state<br>
@@ -35454,6 +35675,11 @@ var quadVertex = "// Current vertex point\nattribute vec2 aVertex;\nattribute ve
35454
35675
 
35455
35676
  var quadFragment = "uniform sampler2D uSampler;\nvarying vec4 vColor;\nvarying vec2 vRegion;\n\nvoid main(void) {\n gl_FragColor = texture2D(uSampler, vRegion) * vColor;\n}\n";
35456
35677
 
35678
+ /**
35679
+ * additional import for TypeScript
35680
+ * @import {TextureAtlas} from "./../../texture/atlas.js";
35681
+ */
35682
+
35457
35683
  // a pool of resuable vectors
35458
35684
  let V_ARRAY = [
35459
35685
  new Vector2d(),
@@ -35694,12 +35920,23 @@ class QuadCompositor extends Compositor {
35694
35920
  }
35695
35921
  }
35696
35922
 
35923
+ /**
35924
+ * additional import for TypeScript
35925
+ * @import Rect from "./../../geometries/rectangle.js";
35926
+ * @import RoundRect from "./../../geometries/roundrect.js";
35927
+ * @import Polygon from "./../../geometries/poly.js";
35928
+ * @import Line from "./../../geometries/line.js";
35929
+ * @import Ellipse from "./../../geometries/ellipse.js";
35930
+ * @import Matrix3d from "./../../math/matrix3.js";
35931
+ * @import Compositor from "./compositors/compositor.js";
35932
+ */
35933
+
35697
35934
  // list of supported compressed texture formats
35698
35935
  let supportedCompressedTextureFormats;
35699
35936
 
35700
35937
  /**
35701
35938
  * @classdesc
35702
- * a WebGL renderer draw
35939
+ * a WebGL renderer object
35703
35940
  * @augments Renderer
35704
35941
  */
35705
35942
  class WebGLRenderer extends Renderer {
@@ -35734,13 +35971,23 @@ class WebGLRenderer extends Renderer {
35734
35971
  this.gl = this.renderTarget.context;
35735
35972
 
35736
35973
  /**
35737
- * sets or returns the thickness of lines for shape drawing (limited to strokeLine)
35974
+ * sets or returns the thickness of lines for shape drawing (limited to strokeLine, strokePolygon and strokeRect)
35738
35975
  * @type {number}
35739
35976
  * @default 1
35740
35977
  * @see WebGLRenderer#strokeLine
35978
+ * @see WebGLRenderer#strokePolygon
35979
+ * @see WebGLRenderer#strokeRect
35741
35980
  */
35742
35981
  this.lineWidth = 1;
35743
35982
 
35983
+ /**
35984
+ * sets or returns the shape used to join two line segments where they meet.
35985
+ * Out of the three possible values for this property: "round", "bevel", and "miter", only "round" is supported for now in WebGL
35986
+ * @type {string}
35987
+ * @default "round"
35988
+ */
35989
+ this.lineJoin = "round";
35990
+
35744
35991
  /**
35745
35992
  * the vertex buffer used by this WebGL Renderer
35746
35993
  * @type {WebGLBuffer}
@@ -35782,7 +36029,7 @@ class WebGLRenderer extends Renderer {
35782
36029
 
35783
36030
  /**
35784
36031
  * The current compositor used by the renderer
35785
- * @type {WebGLCompositor}
36032
+ * @type {Compositor}
35786
36033
  */
35787
36034
  this.currentCompositor = undefined;
35788
36035
 
@@ -35794,7 +36041,7 @@ class WebGLRenderer extends Renderer {
35794
36041
 
35795
36042
  /**
35796
36043
  * The list of active compositors
35797
- * @type {Map<WebGLCompositor>}
36044
+ * @type {Map<Compositor>}
35798
36045
  */
35799
36046
  this.compositors = new Map();
35800
36047
 
@@ -35873,7 +36120,6 @@ class WebGLRenderer extends Renderer {
35873
36120
  * The WebGL version used by this renderer (1 or 2)
35874
36121
  * @type {number}
35875
36122
  * @default 1
35876
- * @readonly
35877
36123
  */
35878
36124
  get WebGLVersion() {
35879
36125
  return this.renderTarget.WebGLVersion;
@@ -36443,10 +36689,11 @@ class WebGLRenderer extends Renderer {
36443
36689
 
36444
36690
  /**
36445
36691
  * not used by this renderer?
36692
+ * @param {boolean} [enable=false]
36446
36693
  * @ignore
36447
36694
  */
36448
- setAntiAlias(context, enable) {
36449
- super.setAntiAlias(context, enable);
36695
+ setAntiAlias(enable = false) {
36696
+ super.setAntiAlias(enable);
36450
36697
  // TODO: perhaps handle GLNEAREST or other options with texture binding
36451
36698
  }
36452
36699
 
@@ -36538,7 +36785,7 @@ class WebGLRenderer extends Renderer {
36538
36785
  * @param {number} h - vertical radius of the ellipse
36539
36786
  */
36540
36787
  fillEllipse(x, y, w, h) {
36541
- this.strokeEllipse(x, y, w, h, false);
36788
+ this.strokeEllipse(x, y, w, h, true);
36542
36789
  }
36543
36790
 
36544
36791
  /**
@@ -36593,7 +36840,7 @@ class WebGLRenderer extends Renderer {
36593
36840
  }
36594
36841
 
36595
36842
  /**
36596
- * Stroke a me.Polygon on the screen with a specified color
36843
+ * Stroke a Polygon on the screen with a specified color
36597
36844
  * @param {Polygon} poly - the shape to draw
36598
36845
  * @param {boolean} [fill=false] - also fill the shape with the current color if true
36599
36846
  */
@@ -36601,24 +36848,38 @@ class WebGLRenderer extends Renderer {
36601
36848
  const points = poly.points;
36602
36849
  const len = points.length;
36603
36850
 
36604
- this.setCompositor("primitive");
36605
-
36606
36851
  this.translate(poly.pos.x, poly.pos.y);
36607
36852
 
36608
- this.path2D.beginPath();
36609
- for (let i = 0; i < len - 1; i++) {
36610
- const curPoint = points[i];
36611
- const nextPoint = points[i + 1];
36612
- this.path2D.moveTo(curPoint.x, curPoint.y);
36613
- this.path2D.lineTo(nextPoint.x, nextPoint.y);
36614
- }
36615
- this.path2D.closePath();
36616
-
36617
- if (fill === false) {
36618
- this.currentCompositor.drawVertices(this.gl.LINES, this.path2D.points);
36853
+ if (fill === false && this.lineWidth > 1) {
36854
+ const radius = this.lineWidth / 2;
36855
+ for (let i = 0; i < len - 1; i++) {
36856
+ const curPoint = points[i];
36857
+ const nextPoint = points[i + 1];
36858
+ this.fillEllipse(nextPoint.x, nextPoint.y, radius, radius);
36859
+ this.strokeLine(curPoint.x, curPoint.y, nextPoint.x, nextPoint.y);
36860
+ }
36861
+ const lastPoint = points[len - 1];
36862
+ const firstPoint = points[0];
36863
+ if (!lastPoint.equals(firstPoint)) {
36864
+ this.fillEllipse(firstPoint.x, firstPoint.y, radius, radius);
36865
+ this.strokeLine(lastPoint.x, lastPoint.y, firstPoint.x, firstPoint.y);
36866
+ }
36619
36867
  } else {
36620
- // draw all triangles
36621
- this.currentCompositor.drawVertices(this.gl.TRIANGLES, this.path2D.triangulatePath());
36868
+ this.setCompositor("primitive");
36869
+ this.path2D.beginPath();
36870
+ for (let i = 0; i < len - 1; i++) {
36871
+ const curPoint = points[i];
36872
+ const nextPoint = points[i + 1];
36873
+ this.path2D.moveTo(curPoint.x, curPoint.y);
36874
+ this.path2D.lineTo(nextPoint.x, nextPoint.y);
36875
+ }
36876
+ this.path2D.closePath();
36877
+ if (fill === false) {
36878
+ this.currentCompositor.drawVertices(this.gl.LINES, this.path2D.points);
36879
+ } else {
36880
+ // draw all triangles
36881
+ this.currentCompositor.drawVertices(this.gl.TRIANGLES, this.path2D.triangulatePath());
36882
+ }
36622
36883
  }
36623
36884
 
36624
36885
  this.translate(-poly.pos.x, -poly.pos.y);
@@ -36641,13 +36902,25 @@ class WebGLRenderer extends Renderer {
36641
36902
  * @param {boolean} [fill=false] - also fill the shape with the current color if true
36642
36903
  */
36643
36904
  strokeRect(x, y, width, height, fill = false) {
36644
- this.setCompositor("primitive");
36645
- this.path2D.beginPath();
36646
- this.path2D.rect(x, y, width, height);
36647
- if (fill === false) {
36648
- this.currentCompositor.drawVertices(this.gl.LINES, this.path2D.points);
36905
+ if (fill === false && this.lineWidth > 1) {
36906
+ const radius = this.lineWidth / 2;
36907
+ this.strokeLine(x, y, x + width, y);
36908
+ this.strokeLine(x + width, y, x + width, y + height);
36909
+ this.strokeLine(x + width, y + height, x, y + height);
36910
+ this.strokeLine(x, y + height, x, y);
36911
+ this.fillEllipse(x, y, radius, radius);
36912
+ this.fillEllipse(x + width, y, radius, radius);
36913
+ this.fillEllipse(x + width, y + height, radius, radius);
36914
+ this.fillEllipse(x, y + height, radius, radius);
36649
36915
  } else {
36650
- this.currentCompositor.drawVertices(this.gl.TRIANGLES, this.path2D.triangulatePath());
36916
+ this.setCompositor("primitive");
36917
+ this.path2D.beginPath();
36918
+ this.path2D.rect(x, y, width, height);
36919
+ if (fill === false) {
36920
+ this.currentCompositor.drawVertices(this.gl.LINES, this.path2D.points);
36921
+ } else {
36922
+ this.currentCompositor.drawVertices(this.gl.TRIANGLES, this.path2D.triangulatePath());
36923
+ }
36651
36924
  }
36652
36925
  }
36653
36926
 
@@ -36873,6 +37146,14 @@ class WebGLRenderer extends Renderer {
36873
37146
  }
36874
37147
  }
36875
37148
 
37149
+ /**
37150
+ * additional import for TypeScript
37151
+ * @import Color from "./../math/color.js";
37152
+ * @import CanvasRenderer from "./../video/canvas/canvas_renderer.js";
37153
+ * @import WebGLRenderer from "./../video/webgl/webgl_renderer.js";
37154
+ * @import Camera2d from "./../camera/camera2d.js";
37155
+ */
37156
+
36876
37157
  /**
36877
37158
  * @classdesc
36878
37159
  * a generic Color Layer Object. Fills the entire Canvas with the color not just the container the object belongs to.
@@ -36912,9 +37193,6 @@ class ColorLayer extends Renderable {
36912
37193
 
36913
37194
  /**
36914
37195
  * draw this color layer (automatically called by melonJS)
36915
- * @name draw
36916
- * @memberof ColorLayer
36917
- * @protected
36918
37196
  * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
36919
37197
  * @param {Camera2d} [viewport] - the viewport to (re)draw
36920
37198
  */
@@ -36940,6 +37218,11 @@ class ColorLayer extends Renderable {
36940
37218
 
36941
37219
  }
36942
37220
 
37221
+ /**
37222
+ * additional import for TypeScript
37223
+ * @import Vector2d from "./../math/vector2.js";
37224
+ */
37225
+
36943
37226
  /**
36944
37227
  * @classdesc
36945
37228
  * a generic Image Layer Object
@@ -37213,6 +37496,12 @@ class ImageLayer extends Sprite {
37213
37496
 
37214
37497
  }
37215
37498
 
37499
+ /**
37500
+ * additional import for TypeScript
37501
+ * @import Color from "./../math/color.js";
37502
+ * @import { TextureAtlas } from "./../video/texture/atlas.js";
37503
+ */
37504
+
37216
37505
  /**
37217
37506
  * @classdesc
37218
37507
  * A NineSliceSprite is similar to a Sprite, but it uses 9-slice scaling to strech its inner area to fit the size of the Renderable,
@@ -39114,6 +39403,11 @@ class Collectable extends Sprite {
39114
39403
 
39115
39404
  }
39116
39405
 
39406
+ /**
39407
+ * additional import for TypeScript
39408
+ * @import ResponseObject from "./../physics/response.js";
39409
+ */
39410
+
39117
39411
  /**
39118
39412
  * @classdesc
39119
39413
  * trigger an event when colliding with another object
@@ -39246,7 +39540,7 @@ class Trigger extends Renderable {
39246
39540
  * @name onCollision
39247
39541
  * @memberof Trigger
39248
39542
  * @param {ResponseObject} response - the collision response object
39249
- * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} other - the other renderable touching this one (a reference to response.a or response.b)
39543
+ * @param {Renderable} other - the other renderable touching this one (a reference to response.a or response.b)
39250
39544
  * @returns {boolean} true if the object should respond to the collision (its position and velocity will be corrected)
39251
39545
  */
39252
39546
  onCollision(response, other) { // eslint-disable-line no-unused-vars
@@ -39258,6 +39552,15 @@ class Trigger extends Renderable {
39258
39552
 
39259
39553
  }
39260
39554
 
39555
+ /**
39556
+ * additional import for TypeScript
39557
+ * @import Color from "./../math/color.js";
39558
+ * @import Ellipse from "./../geometries/ellipse.js";
39559
+ * @import CanvasRenderer from "./../video/canvas/canvas_renderer.js";
39560
+ * @import WebGLRenderer from "./../video/webgl/webgl_renderer.js";
39561
+ */
39562
+
39563
+
39261
39564
  /** @ignore */
39262
39565
  function createGradient(light) {
39263
39566
  let context = light.texture.context;
@@ -39388,7 +39691,6 @@ class Light2d extends Renderable {
39388
39691
  * draw this Light2d (automatically called by melonJS)
39389
39692
  * @name draw
39390
39693
  * @memberof Light2d
39391
- * @protected
39392
39694
  * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
39393
39695
  * @param {Camera2d} [viewport] - the viewport to (re)draw
39394
39696
  */
@@ -39761,6 +40063,11 @@ class Draggable extends Renderable {
39761
40063
  }
39762
40064
  }
39763
40065
 
40066
+ /**
40067
+ * additional import for TypeScript
40068
+ * @import { Draggable } from "./draggable.js";
40069
+ */
40070
+
39764
40071
  /**
39765
40072
  * @classdesc
39766
40073
  * a base drop target object
@@ -39869,6 +40176,15 @@ class DropTarget extends Renderable {
39869
40176
  * Available under the MIT License - https://github.com/jriecken/sat-js
39870
40177
  */
39871
40178
 
40179
+ /**
40180
+ * @import Entity from "./../renderable/entity/entity.js";
40181
+ * @import Container from "./../renderable/container.js";
40182
+ * @import Renderable from "./../renderable/renderable.js";
40183
+ * @import Sprite from "./../renderable/sprite.js";
40184
+ * @import NineSliceSprite from "./../renderable/nineslicesprite.js";
40185
+ * @import Polygon from "./../geometries/poly.js";
40186
+ * @import Ellipse from "./../geometries/ellipse.js";
40187
+ */
39872
40188
 
39873
40189
  /**
39874
40190
  * Constants for Vornoi regions
@@ -40392,6 +40708,15 @@ class ResponseObject {
40392
40708
  }
40393
40709
  }
40394
40710
 
40711
+ /**
40712
+ * @import Entity from "./../renderable/entity/entity.js";
40713
+ * @import Container from "./../renderable/container.js";
40714
+ * @import Renderable from "./../renderable/renderable.js";
40715
+ * @import Sprite from "./../renderable/sprite.js";
40716
+ * @import NineSliceSprite from "./../renderable/nineslicesprite.js";
40717
+ * @import Line from "./../geometries/line.js";
40718
+ */
40719
+
40395
40720
  // a dummy object when using Line for raycasting
40396
40721
  let dummyObj = {
40397
40722
  pos : new Vector2d(0, 0),
@@ -40597,6 +40922,10 @@ class Detector {
40597
40922
  }
40598
40923
  }
40599
40924
 
40925
+ /**
40926
+ * @import Application from "./../application/application.js";
40927
+ */
40928
+
40600
40929
  /**
40601
40930
  * @classdesc
40602
40931
  * an object representing the physic world, and responsible for managing and updating all childs and physics
@@ -41365,6 +41694,10 @@ class ParticleEmitter extends Container {
41365
41694
  }
41366
41695
  }
41367
41696
 
41697
+ /**
41698
+ * @import ParticleEmitter from "./emitter.js";
41699
+ */
41700
+
41368
41701
  /**
41369
41702
  * @classdesc
41370
41703
  * Single Particle Object.
@@ -41538,6 +41871,16 @@ class Particle extends Renderable {
41538
41871
  }
41539
41872
  }
41540
41873
 
41874
+ /**
41875
+ * @import Line from "./../../geometries/line.js";
41876
+ * @import Rect from "./../../geometries/rectangle.js";
41877
+ * @import Ellipse from "./../../geometries/ellipse.js";
41878
+ * @import Polygon from "./../../geometries/poly.js";
41879
+ * @import Bounds from "./../../physics/bounds.js";
41880
+ * @import CanvasRenderer from "./../../video/canvas/canvas_renderer.js";
41881
+ * @import WebGLRenderer from "./../../video/webgl/webgl_renderer.js";
41882
+ **/
41883
+
41541
41884
  /**
41542
41885
  * @classdesc
41543
41886
  * a Generic Object Entity
@@ -41735,7 +42078,6 @@ class Entity extends Renderable {
41735
42078
 
41736
42079
  /**
41737
42080
  * draw this entity (automatically called by melonJS)
41738
- * @protected
41739
42081
  * @param {CanvasRenderer|WebGLRenderer} renderer - a renderer instance
41740
42082
  * @param {Camera2d} [viewport] - the viewport to (re)draw
41741
42083
  */
@@ -41794,6 +42136,11 @@ function autoDetectRenderer(options) {
41794
42136
  return new CanvasRenderer(options);
41795
42137
  }
41796
42138
 
42139
+ /**
42140
+ * additional import for TypeScript
42141
+ * @import Application from "./application.js";
42142
+ */
42143
+
41797
42144
  /**
41798
42145
  * scale the "displayed" canvas by the given scalar.
41799
42146
  * this will modify the size of canvas element directly.
@@ -41907,6 +42254,11 @@ function onresize(game) {
41907
42254
  scale(game, scaleX, scaleY);
41908
42255
  }
41909
42256
 
42257
+ /**
42258
+ * additional import for TypeScript
42259
+ * @import Application from "./application.js";
42260
+ */
42261
+
41910
42262
  /**
41911
42263
  * display information
41912
42264
  * @param {Application} app - the game application instance calling this function
@@ -41932,6 +42284,12 @@ function consoleHeader(app) {
41932
42284
  );
41933
42285
  }
41934
42286
 
42287
+ /**
42288
+ * additional import for TypeScript
42289
+ * @import WebGLRenderer from "./../video/webgl/webgl_renderer.js";
42290
+ * @import Camera2d from "./../camera/camera2d.js";
42291
+ */
42292
+
41935
42293
  /**
41936
42294
  * @classdesc
41937
42295
  * An Application represents a single melonJS game, and is responsible for updating (each frame) all the related object status and draw them.
@@ -42348,6 +42706,10 @@ class Application {
42348
42706
  }
42349
42707
  }
42350
42708
 
42709
+ /**
42710
+ * @import Application from "./../application/application.js";
42711
+ */
42712
+
42351
42713
  /**
42352
42714
  * Contains all registered plugins.
42353
42715
  * @name cache
@@ -42376,9 +42738,9 @@ class BasePlugin {
42376
42738
  * define the minimum required version of melonJS<br>
42377
42739
  * this can be overridden by the plugin
42378
42740
  * @type {string}
42379
- * @default "17.3.0"
42741
+ * @default "17.4.0"
42380
42742
  */
42381
- this.version = "17.3.0";
42743
+ this.version = "17.4.0";
42382
42744
 
42383
42745
  /**
42384
42746
  * a reference to the app/game that registered this plugin
@@ -42449,7 +42811,7 @@ function patch(proto, name, fn) {
42449
42811
  * Register a plugin.
42450
42812
  * @name register
42451
42813
  * @memberof plugin
42452
- * @param {plugin.BasePlugin} plugin - Plugin object to instantiate and register
42814
+ * @param {BasePlugin} plugin - Plugin object to instantiate and register
42453
42815
  * @param {string} [name=plugin.constructor.name] - a unique name for this plugin
42454
42816
  * @param {...*} [args] - all extra parameters will be passed to the plugin constructor
42455
42817
  * @example
@@ -42706,7 +43068,7 @@ WebGLRenderer.prototype.setLineWidth = function(width) {
42706
43068
  * @name version
42707
43069
  * @type {string}
42708
43070
  */
42709
- const version = "17.3.0";
43071
+ const version = "17.4.0";
42710
43072
 
42711
43073
  /**
42712
43074
  * a flag indicating that melonJS is fully initialized