melonjs 15.2.1 → 15.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 (291) hide show
  1. package/README.md +1 -1
  2. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  6. package/dist/melonjs.mjs/application/application.js +75 -23
  7. package/dist/melonjs.mjs/application/header.js +2 -2
  8. package/dist/melonjs.mjs/application/resize.js +13 -11
  9. package/dist/melonjs.mjs/application/settings.js +37 -1
  10. package/dist/melonjs.mjs/audio/audio.js +4 -6
  11. package/dist/melonjs.mjs/camera/camera2d.js +12 -14
  12. package/dist/melonjs.mjs/const.js +1 -1
  13. package/dist/melonjs.mjs/entity/entity.js +3 -4
  14. package/dist/melonjs.mjs/geometries/ellipse.js +26 -59
  15. package/dist/melonjs.mjs/geometries/line.js +18 -25
  16. package/dist/melonjs.mjs/geometries/path2d.js +16 -13
  17. package/dist/melonjs.mjs/geometries/point.js +8 -16
  18. package/dist/melonjs.mjs/geometries/poly.js +40 -97
  19. package/dist/melonjs.mjs/geometries/rectangle.js +37 -91
  20. package/dist/melonjs.mjs/geometries/roundrect.js +26 -35
  21. package/dist/melonjs.mjs/index.js +6 -6
  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 +3 -3
  25. package/dist/melonjs.mjs/input/pointer.js +4 -4
  26. package/dist/melonjs.mjs/input/pointerevent.js +6 -7
  27. package/dist/melonjs.mjs/lang/console.js +1 -1
  28. package/dist/melonjs.mjs/lang/deprecated.js +2 -2
  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 +16 -33
  32. package/dist/melonjs.mjs/level/tiled/TMXObject.js +3 -4
  33. package/dist/melonjs.mjs/level/tiled/TMXTile.js +4 -4
  34. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +3 -3
  35. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +4 -7
  36. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +2 -2
  37. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +37 -47
  38. package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +3 -3
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +2 -2
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +2 -2
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +2 -2
  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 +1 -1
  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/parser.js +4 -5
  50. package/dist/melonjs.mjs/loader/settings.js +1 -1
  51. package/dist/melonjs.mjs/math/color.js +5 -5
  52. package/dist/melonjs.mjs/math/math.js +1 -1
  53. package/dist/melonjs.mjs/math/matrix2.js +5 -59
  54. package/dist/melonjs.mjs/math/matrix3.js +82 -141
  55. package/dist/melonjs.mjs/math/observable_vector2.js +7 -7
  56. package/dist/melonjs.mjs/math/observable_vector3.js +5 -5
  57. package/dist/melonjs.mjs/math/vector2.js +7 -91
  58. package/dist/melonjs.mjs/math/vector3.js +6 -90
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  64. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  65. package/dist/melonjs.mjs/particles/emitter.js +2 -2
  66. package/dist/melonjs.mjs/particles/particle.js +2 -2
  67. package/dist/melonjs.mjs/particles/settings.js +1 -1
  68. package/dist/melonjs.mjs/physics/body.js +22 -20
  69. package/dist/melonjs.mjs/physics/bounds.js +27 -33
  70. package/dist/melonjs.mjs/physics/collision.js +5 -5
  71. package/dist/melonjs.mjs/physics/detector.js +10 -10
  72. package/dist/melonjs.mjs/physics/quadtree.js +5 -5
  73. package/dist/melonjs.mjs/physics/response.js +1 -1
  74. package/dist/melonjs.mjs/physics/sat.js +3 -4
  75. package/dist/melonjs.mjs/physics/world.js +6 -9
  76. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  77. package/dist/melonjs.mjs/renderable/collectable.js +2 -2
  78. package/dist/melonjs.mjs/renderable/colorlayer.js +4 -4
  79. package/dist/melonjs.mjs/renderable/container.js +25 -25
  80. package/dist/melonjs.mjs/renderable/draggable.js +1 -1
  81. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  82. package/dist/melonjs.mjs/renderable/imagelayer.js +4 -4
  83. package/dist/melonjs.mjs/renderable/light2d.js +3 -3
  84. package/dist/melonjs.mjs/renderable/nineslicesprite.js +2 -2
  85. package/dist/melonjs.mjs/renderable/renderable.js +31 -39
  86. package/dist/melonjs.mjs/renderable/sprite.js +3 -3
  87. package/dist/melonjs.mjs/renderable/text/bitmaptext.js +421 -0
  88. package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +195 -0
  89. package/dist/melonjs.mjs/renderable/text/glyph.js +65 -0
  90. package/dist/melonjs.mjs/renderable/text/text.js +422 -0
  91. package/dist/melonjs.mjs/renderable/text/textmetrics.js +175 -0
  92. package/dist/melonjs.mjs/renderable/text/textstyle.js +21 -0
  93. package/dist/melonjs.mjs/renderable/trigger.js +10 -10
  94. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +7 -7
  95. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +7 -7
  96. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +3 -3
  97. package/dist/melonjs.mjs/state/stage.js +13 -14
  98. package/dist/melonjs.mjs/state/state.js +4 -51
  99. package/dist/melonjs.mjs/system/device.js +51 -10
  100. package/dist/melonjs.mjs/system/dom.js +1 -1
  101. package/dist/melonjs.mjs/system/event.js +46 -2
  102. package/dist/melonjs.mjs/system/platform.js +18 -18
  103. package/dist/melonjs.mjs/system/pooling.js +10 -10
  104. package/dist/melonjs.mjs/system/save.js +1 -1
  105. package/dist/melonjs.mjs/system/timer.js +1 -1
  106. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  107. package/dist/melonjs.mjs/text/bitmaptextdata.js +3 -6
  108. package/dist/melonjs.mjs/text/glyph.js +1 -1
  109. package/dist/melonjs.mjs/text/text.js +1 -1
  110. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  111. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  112. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  113. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  114. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  115. package/dist/melonjs.mjs/utils/agent.js +1 -1
  116. package/dist/melonjs.mjs/utils/array.js +1 -1
  117. package/dist/melonjs.mjs/utils/file.js +1 -1
  118. package/dist/melonjs.mjs/utils/function.js +2 -3
  119. package/dist/melonjs.mjs/utils/string.js +1 -1
  120. package/dist/melonjs.mjs/utils/utils.js +1 -1
  121. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +5 -18
  122. package/dist/melonjs.mjs/video/renderer.js +17 -30
  123. package/dist/melonjs.mjs/video/texture/atlas.js +13 -13
  124. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  125. package/dist/melonjs.mjs/video/texture/canvas_texture.js +15 -15
  126. package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
  127. package/dist/melonjs.mjs/video/video.js +5 -29
  128. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +3 -3
  129. package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +13 -14
  130. package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +5 -5
  131. package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +2 -3
  132. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -2
  133. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  134. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  135. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  136. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  137. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  138. package/dist/melonjs.mjs/video/webgl/utils/precision.js +4 -4
  139. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  140. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  141. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  142. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +62 -67
  143. package/dist/melonjs.module.js +1272 -1713
  144. package/dist/types/application/application.d.ts +32 -31
  145. package/dist/types/application/header.d.ts +2 -2
  146. package/dist/types/application/settings.d.ts +80 -16
  147. package/dist/types/audio/audio.d.ts +4 -6
  148. package/dist/types/camera/camera2d.d.ts +13 -16
  149. package/dist/types/entity/entity.d.ts +0 -1
  150. package/dist/types/geometries/ellipse.d.ts +18 -50
  151. package/dist/types/geometries/path2d.d.ts +1 -1
  152. package/dist/types/geometries/point.d.ts +5 -13
  153. package/dist/types/geometries/poly.d.ts +26 -75
  154. package/dist/types/geometries/rectangle.d.ts +12 -58
  155. package/dist/types/geometries/roundrect.d.ts +2 -11
  156. package/dist/types/index.d.ts +3 -3
  157. package/dist/types/input/gamepad.d.ts +31 -31
  158. package/dist/types/input/keyboard.d.ts +105 -105
  159. package/dist/types/input/pointer.d.ts +21 -21
  160. package/dist/types/input/pointerevent.d.ts +6 -6
  161. package/dist/types/level/tiled/TMXLayer.d.ts +1 -1
  162. package/dist/types/level/tiled/TMXUtils.d.ts +4 -6
  163. package/dist/types/math/matrix2.d.ts +9 -63
  164. package/dist/types/math/matrix3.d.ts +9 -68
  165. package/dist/types/math/observable_vector2.d.ts +2 -2
  166. package/dist/types/math/observable_vector3.d.ts +2 -2
  167. package/dist/types/math/vector2.d.ts +8 -92
  168. package/dist/types/math/vector3.d.ts +8 -92
  169. package/dist/types/particles/settings.d.ts +29 -29
  170. package/dist/types/physics/body.d.ts +10 -8
  171. package/dist/types/physics/bounds.d.ts +24 -30
  172. package/dist/types/physics/collision.d.ts +12 -12
  173. package/dist/types/physics/detector.d.ts +1 -1
  174. package/dist/types/physics/world.d.ts +4 -7
  175. package/dist/types/renderable/container.d.ts +19 -19
  176. package/dist/types/renderable/imagelayer.d.ts +6 -6
  177. package/dist/types/renderable/light2d.d.ts +7 -7
  178. package/dist/types/renderable/renderable.d.ts +10 -18
  179. package/dist/types/renderable/text/bitmaptext.d.ts +151 -0
  180. package/dist/types/renderable/text/bitmaptextdata.d.ts +35 -0
  181. package/dist/types/renderable/text/glyph.d.ts +28 -0
  182. package/dist/types/renderable/text/text.d.ts +159 -0
  183. package/dist/types/renderable/text/textmetrics.d.ts +47 -0
  184. package/dist/types/renderable/text/textstyle.d.ts +5 -0
  185. package/dist/types/renderable/ui/uibaseelement.d.ts +0 -1
  186. package/dist/types/renderable/ui/uispriteelement.d.ts +0 -1
  187. package/dist/types/renderable/ui/uitextbutton.d.ts +2 -7
  188. package/dist/types/state/stage.d.ts +3 -2
  189. package/dist/types/state/state.d.ts +11 -11
  190. package/dist/types/system/device.d.ts +16 -9
  191. package/dist/types/system/event.d.ts +40 -0
  192. package/dist/types/system/platform.d.ts +17 -17
  193. package/dist/types/utils/function.d.ts +1 -2
  194. package/dist/types/video/canvas/canvas_renderer.d.ts +0 -23
  195. package/dist/types/video/renderer.d.ts +16 -43
  196. package/dist/types/video/texture/canvas_texture.d.ts +14 -14
  197. package/dist/types/video/video.d.ts +4 -38
  198. package/dist/types/video/webgl/buffer/vertex.d.ts +2 -2
  199. package/dist/types/video/webgl/compositors/compositor.d.ts +24 -13
  200. package/dist/types/video/webgl/compositors/primitive_compositor.d.ts +0 -1
  201. package/dist/types/video/webgl/compositors/quad_compositor.d.ts +0 -1
  202. package/dist/types/video/webgl/utils/precision.d.ts +1 -1
  203. package/dist/types/video/webgl/webgl_renderer.d.ts +48 -84
  204. package/package.json +15 -15
  205. package/src/application/application.js +73 -21
  206. package/src/application/header.js +1 -1
  207. package/src/application/resize.js +11 -9
  208. package/src/application/settings.js +36 -0
  209. package/src/audio/audio.js +3 -5
  210. package/src/camera/camera2d.js +11 -13
  211. package/src/entity/entity.js +2 -3
  212. package/src/geometries/ellipse.js +25 -58
  213. package/src/geometries/line.js +17 -24
  214. package/src/geometries/path2d.js +15 -12
  215. package/src/geometries/point.js +7 -15
  216. package/src/geometries/poly.js +39 -96
  217. package/src/geometries/rectangle.js +36 -90
  218. package/src/geometries/roundrect.js +25 -34
  219. package/src/index.js +4 -4
  220. package/src/input/keyboard.js +2 -2
  221. package/src/input/pointer.js +3 -3
  222. package/src/input/pointerevent.js +5 -6
  223. package/src/lang/deprecated.js +1 -1
  224. package/src/level/tiled/TMXLayer.js +15 -32
  225. package/src/level/tiled/TMXObject.js +2 -3
  226. package/src/level/tiled/TMXTile.js +3 -3
  227. package/src/level/tiled/TMXTileMap.js +2 -2
  228. package/src/level/tiled/TMXTileset.js +3 -6
  229. package/src/level/tiled/TMXTilesetGroup.js +1 -1
  230. package/src/level/tiled/TMXUtils.js +36 -46
  231. package/src/level/tiled/renderer/TMXHexagonalRenderer.js +2 -2
  232. package/src/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  233. package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  234. package/src/level/tiled/renderer/TMXRenderer.js +1 -1
  235. package/src/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  236. package/src/loader/parser.js +3 -4
  237. package/src/math/color.js +4 -4
  238. package/src/math/matrix2.js +4 -58
  239. package/src/math/matrix3.js +81 -140
  240. package/src/math/observable_vector2.js +6 -6
  241. package/src/math/observable_vector3.js +4 -4
  242. package/src/math/vector2.js +6 -90
  243. package/src/math/vector3.js +5 -89
  244. package/src/particles/emitter.js +1 -1
  245. package/src/particles/particle.js +1 -1
  246. package/src/physics/body.js +21 -19
  247. package/src/physics/bounds.js +26 -32
  248. package/src/physics/collision.js +4 -4
  249. package/src/physics/detector.js +9 -9
  250. package/src/physics/quadtree.js +4 -4
  251. package/src/physics/sat.js +2 -3
  252. package/src/physics/world.js +5 -8
  253. package/src/polyfill/roundrect.js +163 -163
  254. package/src/renderable/collectable.js +1 -1
  255. package/src/renderable/colorlayer.js +3 -3
  256. package/src/renderable/container.js +24 -24
  257. package/src/renderable/imagelayer.js +3 -3
  258. package/src/renderable/light2d.js +2 -2
  259. package/src/renderable/nineslicesprite.js +1 -1
  260. package/src/renderable/renderable.js +30 -38
  261. package/src/renderable/sprite.js +2 -2
  262. package/src/{text → renderable/text}/bitmaptext.js +8 -8
  263. package/src/{text → renderable/text}/bitmaptextdata.js +4 -7
  264. package/src/{text → renderable/text}/glyph.js +1 -1
  265. package/src/{text → renderable/text}/text.js +16 -17
  266. package/src/{text → renderable/text}/textmetrics.js +2 -2
  267. package/src/renderable/trigger.js +9 -9
  268. package/src/renderable/ui/uibaseelement.js +6 -6
  269. package/src/renderable/ui/uispriteelement.js +6 -6
  270. package/src/renderable/ui/uitextbutton.js +2 -2
  271. package/src/state/stage.js +12 -13
  272. package/src/state/state.js +2 -61
  273. package/src/system/device.js +50 -9
  274. package/src/system/event.js +44 -0
  275. package/src/system/platform.js +18 -18
  276. package/src/system/pooling.js +9 -9
  277. package/src/tweens/tween.js +1 -1
  278. package/src/utils/function.js +1 -2
  279. package/src/video/canvas/canvas_renderer.js +4 -17
  280. package/src/video/renderer.js +16 -29
  281. package/src/video/texture/atlas.js +12 -12
  282. package/src/video/texture/canvas_texture.js +14 -14
  283. package/src/video/video.js +7 -28
  284. package/src/video/webgl/buffer/vertex.js +2 -2
  285. package/src/video/webgl/compositors/compositor.js +12 -13
  286. package/src/video/webgl/compositors/primitive_compositor.js +4 -4
  287. package/src/video/webgl/compositors/quad_compositor.js +1 -2
  288. package/src/video/webgl/glshader.js +1 -1
  289. package/src/video/webgl/utils/precision.js +3 -3
  290. package/src/video/webgl/webgl_renderer.js +61 -66
  291. /package/src/{text → renderable/text}/textstyle.js +0 -0
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -12,7 +12,7 @@ import pool from '../system/pooling.js';
12
12
  * @classdesc
13
13
  * a generic 3D Vector Object
14
14
  */
15
- class Vector3d {
15
+ class Vector3d {
16
16
  /**
17
17
  * @param {number} [x=0] - x value of the vector
18
18
  * @param {number} [y=0] - y value of the vector
@@ -45,8 +45,6 @@ import pool from '../system/pooling.js';
45
45
 
46
46
  /**
47
47
  * set the Vector x and y properties to the given values<br>
48
- * @name set
49
- * @memberof Vector3d
50
48
  * @param {number} x
51
49
  * @param {number} y
52
50
  * @param {number} [z=0]
@@ -91,8 +89,6 @@ import pool from '../system/pooling.js';
91
89
 
92
90
  /**
93
91
  * set the Vector x and y properties to 0
94
- * @name setZero
95
- * @memberof Vector3d
96
92
  * @returns {Vector3d} Reference to this object for method chaining
97
93
  */
98
94
  setZero() {
@@ -101,8 +97,6 @@ import pool from '../system/pooling.js';
101
97
 
102
98
  /**
103
99
  * set the Vector x and y properties using the passed vector
104
- * @name setV
105
- * @memberof Vector3d
106
100
  * @param {Vector2d|Vector3d} v
107
101
  * @returns {Vector3d} Reference to this object for method chaining
108
102
  */
@@ -112,8 +106,6 @@ import pool from '../system/pooling.js';
112
106
 
113
107
  /**
114
108
  * Add the passed vector to this vector
115
- * @name add
116
- * @memberof Vector3d
117
109
  * @param {Vector2d|Vector3d} v
118
110
  * @returns {Vector3d} Reference to this object for method chaining
119
111
  */
@@ -123,8 +115,6 @@ import pool from '../system/pooling.js';
123
115
 
124
116
  /**
125
117
  * Substract the passed vector to this vector
126
- * @name sub
127
- * @memberof Vector3d
128
118
  * @param {Vector2d|Vector3d} v
129
119
  * @returns {Vector3d} Reference to this object for method chaining
130
120
  */
@@ -134,8 +124,6 @@ import pool from '../system/pooling.js';
134
124
 
135
125
  /**
136
126
  * Multiply this vector values by the given scalar
137
- * @name scale
138
- * @memberof Vector3d
139
127
  * @param {number} x
140
128
  * @param {number} [y=x]
141
129
  * @param {number} [z=1]
@@ -147,8 +135,6 @@ import pool from '../system/pooling.js';
147
135
 
148
136
  /**
149
137
  * Multiply this vector values by the passed vector
150
- * @name scaleV
151
- * @memberof Vector3d
152
138
  * @param {Vector2d|Vector3d} v
153
139
  * @returns {Vector3d} Reference to this object for method chaining
154
140
  */
@@ -158,8 +144,6 @@ import pool from '../system/pooling.js';
158
144
 
159
145
  /**
160
146
  * Convert this vector into isometric coordinate space
161
- * @name toIso
162
- * @memberof Vector3d
163
147
  * @returns {Vector3d} Reference to this object for method chaining
164
148
  */
165
149
  toIso() {
@@ -168,8 +152,6 @@ import pool from '../system/pooling.js';
168
152
 
169
153
  /**
170
154
  * Convert this vector into 2d coordinate space
171
- * @name to2d
172
- * @memberof Vector3d
173
155
  * @returns {Vector3d} Reference to this object for method chaining
174
156
  */
175
157
  to2d() {
@@ -178,8 +160,6 @@ import pool from '../system/pooling.js';
178
160
 
179
161
  /**
180
162
  * Divide this vector values by the passed value
181
- * @name div
182
- * @memberof Vector3d
183
163
  * @param {number} n - the value to divide the vector by
184
164
  * @returns {Vector3d} Reference to this object for method chaining
185
165
  */
@@ -189,8 +169,6 @@ import pool from '../system/pooling.js';
189
169
 
190
170
  /**
191
171
  * Update this vector values to absolute values
192
- * @name abs
193
- * @memberof Vector3d
194
172
  * @returns {Vector3d} Reference to this object for method chaining
195
173
  */
196
174
  abs() {
@@ -199,8 +177,6 @@ import pool from '../system/pooling.js';
199
177
 
200
178
  /**
201
179
  * Clamp the vector value within the specified value range
202
- * @name clamp
203
- * @memberof Vector3d
204
180
  * @param {number} low
205
181
  * @param {number} high
206
182
  * @returns {Vector3d} new me.Vector3d
@@ -211,8 +187,6 @@ import pool from '../system/pooling.js';
211
187
 
212
188
  /**
213
189
  * Clamp this vector value within the specified value range
214
- * @name clampSelf
215
- * @memberof Vector3d
216
190
  * @param {number} low
217
191
  * @param {number} high
218
192
  * @returns {Vector3d} Reference to this object for method chaining
@@ -223,8 +197,6 @@ import pool from '../system/pooling.js';
223
197
 
224
198
  /**
225
199
  * Update this vector with the minimum value between this and the passed vector
226
- * @name minV
227
- * @memberof Vector3d
228
200
  * @param {Vector2d|Vector3d} v
229
201
  * @returns {Vector3d} Reference to this object for method chaining
230
202
  */
@@ -235,8 +207,6 @@ import pool from '../system/pooling.js';
235
207
 
236
208
  /**
237
209
  * Update this vector with the maximum value between this and the passed vector
238
- * @name maxV
239
- * @memberof Vector3d
240
210
  * @param {Vector2d|Vector3d} v
241
211
  * @returns {Vector3d} Reference to this object for method chaining
242
212
  */
@@ -247,8 +217,6 @@ import pool from '../system/pooling.js';
247
217
 
248
218
  /**
249
219
  * Floor the vector values
250
- * @name floor
251
- * @memberof Vector3d
252
220
  * @returns {Vector3d} new me.Vector3d
253
221
  */
254
222
  floor() {
@@ -257,8 +225,6 @@ import pool from '../system/pooling.js';
257
225
 
258
226
  /**
259
227
  * Floor this vector values
260
- * @name floorSelf
261
- * @memberof Vector3d
262
228
  * @returns {Vector3d} Reference to this object for method chaining
263
229
  */
264
230
  floorSelf() {
@@ -267,8 +233,6 @@ import pool from '../system/pooling.js';
267
233
 
268
234
  /**
269
235
  * Ceil the vector values
270
- * @name ceil
271
- * @memberof Vector3d
272
236
  * @returns {Vector3d} new me.Vector3d
273
237
  */
274
238
  ceil() {
@@ -277,8 +241,6 @@ import pool from '../system/pooling.js';
277
241
 
278
242
  /**
279
243
  * Ceil this vector values
280
- * @name ceilSelf
281
- * @memberof Vector3d
282
244
  * @returns {Vector3d} Reference to this object for method chaining
283
245
  */
284
246
  ceilSelf() {
@@ -287,8 +249,6 @@ import pool from '../system/pooling.js';
287
249
 
288
250
  /**
289
251
  * Negate the vector values
290
- * @name negate
291
- * @memberof Vector3d
292
252
  * @returns {Vector3d} new me.Vector3d
293
253
  */
294
254
  negate() {
@@ -297,8 +257,6 @@ import pool from '../system/pooling.js';
297
257
 
298
258
  /**
299
259
  * Negate this vector values
300
- * @name negateSelf
301
- * @memberof Vector3d
302
260
  * @returns {Vector3d} Reference to this object for method chaining
303
261
  */
304
262
  negateSelf() {
@@ -307,8 +265,6 @@ import pool from '../system/pooling.js';
307
265
 
308
266
  /**
309
267
  * Copy the components of the given vector into this one
310
- * @name copy
311
- * @memberof Vector3d
312
268
  * @param {Vector2d|Vector3d} v
313
269
  * @returns {Vector3d} Reference to this object for method chaining
314
270
  */
@@ -317,19 +273,9 @@ import pool from '../system/pooling.js';
317
273
  }
318
274
 
319
275
  /**
320
- * return true if the two vectors are the same
321
- * @name equals
322
- * @memberof Vector3d
323
- * @method
324
- * @param {Vector2d|Vector3d} v
325
- * @returns {boolean}
326
- */
327
- /**
328
- * return true if this vector is equal to the given values
329
- * @name equals
330
- * @memberof Vector3d
331
- * @param {number} x
332
- * @param {number} y
276
+ * return true if this vector is equal to the given values or vector
277
+ * @param {number|Vector2d|ObservableVector2d|Vector3d|ObservableVector3d} x
278
+ * @param {number} [y]
333
279
  * @param {number} [z]
334
280
  * @returns {boolean}
335
281
  */
@@ -356,8 +302,6 @@ import pool from '../system/pooling.js';
356
302
 
357
303
  /**
358
304
  * normalize this vector (scale the vector so that its magnitude is 1)
359
- * @name normalize
360
- * @memberof Vector3d
361
305
  * @returns {Vector3d} Reference to this object for method chaining
362
306
  */
363
307
  normalize() {
@@ -367,8 +311,6 @@ import pool from '../system/pooling.js';
367
311
  /**
368
312
  * change this vector to be perpendicular to what it was before.<br>
369
313
  * (Effectively rotates it 90 degrees in a clockwise direction around the z axis)
370
- * @name perp
371
- * @memberof Vector3d
372
314
  * @returns {Vector3d} Reference to this object for method chaining
373
315
  */
374
316
  perp() {
@@ -377,8 +319,6 @@ import pool from '../system/pooling.js';
377
319
 
378
320
  /**
379
321
  * Rotate this vector (counter-clockwise) by the specified angle (in radians) around the z axis
380
- * @name rotate
381
- * @memberof Vector3d
382
322
  * @param {number} angle - The angle to rotate (in radians)
383
323
  * @param {Vector2d|ObservableVector2d} [v] - an optional point to rotate around (on the same z axis)
384
324
  * @returns {Vector3d} Reference to this object for method chaining
@@ -404,8 +344,6 @@ import pool from '../system/pooling.js';
404
344
 
405
345
  /**
406
346
  * return the dot product of this vector and the passed one
407
- * @name dot
408
- * @memberof Vector3d
409
347
  * @param {Vector2d|Vector3d} v
410
348
  * @returns {number} The dot product.
411
349
  */
@@ -415,8 +353,6 @@ import pool from '../system/pooling.js';
415
353
 
416
354
  /**
417
355
  * calculate the cross product of this vector and the passed one
418
- * @name cross
419
- * @memberof Vector3d
420
356
  * @param {Vector3d} v
421
357
  * @returns {Vector3d} Reference to this object for method chaining
422
358
  */
@@ -431,10 +367,8 @@ import pool from '../system/pooling.js';
431
367
  return this;
432
368
  }
433
369
 
434
- /**
370
+ /**
435
371
  * return the square length of this vector
436
- * @name length2
437
- * @memberof Vector3d
438
372
  * @returns {number} The length^2 of this vector.
439
373
  */
440
374
  length2() {
@@ -443,8 +377,6 @@ import pool from '../system/pooling.js';
443
377
 
444
378
  /**
445
379
  * return the length (magnitude) of this vector
446
- * @name length
447
- * @memberof Vector3d
448
380
  * @returns {number} the length of this vector
449
381
  */
450
382
  length() {
@@ -453,8 +385,6 @@ import pool from '../system/pooling.js';
453
385
 
454
386
  /**
455
387
  * Linearly interpolate between this vector and the given one.
456
- * @name lerp
457
- * @memberof Vector3d
458
388
  * @param {Vector3d} v
459
389
  * @param {number} alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
460
390
  * @returns {Vector3d} Reference to this object for method chaining
@@ -468,8 +398,6 @@ import pool from '../system/pooling.js';
468
398
 
469
399
  /**
470
400
  * interpolate the position of this vector on the x and y axis towards the given one by the given maximum step.
471
- * @name moveTowards
472
- * @memberof Vector3d
473
401
  * @param {Vector2d|Vector3d} target
474
402
  * @param {number} step - the maximum step per iteration (Negative values will push the vector away from the target)
475
403
  * @returns {Vector3d} Reference to this object for method chaining
@@ -494,8 +422,6 @@ import pool from '../system/pooling.js';
494
422
 
495
423
  /**
496
424
  * return the distance between this vector and the passed one
497
- * @name distance
498
- * @memberof Vector3d
499
425
  * @param {Vector2d|Vector3d} v
500
426
  * @returns {number}
501
427
  */
@@ -508,8 +434,6 @@ import pool from '../system/pooling.js';
508
434
 
509
435
  /**
510
436
  * return the angle between this vector and the passed one
511
- * @name angle
512
- * @memberof Vector3d
513
437
  * @param {Vector2d|Vector3d} v
514
438
  * @returns {number} angle in radians
515
439
  */
@@ -519,8 +443,6 @@ import pool from '../system/pooling.js';
519
443
 
520
444
  /**
521
445
  * project this vector on to another vector.
522
- * @name project
523
- * @memberof Vector3d
524
446
  * @param {Vector2d|Vector3d} v - The vector to project onto.
525
447
  * @returns {Vector3d} Reference to this object for method chaining
526
448
  */
@@ -532,8 +454,6 @@ import pool from '../system/pooling.js';
532
454
  /**
533
455
  * Project this vector onto a vector of unit length.<br>
534
456
  * This is slightly more efficient than `project` when dealing with unit vectors.
535
- * @name projectN
536
- * @memberof Vector3d
537
457
  * @param {Vector2d|Vector3d} v - The unit vector to project onto.
538
458
  * @returns {Vector3d} Reference to this object for method chaining
539
459
  */
@@ -544,8 +464,6 @@ import pool from '../system/pooling.js';
544
464
 
545
465
  /**
546
466
  * return a clone copy of this vector
547
- * @name clone
548
- * @memberof Vector3d
549
467
  * @returns {Vector3d} new me.Vector3d
550
468
  */
551
469
  clone() {
@@ -554,8 +472,6 @@ import pool from '../system/pooling.js';
554
472
 
555
473
  /**
556
474
  * convert the object to a string representation
557
- * @name toString
558
- * @memberof Vector3d
559
475
  * @returns {string}
560
476
  */
561
477
  toString() {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -27,7 +27,7 @@ function createDefaultParticleTexture(w = 8, h = 8) {
27
27
  * Particle Emitter Object.
28
28
  * @augments Container
29
29
  */
30
- class ParticleEmitter extends Container {
30
+ class ParticleEmitter extends Container {
31
31
  /**
32
32
  * @param {number} x - x position of the particle emitter
33
33
  * @param {number} y - y position of the particle emitter
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -15,7 +15,7 @@ import Renderable from '../renderable/renderable.js';
15
15
  * Single Particle Object.
16
16
  * @augments Renderable
17
17
  */
18
- class Particle extends Renderable {
18
+ class Particle extends Renderable {
19
19
  /**
20
20
  * @param {ParticleEmitter} emitter - the particle emitter
21
21
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -21,7 +21,7 @@ import Point from '../geometries/point.js';
21
21
  * a Generic Physic Body Object with some physic properties and behavior functionality, to as a member of a Renderable.
22
22
  * @see Renderable.body
23
23
  */
24
- class Body {
24
+ class Body {
25
25
  /**
26
26
  * @param {Renderable|Container|Entity|Sprite|NineSliceSprite} ancestor - the parent object this body is attached to
27
27
  * @param {Rect|Rect[]|Polygon|Polygon[]|Line|Line[]|Ellipse|Ellipse[]|Point|Point[]|Bounds|Bounds[]|object} [shapes] - a initial shape, list of shapes, or JSON object defining the body
@@ -523,32 +523,34 @@ import Point from '../geometries/point.js';
523
523
 
524
524
  /**
525
525
  * Returns true if the any of the shape composing the body contains the given point.
526
- * @method Body#contains
527
- * @param {Vector2d} point
528
- * @returns {boolean} true if contains
529
- */
530
- /**
531
- * Returns true if the any of the shape composing the body contains the given point.
532
- * @param {number} x - x coordinate
533
- * @param {number} y - y coordinate
526
+ * @param {number|Vector2d} x - x coordinate or a vector point to check
527
+ * @param {number} [y] - y coordinate
534
528
  * @returns {boolean} true if contains
529
+ * @example
530
+ * if (mySprite.body.contains(10, 10)) {
531
+ * // do something
532
+ * }
533
+ * // or
534
+ * if (mySprite.body.contains(myVector2d)) {
535
+ * // do something
536
+ * }
535
537
  */
536
538
  contains() {
537
539
  let _x, _y;
538
540
 
539
541
  if (arguments.length === 2) {
540
- // x, y
541
- _x = arguments[0];
542
- _y = arguments[1];
542
+ // x, y
543
+ _x = arguments[0];
544
+ _y = arguments[1];
543
545
  } else {
544
- // vector
545
- _x = arguments[0].x;
546
- _y = arguments[0].y;
546
+ // vector
547
+ _x = arguments[0].x;
548
+ _y = arguments[0].y;
547
549
  }
548
550
 
549
551
  if (this.getBounds().contains(_x, _y)) {
550
- // cannot use forEach here as cannot break out with a return
551
- for (let i = this.shapes.length, shape; i--, (shape = this.shapes[i]);) {
552
+ // cannot use forEach here as cannot break out with a return
553
+ for (let i = this.shapes.length, shape; i--, (shape = this.shapes[i]);) {
552
554
  if (shape.contains(_x, _y)) {
553
555
  return true;
554
556
  }
@@ -640,7 +642,7 @@ import Point from '../geometries/point.js';
640
642
 
641
643
  this.vel.x = (
642
644
  (nx < 0) ? nx :
643
- ( x > 0) ? x : 0
645
+ ( x > 0) ? x : 0
644
646
  );
645
647
  }
646
648
  if (this.friction.y > 0) {
@@ -650,7 +652,7 @@ import Point from '../geometries/point.js';
650
652
 
651
653
  this.vel.y = (
652
654
  (ny < 0) ? ny :
653
- ( y > 0) ? y : 0
655
+ ( y > 0) ? y : 0
654
656
  );
655
657
  }
656
658
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -12,7 +12,7 @@ import Vector2d from '../math/vector2.js';
12
12
  * @classdesc
13
13
  * a bound object contains methods for creating and manipulating axis-aligned bounding boxes (AABB).
14
14
  */
15
- class Bounds {
15
+ class Bounds {
16
16
  /**
17
17
  * @param {Vector2d[]|Point[]} [vertices] - an array of Vector2d or Point
18
18
  */
@@ -261,17 +261,17 @@ import Vector2d from '../math/vector2.js';
261
261
 
262
262
  /**
263
263
  * Returns true if the bounds contains the given point.
264
- * @name contains
265
- * @memberof Bounds
266
- * @method
267
- * @param {Vector2d} point
268
- * @returns {boolean} True if the bounds contain the point, otherwise false
269
- */
270
- /**
271
- * Returns true if the bounds contains the given point.
272
- * @param {number} x
273
- * @param {number} y
264
+ * @param {number|Vector2d} x - x coordinate or a vector point to check
265
+ * @param {number} [y] - y coordinate
274
266
  * @returns {boolean} True if the bounds contain the point, otherwise false
267
+ * @example
268
+ * if (bounds.contains(10, 10)) {
269
+ * // do something
270
+ * }
271
+ * // or
272
+ * if (bounds.contains(myVector2d)) {
273
+ * // do something
274
+ * }
275
275
  */
276
276
  contains() {
277
277
  let arg0 = arguments[0];
@@ -281,8 +281,8 @@ import Vector2d from '../math/vector2.js';
281
281
  _x1 = _x2 = arg0;
282
282
  _y1 = _y2 = arguments[1];
283
283
  } else {
284
- if (arg0 instanceof Bounds) {
285
- // bounds
284
+ if (typeof arg0.max !== "undefined") {
285
+ // only bounds define min and max properties
286
286
  _x1 = arg0.min.x;
287
287
  _x2 = arg0.max.x;
288
288
  _y1 = arg0.min.y;
@@ -317,16 +317,13 @@ import Vector2d from '../math/vector2.js';
317
317
  }
318
318
 
319
319
  /**
320
- * Translates the bounds by the given vector.
321
- * @name translate
322
- * @memberof Bounds
323
- * @method
324
- * @param {Vector2d} vector
325
- */
326
- /**
327
- * Translates the bounds by x on the x axis, and y on the y axis
328
- * @param {number} x
329
- * @param {number} y
320
+ * Translates the bounds by the given point
321
+ * @param {number|Vector2d} x - x coordinate or a vector point to translate by
322
+ * @param {number} [y]
323
+ * @example
324
+ * bounds.translate(10, 10);
325
+ * // or
326
+ * bounds.translate(myVector2d);
330
327
  */
331
328
  translate() {
332
329
  let _x, _y;
@@ -345,17 +342,14 @@ import Vector2d from '../math/vector2.js';
345
342
  this.max.y += _y;
346
343
  }
347
344
 
348
- /**
349
- * Shifts the bounds to the given position vector.
350
- * @name shift
351
- * @memberof Bounds
352
- * @method
353
- * @param {Vector2d} position
354
- */
355
345
  /**
356
346
  * Shifts the bounds to the given x, y position.
357
- * @param {number} x
358
- * @param {number} y
347
+ * @param {number|Vector2d} x - x coordinate or a vector point to shift to
348
+ * @param {number} [y]
349
+ * @example
350
+ * bounds.shift(10, 10);
351
+ * // or
352
+ * bounds.shift(myVector2d);
359
353
  */
360
354
  shift() {
361
355
  let _x, _y;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * melonJS Game Engine - v15.2.1
2
+ * melonJS Game Engine - v15.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
@@ -15,7 +15,7 @@ import { game } from '../index.js';
15
15
 
16
16
  let collision = {
17
17
 
18
- /**
18
+ /**
19
19
  * The maximum number of children that a quadtree node can contain before it is split into sub-nodes.
20
20
  * @name maxChildren
21
21
  * @memberof collision
@@ -24,9 +24,9 @@ let collision = {
24
24
  * @default 8
25
25
  * @see game.world.broadphase
26
26
  */
27
- maxChildren : 8,
27
+ maxChildren : 8,
28
28
 
29
- /**
29
+ /**
30
30
  * The maximum number of levels that the quadtree will create.
31
31
  * @name maxDepth
32
32
  * @memberof collision
@@ -35,7 +35,7 @@ let collision = {
35
35
  * @default 4
36
36
  * @see game.world.broadphase
37
37
  */
38
- maxDepth : 4,
38
+ maxDepth : 4,
39
39
 
40
40
  /**
41
41
  * Enum for collision type values.