melonjs 17.1.0 → 17.3.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.
- package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
- package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
- package/dist/melonjs.mjs/_virtual/howler.js +1 -1
- package/dist/melonjs.mjs/_virtual/index.js +1 -1
- package/dist/melonjs.mjs/_virtual/re.js +1 -1
- package/dist/melonjs.mjs/application/application.js +7 -7
- package/dist/melonjs.mjs/application/header.js +2 -2
- package/dist/melonjs.mjs/application/resize.js +1 -1
- package/dist/melonjs.mjs/application/settings.js +29 -32
- package/dist/melonjs.mjs/audio/audio.js +13 -9
- package/dist/melonjs.mjs/camera/camera2d.js +1 -1
- package/dist/melonjs.mjs/const.js +1 -1
- package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
- package/dist/melonjs.mjs/geometries/line.js +1 -1
- package/dist/melonjs.mjs/geometries/path2d.js +17 -17
- package/dist/melonjs.mjs/geometries/point.js +1 -1
- package/dist/melonjs.mjs/geometries/poly.js +1 -1
- package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
- package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
- package/dist/melonjs.mjs/geometries/toarccanvas.js +1 -1
- package/dist/melonjs.mjs/index.js +4 -4
- package/dist/melonjs.mjs/input/gamepad.js +1 -1
- package/dist/melonjs.mjs/input/input.js +1 -1
- package/dist/melonjs.mjs/input/keyboard.js +1 -1
- package/dist/melonjs.mjs/input/pointer.js +1 -1
- package/dist/melonjs.mjs/input/pointerevent.js +1 -1
- package/dist/melonjs.mjs/lang/console.js +1 -1
- package/dist/melonjs.mjs/lang/deprecated.js +29 -2
- package/dist/melonjs.mjs/level/level.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXLayer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXObject.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +2 -2
- package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
- package/dist/melonjs.mjs/level/tiled/TMXUtils.js +3 -3
- package/dist/melonjs.mjs/level/tiled/constants.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +5 -5
- package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +3 -3
- package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
- package/dist/melonjs.mjs/level/tiled/renderer/autodetect.js +1 -1
- package/dist/melonjs.mjs/loader/cache.js +5 -2
- package/dist/melonjs.mjs/loader/loader.js +34 -5
- package/dist/melonjs.mjs/loader/loadingscreen.js +2 -4
- package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/binary.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/compressed_image.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseDDS.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parseKTX2.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePKM.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/compressed_textures/parsePVR.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/fetchdata.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/fontface.js +25 -15
- package/dist/melonjs.mjs/loader/parsers/image.js +3 -3
- package/dist/melonjs.mjs/loader/parsers/json.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/script.js +1 -1
- package/dist/melonjs.mjs/loader/parsers/tmx.js +2 -9
- package/dist/melonjs.mjs/loader/parsers/video.js +1 -1
- package/dist/melonjs.mjs/math/color.js +6 -6
- package/dist/melonjs.mjs/math/math.js +1 -1
- package/dist/melonjs.mjs/math/matrix2.js +7 -7
- package/dist/melonjs.mjs/math/matrix3.js +2 -2
- package/dist/melonjs.mjs/math/observable_vector2.js +3 -3
- package/dist/melonjs.mjs/math/observable_vector3.js +4 -4
- package/dist/melonjs.mjs/math/vector2.js +3 -3
- package/dist/melonjs.mjs/math/vector3.js +4 -4
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/arraymultimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/esm/multimap.js +1 -1
- package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
- package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/classes/comparator.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/classes/range.js +6 -5
- package/dist/melonjs.mjs/node_modules/semver/classes/semver.js +2 -2
- package/dist/melonjs.mjs/node_modules/semver/functions/clean.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/cmp.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/coerce.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-build.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/compare-loose.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/compare.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/diff.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/eq.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/gt.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/gte.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/inc.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/lt.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/lte.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/major.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/minor.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/neq.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/parse.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/patch.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/prerelease.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/rcompare.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/rsort.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/satisfies.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/sort.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/functions/valid.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/index.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/constants.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/debug.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/identifiers.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/lrucache.js +49 -0
- package/dist/melonjs.mjs/node_modules/semver/internal/parse-options.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/internal/re.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/gtr.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/intersects.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/ltr.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/max-satisfying.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-satisfying.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/min-version.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/outside.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/simplify.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/subset.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/to-comparators.js +1 -1
- package/dist/melonjs.mjs/node_modules/semver/ranges/valid.js +1 -1
- package/dist/melonjs.mjs/particles/emitter.js +1 -1
- package/dist/melonjs.mjs/particles/particle.js +1 -1
- package/dist/melonjs.mjs/particles/settings.js +1 -1
- package/dist/melonjs.mjs/physics/body.js +4 -4
- package/dist/melonjs.mjs/physics/bounds.js +1 -1
- package/dist/melonjs.mjs/physics/collision.js +1 -1
- package/dist/melonjs.mjs/physics/detector.js +2 -2
- package/dist/melonjs.mjs/physics/quadtree.js +1 -1
- package/dist/melonjs.mjs/physics/response.js +1 -1
- package/dist/melonjs.mjs/physics/sat.js +1 -1
- package/dist/melonjs.mjs/physics/world.js +2 -2
- package/dist/melonjs.mjs/plugin/plugin.js +3 -3
- package/dist/melonjs.mjs/renderable/collectable.js +1 -1
- package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
- package/dist/melonjs.mjs/renderable/container.js +2 -2
- package/dist/melonjs.mjs/renderable/draggable.js +1 -1
- package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
- package/dist/melonjs.mjs/renderable/entity/entity.js +1 -1
- package/dist/melonjs.mjs/renderable/imagelayer.js +1 -1
- package/dist/melonjs.mjs/renderable/light2d.js +7 -7
- package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
- package/dist/melonjs.mjs/renderable/renderable.js +1 -1
- package/dist/melonjs.mjs/renderable/sprite.js +1 -1
- package/dist/melonjs.mjs/renderable/text/bitmaptext.js +1 -1
- package/dist/melonjs.mjs/renderable/text/bitmaptextdata.js +1 -1
- package/dist/melonjs.mjs/renderable/text/glyph.js +1 -1
- package/dist/melonjs.mjs/renderable/text/text.js +1 -1
- package/dist/melonjs.mjs/renderable/text/textmetrics.js +1 -1
- package/dist/melonjs.mjs/renderable/text/textstyle.js +1 -1
- package/dist/melonjs.mjs/renderable/trigger.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
- package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
- package/dist/melonjs.mjs/state/stage.js +1 -1
- package/dist/melonjs.mjs/state/state.js +5 -5
- package/dist/melonjs.mjs/system/device.js +6 -6
- package/dist/melonjs.mjs/system/dom.js +1 -1
- package/dist/melonjs.mjs/system/event.js +1 -1
- package/dist/melonjs.mjs/system/platform.js +4 -2
- package/dist/melonjs.mjs/system/pooling.js +2 -2
- package/dist/melonjs.mjs/system/save.js +2 -2
- package/dist/melonjs.mjs/system/timer.js +2 -2
- package/dist/melonjs.mjs/tweens/easing.js +68 -70
- package/dist/melonjs.mjs/tweens/interpolation.js +29 -29
- package/dist/melonjs.mjs/tweens/tween.js +43 -43
- package/dist/melonjs.mjs/utils/agent.js +1 -1
- package/dist/melonjs.mjs/utils/array.js +1 -1
- package/dist/melonjs.mjs/utils/file.js +1 -1
- package/dist/melonjs.mjs/utils/function.js +1 -1
- package/dist/melonjs.mjs/utils/string.js +1 -1
- package/dist/melonjs.mjs/utils/utils.js +1 -1
- package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +18 -10
- package/dist/melonjs.mjs/video/renderer.js +18 -70
- package/dist/melonjs.mjs/video/rendertarget/canvasrendertarget.js +12 -6
- package/dist/melonjs.mjs/video/texture/atlas.js +13 -4
- package/dist/melonjs.mjs/video/texture/cache.js +57 -38
- package/dist/melonjs.mjs/video/texture/parser/aseprite.js +1 -1
- package/dist/melonjs.mjs/video/texture/parser/spritesheet.js +1 -1
- package/dist/melonjs.mjs/video/texture/parser/texturepacker.js +1 -1
- package/dist/melonjs.mjs/video/utils/autodetect.js +1 -1
- package/dist/melonjs.mjs/video/video.js +4 -3
- package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/primitive_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/compositors/quad_compositor.js +1 -1
- package/dist/melonjs.mjs/video/webgl/glshader.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
- package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/precision.js +5 -5
- package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
- package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
- package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +47 -21
- package/dist/melonjs.module.js +607 -1294
- package/dist/types/application/application.d.ts +7 -6
- package/dist/types/application/settings.d.ts +40 -23
- package/dist/types/audio/audio.d.ts +8 -4
- package/dist/types/loader/cache.d.ts +1 -0
- package/dist/types/loader/loader.d.ts +7 -0
- package/dist/types/physics/world.d.ts +1 -1
- package/dist/types/system/platform.d.ts +2 -0
- package/dist/types/video/canvas/canvas_renderer.d.ts +6 -3
- package/dist/types/video/renderer.d.ts +6 -16
- package/dist/types/video/rendertarget/canvasrendertarget.d.ts +6 -9
- package/dist/types/video/texture/atlas.d.ts +6 -0
- package/dist/types/video/texture/cache.d.ts +7 -5
- package/dist/types/video/video.d.ts +3 -2
- package/dist/types/video/webgl/webgl_renderer.d.ts +8 -6
- package/package.json +16 -16
- package/src/application/application.js +6 -6
- package/src/application/header.js +1 -1
- package/src/application/settings.js +27 -30
- package/src/audio/audio.js +12 -8
- package/src/geometries/path2d.js +16 -16
- package/src/index.js +2 -2
- package/src/lang/deprecated.js +28 -1
- package/src/level/tiled/TMXObject.js +1 -1
- package/src/level/tiled/TMXTileMap.js +1 -1
- package/src/level/tiled/TMXUtils.js +2 -2
- package/src/level/tiled/renderer/TMXHexagonalRenderer.js +4 -4
- package/src/level/tiled/renderer/TMXOrthogonalRenderer.js +2 -2
- package/src/loader/cache.js +3 -0
- package/src/loader/loader.js +33 -3
- package/src/loader/parsers/fontface.js +24 -14
- package/src/loader/parsers/image.js +2 -2
- package/src/loader/parsers/tmx.js +1 -8
- package/src/math/color.js +5 -5
- package/src/math/matrix2.js +6 -6
- package/src/math/matrix3.js +1 -1
- package/src/math/observable_vector2.js +2 -2
- package/src/math/observable_vector3.js +3 -3
- package/src/math/vector2.js +2 -2
- package/src/math/vector3.js +3 -3
- package/src/physics/body.js +3 -3
- package/src/physics/detector.js +1 -1
- package/src/physics/world.js +1 -1
- package/src/renderable/container.js +1 -1
- package/src/renderable/light2d.js +6 -6
- package/src/state/state.js +4 -4
- package/src/system/device.js +5 -5
- package/src/system/platform.js +2 -0
- package/src/system/pooling.js +1 -1
- package/src/system/save.js +1 -1
- package/src/system/timer.js +1 -1
- package/src/tweens/easing.js +67 -69
- package/src/tweens/interpolation.js +28 -28
- package/src/tweens/tween.js +42 -42
- package/src/video/canvas/canvas_renderer.js +17 -9
- package/src/video/renderer.js +17 -69
- package/src/video/rendertarget/canvasrendertarget.js +11 -5
- package/src/video/texture/atlas.js +12 -3
- package/src/video/texture/cache.js +56 -37
- package/src/video/video.js +3 -2
- package/src/video/webgl/utils/precision.js +4 -4
- package/src/video/webgl/webgl_renderer.js +46 -20
- package/dist/melonjs.mjs/node_modules/semver/node_modules/lru-cache/index.js +0 -352
- package/dist/melonjs.mjs/node_modules/semver/node_modules/yallist/iterator.js +0 -24
- package/dist/melonjs.mjs/node_modules/semver/node_modules/yallist/yallist.js +0 -444
package/src/physics/world.js
CHANGED
|
@@ -672,7 +672,7 @@ export default class Container extends Renderable {
|
|
|
672
672
|
|
|
673
673
|
if (!keepalive) {
|
|
674
674
|
// attempt at recycling the object
|
|
675
|
-
if (pool.push(child, false) === false
|
|
675
|
+
if (pool.push(child, false) === false) {
|
|
676
676
|
// else just destroy it
|
|
677
677
|
if (typeof child.destroy === "function") {
|
|
678
678
|
child.destroy();
|
|
@@ -20,20 +20,20 @@ function createGradient(light) {
|
|
|
20
20
|
if (radiusX >= radiusY) {
|
|
21
21
|
scaleX = 1;
|
|
22
22
|
invScaleX = 1;
|
|
23
|
-
scaleY = radiusY/radiusX;
|
|
24
|
-
invScaleY = radiusX/radiusY;
|
|
23
|
+
scaleY = radiusY / radiusX;
|
|
24
|
+
invScaleY = radiusX / radiusY;
|
|
25
25
|
gradient = context.createRadialGradient(x1, y1 * invScaleY, 0, x1, radiusY * invScaleY, radiusX);
|
|
26
26
|
}
|
|
27
27
|
else {
|
|
28
28
|
scaleY = 1;
|
|
29
29
|
invScaleY = 1;
|
|
30
|
-
scaleX = radiusX/radiusY;
|
|
31
|
-
invScaleX = radiusY/radiusX;
|
|
30
|
+
scaleX = radiusX / radiusY;
|
|
31
|
+
invScaleX = radiusY / radiusX;
|
|
32
32
|
gradient = context.createRadialGradient(x1 * invScaleX, y1, 0, x1 * invScaleX, y1, radiusY);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
gradient.addColorStop(
|
|
36
|
-
gradient.addColorStop(
|
|
35
|
+
gradient.addColorStop(0, light.color.toRGBA(light.intensity));
|
|
36
|
+
gradient.addColorStop(1, light.color.toRGBA(0.0));
|
|
37
37
|
|
|
38
38
|
context.fillStyle = gradient;
|
|
39
39
|
|
package/src/state/state.js
CHANGED
|
@@ -242,7 +242,7 @@ let state = {
|
|
|
242
242
|
* @public
|
|
243
243
|
* @param {boolean} [pauseTrack=false] - pause current track on screen stop.
|
|
244
244
|
*/
|
|
245
|
-
stop(pauseTrack=false) {
|
|
245
|
+
stop(pauseTrack = false) {
|
|
246
246
|
// only stop when we are not loading stuff
|
|
247
247
|
if ((_state !== this.LOADING) && this.isRunning()) {
|
|
248
248
|
// stop the main loop
|
|
@@ -268,7 +268,7 @@ let state = {
|
|
|
268
268
|
* @public
|
|
269
269
|
* @param {boolean} [music=false] - pause current music track on screen pause
|
|
270
270
|
*/
|
|
271
|
-
pause(music=false) {
|
|
271
|
+
pause(music = false) {
|
|
272
272
|
// only pause when we are not loading stuff
|
|
273
273
|
if ((_state !== this.LOADING) && !this.isPaused()) {
|
|
274
274
|
// stop the main loop
|
|
@@ -293,7 +293,7 @@ let state = {
|
|
|
293
293
|
* @public
|
|
294
294
|
* @param {boolean} [music=false] - resume current music track on screen resume
|
|
295
295
|
*/
|
|
296
|
-
restart(music=false) {
|
|
296
|
+
restart(music = false) {
|
|
297
297
|
if (!this.isRunning()) {
|
|
298
298
|
// restart the main loop
|
|
299
299
|
_startRunLoop();
|
|
@@ -317,7 +317,7 @@ let state = {
|
|
|
317
317
|
* @public
|
|
318
318
|
* @param {boolean} [music=false] - resume current music track on screen resume
|
|
319
319
|
*/
|
|
320
|
-
resume(music=false) {
|
|
320
|
+
resume(music = false) {
|
|
321
321
|
if (this.isPaused()) {
|
|
322
322
|
// resume the main loop
|
|
323
323
|
_resumeRunLoop();
|
package/src/system/device.js
CHANGED
|
@@ -34,7 +34,7 @@ function disableSwipeFn(e) {
|
|
|
34
34
|
function hasLocalStorage() {
|
|
35
35
|
try {
|
|
36
36
|
return !!globalThis.localStorage;
|
|
37
|
-
} catch
|
|
37
|
+
} catch {
|
|
38
38
|
// the above generates an exception when cookies are blocked
|
|
39
39
|
return false;
|
|
40
40
|
}
|
|
@@ -44,8 +44,8 @@ function hasOffscreenCanvas() {
|
|
|
44
44
|
try {
|
|
45
45
|
// some browser (e.g. Safari) implements WebGL1 and WebGL2 contexts only
|
|
46
46
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=801176
|
|
47
|
-
return (typeof globalThis.OffscreenCanvas !== "undefined") && ((new globalThis.OffscreenCanvas(0, 0).getContext(
|
|
48
|
-
} catch
|
|
47
|
+
return (typeof globalThis.OffscreenCanvas !== "undefined") && ((new globalThis.OffscreenCanvas(0, 0).getContext("2d")) !== null);
|
|
48
|
+
} catch {
|
|
49
49
|
return false;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
@@ -421,7 +421,7 @@ export function onReady(fn) {
|
|
|
421
421
|
} else {
|
|
422
422
|
event.emit(event.BLUR);
|
|
423
423
|
}
|
|
424
|
-
}, false
|
|
424
|
+
}, false);
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
427
|
// call the supplied function
|
|
@@ -689,7 +689,7 @@ export function isWebGLSupported(options) {
|
|
|
689
689
|
};
|
|
690
690
|
_supported = !! (globalThis.WebGLRenderingContext && (canvas.getContext("webgl", ctxOptions) || canvas.getContext("experimental-webgl", ctxOptions)));
|
|
691
691
|
WebGLSupport = _supported ? 1 : 0;
|
|
692
|
-
} catch
|
|
692
|
+
} catch {
|
|
693
693
|
WebGLSupport = 0;
|
|
694
694
|
}
|
|
695
695
|
}
|
package/src/system/platform.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* @property {boolean} isWeixin `true` if running under Wechat
|
|
16
16
|
* @property {boolean} nodeJS `true` if running under node.js
|
|
17
17
|
* @property {boolean} isMobile `true` if a mobile device
|
|
18
|
+
* @property {boolean} webApp `true` if running as a standalone web app
|
|
18
19
|
*/
|
|
19
20
|
|
|
20
21
|
export const ua = typeof globalThis.navigator !== "undefined" ? globalThis.navigator.userAgent : "";
|
|
@@ -30,3 +31,4 @@ export const ejecta = (typeof globalThis.ejecta !== "undefined");
|
|
|
30
31
|
export const isWeixin = /MicroMessenger/i.test(ua);
|
|
31
32
|
export const nodeJS = (typeof globalThis.process !== "undefined") && (typeof globalThis.process.release !== "undefined") && (globalThis.process.release.name === "node");
|
|
32
33
|
export const isMobile = /Mobi/i.test(ua) || iOS || android || wp || BlackBerry || Kindle || false;
|
|
34
|
+
export const webApp = (typeof globalThis.navigator !== "undefined" && globalThis.navigator.standalone === true) || (typeof globalThis.matchMedia !== "undefined" && globalThis.matchMedia("(display-mode: standalone)").matches);
|
package/src/system/pooling.js
CHANGED
|
@@ -118,7 +118,7 @@ class ObjectPool {
|
|
|
118
118
|
*/
|
|
119
119
|
push(obj, throwOnError = true) {
|
|
120
120
|
if (!this.poolable(obj)) {
|
|
121
|
-
if (throwOnError === true
|
|
121
|
+
if (throwOnError === true) {
|
|
122
122
|
throw new Error("me.pool: object " + obj + " cannot be recycled");
|
|
123
123
|
} else {
|
|
124
124
|
return false;
|
package/src/system/save.js
CHANGED
|
@@ -39,7 +39,7 @@ let hasLocalStorage = false;
|
|
|
39
39
|
try {
|
|
40
40
|
// true if localStorage is supported
|
|
41
41
|
hasLocalStorage = typeof globalThis !== "undefined" && typeof globalThis.localStorage !== "undefined";
|
|
42
|
-
} catch
|
|
42
|
+
} catch {
|
|
43
43
|
// the above generates an exception when cookies are blocked
|
|
44
44
|
hasLocalStorage = false;
|
|
45
45
|
}
|
package/src/system/timer.js
CHANGED
package/src/tweens/easing.js
CHANGED
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
* https://github.com/tweenjs/tween.js
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
/* eslint-disable quotes, keyword-spacing, comma-spacing, no-return-assign */
|
|
7
|
-
|
|
8
6
|
/**
|
|
9
7
|
* Easing Function :<br>
|
|
10
8
|
* <p>
|
|
@@ -50,7 +48,7 @@ export let Easing = {
|
|
|
50
48
|
|
|
51
49
|
Linear: {
|
|
52
50
|
/** @ignore */
|
|
53
|
-
None: function (
|
|
51
|
+
None: function (k) {
|
|
54
52
|
|
|
55
53
|
return k;
|
|
56
54
|
|
|
@@ -60,22 +58,22 @@ export let Easing = {
|
|
|
60
58
|
|
|
61
59
|
Quadratic: {
|
|
62
60
|
/** @ignore */
|
|
63
|
-
In: function (
|
|
61
|
+
In: function (k) {
|
|
64
62
|
|
|
65
63
|
return k * k;
|
|
66
64
|
|
|
67
65
|
},
|
|
68
66
|
/** @ignore */
|
|
69
|
-
Out: function (
|
|
67
|
+
Out: function (k) {
|
|
70
68
|
|
|
71
|
-
return k * (
|
|
69
|
+
return k * (2 - k);
|
|
72
70
|
|
|
73
71
|
},
|
|
74
72
|
/** @ignore */
|
|
75
|
-
InOut: function (
|
|
73
|
+
InOut: function (k) {
|
|
76
74
|
|
|
77
|
-
if (
|
|
78
|
-
return - 0.5 * (
|
|
75
|
+
if ((k *= 2) < 1) return 0.5 * k * k;
|
|
76
|
+
return - 0.5 * (--k * (k - 2) - 1);
|
|
79
77
|
|
|
80
78
|
}
|
|
81
79
|
|
|
@@ -83,22 +81,22 @@ export let Easing = {
|
|
|
83
81
|
|
|
84
82
|
Cubic: {
|
|
85
83
|
/** @ignore */
|
|
86
|
-
In: function (
|
|
84
|
+
In: function (k) {
|
|
87
85
|
|
|
88
86
|
return k * k * k;
|
|
89
87
|
|
|
90
88
|
},
|
|
91
89
|
/** @ignore */
|
|
92
|
-
Out: function (
|
|
90
|
+
Out: function (k) {
|
|
93
91
|
|
|
94
92
|
return --k * k * k + 1;
|
|
95
93
|
|
|
96
94
|
},
|
|
97
95
|
/** @ignore */
|
|
98
|
-
InOut: function (
|
|
96
|
+
InOut: function (k) {
|
|
99
97
|
|
|
100
|
-
if (
|
|
101
|
-
return 0.5 * (
|
|
98
|
+
if ((k *= 2) < 1) return 0.5 * k * k * k;
|
|
99
|
+
return 0.5 * ((k -= 2) * k * k + 2);
|
|
102
100
|
|
|
103
101
|
}
|
|
104
102
|
|
|
@@ -106,22 +104,22 @@ export let Easing = {
|
|
|
106
104
|
|
|
107
105
|
Quartic: {
|
|
108
106
|
/** @ignore */
|
|
109
|
-
In: function (
|
|
107
|
+
In: function (k) {
|
|
110
108
|
|
|
111
109
|
return k * k * k * k;
|
|
112
110
|
|
|
113
111
|
},
|
|
114
112
|
/** @ignore */
|
|
115
|
-
Out: function (
|
|
113
|
+
Out: function (k) {
|
|
116
114
|
|
|
117
|
-
return 1 - (
|
|
115
|
+
return 1 - (--k * k * k * k);
|
|
118
116
|
|
|
119
117
|
},
|
|
120
118
|
/** @ignore */
|
|
121
|
-
InOut: function (
|
|
119
|
+
InOut: function (k) {
|
|
122
120
|
|
|
123
|
-
if (
|
|
124
|
-
return - 0.5 * (
|
|
121
|
+
if ((k *= 2) < 1) return 0.5 * k * k * k * k;
|
|
122
|
+
return - 0.5 * ((k -= 2) * k * k * k - 2);
|
|
125
123
|
|
|
126
124
|
}
|
|
127
125
|
|
|
@@ -129,22 +127,22 @@ export let Easing = {
|
|
|
129
127
|
|
|
130
128
|
Quintic: {
|
|
131
129
|
/** @ignore */
|
|
132
|
-
In: function (
|
|
130
|
+
In: function (k) {
|
|
133
131
|
|
|
134
132
|
return k * k * k * k * k;
|
|
135
133
|
|
|
136
134
|
},
|
|
137
135
|
/** @ignore */
|
|
138
|
-
Out: function (
|
|
136
|
+
Out: function (k) {
|
|
139
137
|
|
|
140
138
|
return --k * k * k * k * k + 1;
|
|
141
139
|
|
|
142
140
|
},
|
|
143
141
|
/** @ignore */
|
|
144
|
-
InOut: function (
|
|
142
|
+
InOut: function (k) {
|
|
145
143
|
|
|
146
|
-
if (
|
|
147
|
-
return 0.5 * (
|
|
144
|
+
if ((k *= 2) < 1) return 0.5 * k * k * k * k * k;
|
|
145
|
+
return 0.5 * ((k -= 2) * k * k * k * k + 2);
|
|
148
146
|
|
|
149
147
|
}
|
|
150
148
|
|
|
@@ -152,21 +150,21 @@ export let Easing = {
|
|
|
152
150
|
|
|
153
151
|
Sinusoidal: {
|
|
154
152
|
/** @ignore */
|
|
155
|
-
In: function (
|
|
153
|
+
In: function (k) {
|
|
156
154
|
|
|
157
|
-
return 1 - Math.cos(
|
|
155
|
+
return 1 - Math.cos(k * Math.PI / 2);
|
|
158
156
|
|
|
159
157
|
},
|
|
160
158
|
/** @ignore */
|
|
161
|
-
Out: function (
|
|
159
|
+
Out: function (k) {
|
|
162
160
|
|
|
163
|
-
return Math.sin(
|
|
161
|
+
return Math.sin(k * Math.PI / 2);
|
|
164
162
|
|
|
165
163
|
},
|
|
166
164
|
/** @ignore */
|
|
167
|
-
InOut: function (
|
|
165
|
+
InOut: function (k) {
|
|
168
166
|
|
|
169
|
-
return 0.5 * (
|
|
167
|
+
return 0.5 * (1 - Math.cos(Math.PI * k));
|
|
170
168
|
|
|
171
169
|
}
|
|
172
170
|
|
|
@@ -174,24 +172,24 @@ export let Easing = {
|
|
|
174
172
|
|
|
175
173
|
Exponential: {
|
|
176
174
|
/** @ignore */
|
|
177
|
-
In: function (
|
|
175
|
+
In: function (k) {
|
|
178
176
|
|
|
179
|
-
return k === 0 ? 0 : Math.pow(
|
|
177
|
+
return k === 0 ? 0 : Math.pow(1024, k - 1);
|
|
180
178
|
|
|
181
179
|
},
|
|
182
180
|
/** @ignore */
|
|
183
|
-
Out: function (
|
|
181
|
+
Out: function (k) {
|
|
184
182
|
|
|
185
|
-
return k === 1 ? 1 : 1 - Math.pow(
|
|
183
|
+
return k === 1 ? 1 : 1 - Math.pow(2, - 10 * k);
|
|
186
184
|
|
|
187
185
|
},
|
|
188
186
|
/** @ignore */
|
|
189
|
-
InOut: function (
|
|
187
|
+
InOut: function (k) {
|
|
190
188
|
|
|
191
|
-
if (
|
|
192
|
-
if (
|
|
193
|
-
if (
|
|
194
|
-
return 0.5 * (
|
|
189
|
+
if (k === 0) return 0;
|
|
190
|
+
if (k === 1) return 1;
|
|
191
|
+
if ((k *= 2) < 1) return 0.5 * Math.pow(1024, k - 1);
|
|
192
|
+
return 0.5 * (- Math.pow(2, - 10 * (k - 1)) + 2);
|
|
195
193
|
|
|
196
194
|
}
|
|
197
195
|
|
|
@@ -199,22 +197,22 @@ export let Easing = {
|
|
|
199
197
|
|
|
200
198
|
Circular: {
|
|
201
199
|
/** @ignore */
|
|
202
|
-
In: function (
|
|
200
|
+
In: function (k) {
|
|
203
201
|
|
|
204
|
-
return 1 - Math.sqrt(
|
|
202
|
+
return 1 - Math.sqrt(1 - k * k);
|
|
205
203
|
|
|
206
204
|
},
|
|
207
205
|
/** @ignore */
|
|
208
|
-
Out: function (
|
|
206
|
+
Out: function (k) {
|
|
209
207
|
|
|
210
|
-
return Math.sqrt(
|
|
208
|
+
return Math.sqrt(1 - (--k * k));
|
|
211
209
|
|
|
212
210
|
},
|
|
213
211
|
/** @ignore */
|
|
214
|
-
InOut: function (
|
|
212
|
+
InOut: function (k) {
|
|
215
213
|
|
|
216
|
-
if (
|
|
217
|
-
return 0.5 * (
|
|
214
|
+
if ((k *= 2) < 1) return - 0.5 * (Math.sqrt(1 - k * k) - 1);
|
|
215
|
+
return 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1);
|
|
218
216
|
|
|
219
217
|
}
|
|
220
218
|
|
|
@@ -222,7 +220,7 @@ export let Easing = {
|
|
|
222
220
|
|
|
223
221
|
Elastic: {
|
|
224
222
|
/** @ignore */
|
|
225
|
-
In: function (
|
|
223
|
+
In: function (k) {
|
|
226
224
|
if (k === 0) {
|
|
227
225
|
return 0;
|
|
228
226
|
}
|
|
@@ -232,7 +230,7 @@ export let Easing = {
|
|
|
232
230
|
return -Math.pow(2, 10 * (k - 1)) * Math.sin((k - 1.1) * 5 * Math.PI);
|
|
233
231
|
},
|
|
234
232
|
/** @ignore */
|
|
235
|
-
Out: function (
|
|
233
|
+
Out: function (k) {
|
|
236
234
|
if (k === 0) {
|
|
237
235
|
return 0;
|
|
238
236
|
}
|
|
@@ -243,7 +241,7 @@ export let Easing = {
|
|
|
243
241
|
|
|
244
242
|
},
|
|
245
243
|
/** @ignore */
|
|
246
|
-
InOut: function (
|
|
244
|
+
InOut: function (k) {
|
|
247
245
|
if (k === 0) {
|
|
248
246
|
return 0;
|
|
249
247
|
}
|
|
@@ -261,25 +259,25 @@ export let Easing = {
|
|
|
261
259
|
|
|
262
260
|
Back: {
|
|
263
261
|
/** @ignore */
|
|
264
|
-
In: function (
|
|
262
|
+
In: function (k) {
|
|
265
263
|
|
|
266
264
|
const s = 1.70158;
|
|
267
|
-
return k * k * (
|
|
265
|
+
return k * k * ((s + 1) * k - s);
|
|
268
266
|
|
|
269
267
|
},
|
|
270
268
|
/** @ignore */
|
|
271
|
-
Out: function (
|
|
269
|
+
Out: function (k) {
|
|
272
270
|
|
|
273
271
|
const s = 1.70158;
|
|
274
|
-
return --k * k * (
|
|
272
|
+
return --k * k * ((s + 1) * k + s) + 1;
|
|
275
273
|
|
|
276
274
|
},
|
|
277
275
|
/** @ignore */
|
|
278
|
-
InOut: function (
|
|
276
|
+
InOut: function (k) {
|
|
279
277
|
|
|
280
278
|
const s = 1.70158 * 1.525;
|
|
281
|
-
if (
|
|
282
|
-
return 0.5 * (
|
|
279
|
+
if ((k *= 2) < 1) return 0.5 * (k * k * ((s + 1) * k - s));
|
|
280
|
+
return 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2);
|
|
283
281
|
|
|
284
282
|
}
|
|
285
283
|
|
|
@@ -287,38 +285,38 @@ export let Easing = {
|
|
|
287
285
|
|
|
288
286
|
Bounce: {
|
|
289
287
|
/** @ignore */
|
|
290
|
-
In: function (
|
|
288
|
+
In: function (k) {
|
|
291
289
|
|
|
292
|
-
return 1 - Easing.Bounce.Out(
|
|
290
|
+
return 1 - Easing.Bounce.Out(1 - k);
|
|
293
291
|
|
|
294
292
|
},
|
|
295
293
|
/** @ignore */
|
|
296
|
-
Out: function (
|
|
294
|
+
Out: function (k) {
|
|
297
295
|
|
|
298
|
-
if (
|
|
296
|
+
if (k < (1 / 2.75)) {
|
|
299
297
|
|
|
300
298
|
return 7.5625 * k * k;
|
|
301
299
|
|
|
302
|
-
} else if (
|
|
300
|
+
} else if (k < (2 / 2.75)) {
|
|
303
301
|
|
|
304
|
-
return 7.5625 * (
|
|
302
|
+
return 7.5625 * (k -= (1.5 / 2.75)) * k + 0.75;
|
|
305
303
|
|
|
306
|
-
} else if (
|
|
304
|
+
} else if (k < (2.5 / 2.75)) {
|
|
307
305
|
|
|
308
|
-
return 7.5625 * (
|
|
306
|
+
return 7.5625 * (k -= (2.25 / 2.75)) * k + 0.9375;
|
|
309
307
|
|
|
310
308
|
} else {
|
|
311
309
|
|
|
312
|
-
return 7.5625 * (
|
|
310
|
+
return 7.5625 * (k -= (2.625 / 2.75)) * k + 0.984375;
|
|
313
311
|
|
|
314
312
|
}
|
|
315
313
|
|
|
316
314
|
},
|
|
317
315
|
/** @ignore */
|
|
318
|
-
InOut: function (
|
|
316
|
+
InOut: function (k) {
|
|
319
317
|
|
|
320
|
-
if (
|
|
321
|
-
return Easing.Bounce.Out(
|
|
318
|
+
if (k < 0.5) return Easing.Bounce.In(k * 2) * 0.5;
|
|
319
|
+
return Easing.Bounce.Out(k * 2 - 1) * 0.5 + 0.5;
|
|
322
320
|
|
|
323
321
|
}
|
|
324
322
|
|
|
@@ -18,45 +18,45 @@
|
|
|
18
18
|
*/
|
|
19
19
|
export let Interpolation = {
|
|
20
20
|
/** @ignore */
|
|
21
|
-
Linear: function (
|
|
21
|
+
Linear: function (v, k) {
|
|
22
22
|
|
|
23
|
-
let m = v.length - 1, f = m * k, i = Math.floor(
|
|
23
|
+
let m = v.length - 1, f = m * k, i = Math.floor(f), fn = Interpolation.Utils.Linear;
|
|
24
24
|
|
|
25
|
-
if (
|
|
26
|
-
if (
|
|
25
|
+
if (k < 0) return fn(v[ 0 ], v[ 1 ], f);
|
|
26
|
+
if (k > 1) return fn(v[ m ], v[ m - 1 ], m - f);
|
|
27
27
|
|
|
28
|
-
return fn(
|
|
28
|
+
return fn(v[ i ], v[ i + 1 > m ? m : i + 1 ], f - i);
|
|
29
29
|
|
|
30
30
|
},
|
|
31
31
|
/** @ignore */
|
|
32
|
-
Bezier: function (
|
|
32
|
+
Bezier: function (v, k) {
|
|
33
33
|
|
|
34
34
|
let b = 0, n = v.length - 1, pw = Math.pow, bn = Interpolation.Utils.Bernstein, i;
|
|
35
35
|
|
|
36
|
-
for (
|
|
37
|
-
b += pw(
|
|
36
|
+
for (i = 0; i <= n; i++) {
|
|
37
|
+
b += pw(1 - k, n - i) * pw(k, i) * v[ i ] * bn(n, i);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
return b;
|
|
41
41
|
|
|
42
42
|
},
|
|
43
43
|
/** @ignore */
|
|
44
|
-
CatmullRom: function (
|
|
44
|
+
CatmullRom: function (v, k) {
|
|
45
45
|
|
|
46
|
-
let m = v.length - 1, f = m * k, i = Math.floor(
|
|
46
|
+
let m = v.length - 1, f = m * k, i = Math.floor(f), fn = Interpolation.Utils.CatmullRom;
|
|
47
47
|
|
|
48
|
-
if (
|
|
48
|
+
if (v[ 0 ] === v[ m ]) {
|
|
49
49
|
|
|
50
|
-
if (
|
|
50
|
+
if (k < 0) i = Math.floor(f = m * (1 + k));
|
|
51
51
|
|
|
52
|
-
return fn(
|
|
52
|
+
return fn(v[ (i - 1 + m) % m ], v[ i ], v[ (i + 1) % m ], v[ (i + 2) % m ], f - i);
|
|
53
53
|
|
|
54
54
|
} else {
|
|
55
55
|
|
|
56
|
-
if (
|
|
57
|
-
if (
|
|
56
|
+
if (k < 0) return v[ 0 ] - (fn(v[ 0 ], v[ 0 ], v[ 1 ], v[ 1 ], -f) - v[ 0 ]);
|
|
57
|
+
if (k > 1) return v[ m ] - (fn(v[ m ], v[ m ], v[ m - 1 ], v[ m - 1 ], f - m) - v[ m ]);
|
|
58
58
|
|
|
59
|
-
return fn(
|
|
59
|
+
return fn(v[ i ? i - 1 : 0 ], v[ i ], v[ m < i + 1 ? m : i + 1 ], v[ m < i + 2 ? m : i + 2 ], f - i);
|
|
60
60
|
|
|
61
61
|
}
|
|
62
62
|
|
|
@@ -64,39 +64,39 @@ export let Interpolation = {
|
|
|
64
64
|
|
|
65
65
|
Utils: {
|
|
66
66
|
/** @ignore */
|
|
67
|
-
Linear: function (
|
|
67
|
+
Linear: function (p0, p1, t) {
|
|
68
68
|
|
|
69
|
-
return (
|
|
69
|
+
return (p1 - p0) * t + p0;
|
|
70
70
|
|
|
71
71
|
},
|
|
72
72
|
/** @ignore */
|
|
73
|
-
Bernstein: function (
|
|
73
|
+
Bernstein: function (n, i) {
|
|
74
74
|
|
|
75
75
|
let fc = Interpolation.Utils.Factorial;
|
|
76
|
-
return fc(
|
|
76
|
+
return fc(n) / fc(i) / fc(n - i);
|
|
77
77
|
|
|
78
78
|
},
|
|
79
79
|
/* @ignore */
|
|
80
|
-
Factorial: (
|
|
80
|
+
Factorial: (function () {
|
|
81
81
|
|
|
82
82
|
let a = [ 1 ];
|
|
83
83
|
|
|
84
|
-
return function (
|
|
84
|
+
return function (n) {
|
|
85
85
|
|
|
86
86
|
let s = 1, i;
|
|
87
|
-
if (
|
|
88
|
-
for (
|
|
87
|
+
if (a[ n ]) return a[ n ];
|
|
88
|
+
for (i = n; i > 1; i--) s *= i;
|
|
89
89
|
a[ n ] = s;
|
|
90
90
|
return s;
|
|
91
91
|
|
|
92
92
|
};
|
|
93
93
|
|
|
94
|
-
}
|
|
94
|
+
})(),
|
|
95
95
|
/** @ignore */
|
|
96
|
-
CatmullRom: function (
|
|
96
|
+
CatmullRom: function (p0, p1, p2, p3, t) {
|
|
97
97
|
|
|
98
|
-
let v0 = (
|
|
99
|
-
return (
|
|
98
|
+
let v0 = (p2 - p0) * 0.5, v1 = (p3 - p1) * 0.5, t2 = t * t, t3 = t * t2;
|
|
99
|
+
return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (- 3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
|