From 8d518694b0219b9837d48da7fb608cfe10dcc982 Mon Sep 17 00:00:00 2001 From: Reece Como Date: Sat, 27 Apr 2024 18:43:54 +1000 Subject: [PATCH] v1.2.2: fix types for PixiJS v8 (#10) * fixes for PixiJS v8 types * test matrix --- .github/workflows/lint.yml | 10 +- .github/workflows/test.yml | 36 +- README.md | 14 +- package-lock.json | 927 +++++++++--------- package.json | 14 +- src/Action.ts | 10 +- ...playObject.mixin.ts => Container.mixin.ts} | 12 +- src/__tests__/Action.test.ts | 83 +- .../display-object/RunOnChildAction.ts | 39 + .../RunOnChildWithNameAction.ts | 25 - src/actions/display-object/index.ts | 2 +- src/index.ts | 8 +- src/lib/Action.ts | 2 +- src/types.d.ts | 2 +- 14 files changed, 629 insertions(+), 555 deletions(-) rename src/{DisplayObject.mixin.ts => Container.mixin.ts} (81%) create mode 100644 src/actions/display-object/RunOnChildAction.ts delete mode 100644 src/actions/display-object/RunOnChildWithNameAction.ts diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 0ca2845..14fcb3f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -13,16 +13,10 @@ on: jobs: lint: runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [20.x] - steps: - uses: actions/checkout@v3 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + - uses: actions/setup-node@v3 with: - node-version: ${{ matrix.node-version }} + node-version: 20.x - run: npm install - run: npm run lint diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a16ad27..f20d99b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,16 +15,42 @@ on: jobs: test: runs-on: ubuntu-latest - strategy: matrix: - node-version: [20.x] + include: + # https://pixijs.com/versions + + - label: v6.3 + pixi-version: '6.3.2' + typescript-version: '4.9.5' + + - label: v6.x + pixi-version: '6.x.x' + typescript-version: '4.9.5' + + - label: v7.0 + pixi-version: '7.0.0' + typescript-version: '4.9.5' + + - label: v7.x + pixi-version: '7.x.x' + typescript-version: '5.4.5' + + - label: v8.0 + pixi-version: '8.0.0' + typescript-version: '5.4.5' + + - label: v8.x + pixi-version: '8.x.x' + typescript-version: '5.4.5' + name: pixi.js ${{ matrix.label }} (@v${{ matrix.pixi-version }}) steps: - uses: actions/checkout@v3 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + - uses: actions/setup-node@v3 with: - node-version: ${{ matrix.node-version }} + node-version: 20.x - run: npm install + - name: Install PixiJS v${{ matrix.pixi-version }} + run: npm install pixi.js@v${{ matrix.pixi-version }} typescript@v${{ matrix.typescript-version }} - run: npm run test diff --git a/README.md b/README.md index 186f86b..bcb05dc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🎬 pixijs-actions  [![NPM version](https://img.shields.io/npm/v/pixijs-actions.svg?style=flat-square)](https://www.npmjs.com/package/pixijs-actions) [![test ci/cd status badge](https://github.com/reececomo/pixijs-actions/actions/workflows/test.yml/badge.svg)](https://github.com/reececomo/pixijs-actions/actions/workflows/test.yml) [![lint ci/cd status badge](https://github.com/reececomo/pixijs-actions/actions/workflows/lint.yml/badge.svg)](https://github.com/reececomo/pixijs-actions/actions/workflows/lint.yml) -PixiJS Actions allow developers to easily configure complex, high-performance animations in [PixiJS](https://pixijs.com/). +PixiJS Actions allows developers to easily configure complex, high-performance animations in [PixiJS](https://pixijs.com/). - 🚀 35+ [built-in actions](#action-initializers), 30+ [smoothing options](#timing-modes) - 🔀 Reuseable, chainable & reversible actions @@ -63,10 +63,10 @@ yarn add pixijs-actions --dev ```ts import * as PIXI from 'pixi.js'; -import { Action, registerDisplayObjectMixin } from 'pixijs-actions'; +import { Action, registerPixiJSActionsMixin } from 'pixijs-actions'; -// Register mixin for container. -registerDisplayObjectMixin(PIXI.Container); +// Register mixin for containers. +registerPixiJSActionsMixin(PIXI.Container); // Register `Action.tick(...)` with shared ticker Ticker.shared.add(ticker => Action.tick(ticker.elapsedMS)); @@ -105,7 +105,7 @@ Most actions implement specific predefined animations that are ready to use. If | `Action.moveBy(dx, dy, duration)` | Move a node by relative values. | Yes | | `Action.moveByX(dx, duration)` | Move a node horizontally by a relative value. | Yes | | `Action.moveByY(dy, duration)` | Move a node vertically by a relative value. | Yes | -| `Action.moveTo(position, duration)` | Move a node to a specified position `{ x, y }` (e.g. `PIXI.Point`, `PIXI.DisplayObject`). | _*No_ | +| `Action.moveTo(position, duration)` | Move a node to a specified position `{ x, y }` (e.g. `PIXI.Point`, `PIXI.Container`). | _*No_ | | `Action.moveTo(x, y, duration)` | Move a node to a specified position. | _*No_ | | `Action.moveToX(x, duration)` | Move a node to a specified horizontal position. | _*No_ | | `Action.moveToY(y, duration)` | Move a node to a specified vertical position. | _*No_ | @@ -123,7 +123,7 @@ Most actions implement specific predefined animations that are ready to use. If | `Action.scaleBy(dx, dy, duration)` | Scale a node in each axis by relative values. | Yes | | `Action.scaleByX(dx, duration)` | Scale a node horizontally by a relative value. | Yes | | `Action.scaleByY(dy, duration)` | Scale a node vertically by a relative value. | Yes | -| `Action.scaleTo(size, duration)` | Scale a node to achieve a specified size `{ width, height }` (e.g. `PIXI.ISize`, `PIXI.DisplayObject`). | _*No_ | +| `Action.scaleTo(size, duration)` | Scale a node to achieve a specified size `{ width, height }` (e.g. `PIXI.ISize`, `PIXI.Container`). | _*No_ | | `Action.scaleTo(scale, duration)` | Scale a node to a specified value. | _*No_ | | `Action.scaleTo(x, y, duration)` | Scale a node in each axis to specified values. | _*No_ | | `Action.scaleToX(x, duration)` | Scale a node horizontally to a specified value. | _*No_ | @@ -139,7 +139,7 @@ Most actions implement specific predefined animations that are ready to use. If |***Removing a Node from the Canvas***||| | `Action.removeFromParent()` | Remove a node from its parent. | _†Identical_ | |***Running Actions on Children***||| -| `Action.runOnChildWithName(action, childName)` | Run an action on a named child node. | Yes | +| `Action.runOnChild(nameOrLabel, action)` | Add an action to a child node. | Yes | |***Delaying Actions***||| | `Action.waitForDuration(duration)` | Idle for a specified period of time. | _†Identical_ | | `Action.waitForDurationWithRange(duration, range)` | Idle for a randomized period of time. | _†Identical_ | diff --git a/package-lock.json b/package-lock.json index 1d4d512..214678e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pixijs-actions", - "version": "1.2.0", + "version": "1.2.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "pixijs-actions", - "version": "1.2.0", + "version": "1.2.2", "license": "MIT", "devDependencies": { "@types/jest": "^29.2.6", @@ -15,12 +15,12 @@ "eslint": "^8.57.0", "eslint-plugin-disable-autofix": "^4.2.0", "jest": "^29.3.1", - "pixi.js": "^6.1.0", + "pixi.js": "6.3.x", "ts-jest": "^29.0.5", - "typescript": "^4.2.3" + "typescript": "4.9.5" }, "peerDependencies": { - "pixi.js": ">=6.1.0" + "pixi.js": "^6.3.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -1227,51 +1227,48 @@ } }, "node_modules/@pixi/accessibility": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-6.5.10.tgz", - "integrity": "sha512-URrI1H+1kjjHSyhY1QXcUZ8S3omdVTrXg5y0gndtpOhIelErBTC9NWjJfw6s0Rlmv5+x5VAitQTgw9mRiatDgw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-6.3.2.tgz", + "integrity": "sha512-JLDuSGITGEOmR7s0d1Wxj7a3yIp4hP6w2h6ku6iu3clE/bmVtnvhqMX1D1lhjRW/uWUfpVT4U+8CG+LgSsEZ1g==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/app": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/app/-/app-6.5.10.tgz", - "integrity": "sha512-VsNHLajZ5Dbc/Zrj7iWmIl3eu6Fec+afjW/NXXezD8Sp3nTDF0bv5F+GDgN/zSc2gqIvPHyundImT7hQGBDghg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-6.3.2.tgz", + "integrity": "sha512-V1jnhL92OPiquXtLxUeSZiVDd1mtjRnYpBKA958w29MrIRBx3Y6dgnvsaFZGGWBvSL//WRYV23iZKVL/jRGmmQ==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2" } }, "node_modules/@pixi/compressed-textures": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/compressed-textures/-/compressed-textures-6.5.10.tgz", - "integrity": "sha512-41NT5mkfam47DrkB8xMp3HUZDt7139JMB6rVNOmb3u2vm+2mdy9tzi5s9nN7bG9xgXlchxcFzytTURk+jwXVJA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/compressed-textures/-/compressed-textures-6.3.2.tgz", + "integrity": "sha512-E/T9WsWcTstnCaDo3GQZUsvX2bE1tZwJ+rUVQ6ad+9MLI6mpUKJFUy5XXlnZw0uiKU5Hipi1ASPQ8/EQ7kKebA==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/loaders": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/loaders": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/constants": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-6.5.10.tgz", - "integrity": "sha512-PUF2Y9YISRu5eVrVVHhHCWpc/KmxQTg3UH8rIUs8UI9dCK41/wsPd3pEahzf7H47v7x1HCohVZcFO3XQc1bUDw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-6.3.2.tgz", + "integrity": "sha512-sUE8QEJNl4vWUybS0YqpVUBWoOyLkr5bSj1+3mpmbWJTMVmLB2voFXo7XpSNCBlLH1SBN5flcgJlUWOCgNyATg==", "dev": true }, "node_modules/@pixi/core": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/core/-/core-6.5.10.tgz", - "integrity": "sha512-Gdzp5ENypyglvsh5Gv3teUZnZnmizo4xOsL+QqmWALdFlJXJwLJMVhKVThV/q/095XR6i4Ou54oshn+m4EkuFw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-6.3.2.tgz", + "integrity": "sha512-91Fw0CbFpPtMKo5TG1wdaZGgR99lX87l15F7kgge7FM7ZR4EghLiJHU8whQ19f/UNOd8AG7mHD84lUB1VXXfoA==", "dev": true, "dependencies": { "@types/offscreencanvas": "^2019.6.4" @@ -1281,225 +1278,213 @@ "url": "https://opencollective.com/pixijs" }, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/extensions": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/runner": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/ticker": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/runner": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/ticker": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/display": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/display/-/display-6.5.10.tgz", - "integrity": "sha512-NxFdDDxlbH5fQkzGHraLGoTMucW9pVgXqQm13TSmkA3NWIi/SItHL4qT2SI8nmclT9Vid1VDEBCJFAbdeuQw1Q==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-6.3.2.tgz", + "integrity": "sha512-D+WiM0BcyPK91RYxl7TXXVNz/5lOGs8Q6jtCMcWgTHwCXxWPOHFnNZ4KPJZpUQ7me8Tl2u+c9hfB5Oh1+17r/Q==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/math": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/utils": "6.3.2" } }, - "node_modules/@pixi/extensions": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/extensions/-/extensions-6.5.10.tgz", - "integrity": "sha512-EIUGza+E+sCy3dupuIjvRK/WyVyfSzHb5XsxRaxNrPwvG1iIUIqNqZ3owLYCo4h17fJWrj/yXVufNNtUKQccWQ==", - "dev": true - }, "node_modules/@pixi/extract": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-6.5.10.tgz", - "integrity": "sha512-hXFIc4EGs14GFfXAjT1+6mzopzCMWeXeai38/Yod3vuBXkkp8+ksen6kE09vTnB9l1IpcIaCM+XZEokuqoGX2A==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-6.3.2.tgz", + "integrity": "sha512-9DT3EG5dE/+HlSsbWLZ28/+YwGzHwgOPIMLB8AHxDsWYKzDg+SDK53IUE2UIeEiV8AFHwaDT2K+/qPFUUcS0Bw==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/filter-alpha": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-6.5.10.tgz", - "integrity": "sha512-GWHLJvY0QOIDRjVx0hdUff6nl/PePQg84i8XXPmANrvA+gJ/eSRTQRmQcdgInQfawENADB/oRqpcCct6IAcKpQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-6.3.2.tgz", + "integrity": "sha512-EhFnGuzUnQ94tosInBlMEOtiDtTAm4ZbWtoSYrH3GP7WORCQB5asWTFsOZv/QxwEbloRbxsDOATVIwS5ZcgNOg==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10" + "@pixi/core": "6.3.2" } }, "node_modules/@pixi/filter-blur": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-6.5.10.tgz", - "integrity": "sha512-LJsRocVOdM9hTzZKjP+jmkfoL1nrJi5XpR0ItgRN8fflOC7A7Ln4iPe7nukbbq3H7QhZSunbygMubbO6xhThZw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-6.3.2.tgz", + "integrity": "sha512-408Z/Rc2LJRg8AaBfzStAph18G0pT3LdLowdTOqPI2s007jgT7wLr9CyWdRe6DdSmPikgnn50R3QG9YeOPWONw==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/settings": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/settings": "6.3.2" } }, "node_modules/@pixi/filter-color-matrix": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-6.5.10.tgz", - "integrity": "sha512-C2S44/EoWTrhqedLWOZTq9GZV5loEq1+MhyK9AUzEubWGMHhou1Juhn2mRZ7R6flKPCRQNKrXpStUwCAouud3Q==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-6.3.2.tgz", + "integrity": "sha512-PRrQWRRUJ3qDqHhqYNcZ8H3tjXyFbIoUGdTOgB1uCNBHmzJ7Cirhs4lWYBBTvtduboUSGvLMpkv0sgFwodPw4Q==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10" + "@pixi/core": "6.3.2" } }, "node_modules/@pixi/filter-displacement": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-6.5.10.tgz", - "integrity": "sha512-fbblMYyPX/hO3Tpoaa4tOBYxqp4TxjNrz6xyt15tKSVxWQElk+Tx98GJ+aaBoiHOKt8ezzHplStWoHG++JIv/w==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-6.3.2.tgz", + "integrity": "sha512-Bda8jY3lVBwlG1GZadYPGXQPO7O+nTt64/KTXQgLtaKB+xj6Me5L7l9IDWtkHEoUTtQK4yCsbkdqKgLKKmNFYg==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10", - "@pixi/math": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/math": "6.3.2" } }, "node_modules/@pixi/filter-fxaa": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-6.5.10.tgz", - "integrity": "sha512-wbHL9UtY3g7jTyvO8JaZks6DqV8AO5c96Hfu0zfndWBPs79Ul6/sq3LD2eE+yq5vK5T2R9Sr4s54ls1JT3Sppg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-6.3.2.tgz", + "integrity": "sha512-C5Ga5MJlBFoZUa5oOZEsEEByPzpa+JTRVT7+qQ01g4khU1Mnk/p8JvNm6DYUqw9Y821OR80AmHm2O+r5MkLhcQ==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10" + "@pixi/core": "6.3.2" } }, "node_modules/@pixi/filter-noise": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-6.5.10.tgz", - "integrity": "sha512-CX+/06NVaw3HsjipZVb7aemkca0TC8I6qfKI4lx2ugxS/6G6zkY5zqd8+nVSXW4DpUXB6eT0emwfRv6N00NvuA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-6.3.2.tgz", + "integrity": "sha512-8lZdccDdlKTNktbD+8aeYfceayV6Rzq1P6NLpbvzFZbxH6JoaaNQb2TQgU+Vl/ZcssBB+IJ8MvJZbLuWKC4CmQ==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10" + "@pixi/core": "6.3.2" } }, "node_modules/@pixi/graphics": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-6.5.10.tgz", - "integrity": "sha512-KPHGJ910fi8bRQQ+VcTIgrK+bKIm8yAQaZKPqMtm14HzHPGcES6HkgeNY1sd7m8J4aS9btm5wOSyFu0p5IzTpA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-6.3.2.tgz", + "integrity": "sha512-GaykoXJr0pV0e9TB1yOcgvJf9i/fIF/cgT+DnGz82uninWMo31aFJSvhLbZOcEPQRfdHXdFfUkQAAMTICAp7+Q==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/sprite": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/sprite": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/interaction": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-6.5.10.tgz", - "integrity": "sha512-v809pJmXA2B9dV/vdrDMUqJT+fBB/ARZli2YRmI2dPbEbkaYr8FNmxCAJnwT8o+ymTx044Ie820hn9tVrtMtfA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-6.3.2.tgz", + "integrity": "sha512-HZyflufAW1B1cQmQBvzv4IxwcHbqQ0zhHiabSVtwPUHW/nCSpw09hL+k4HR/aFyCdRI/99JcvW5QJp1ldA6OBw==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/ticker": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/ticker": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/loaders": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-6.5.10.tgz", - "integrity": "sha512-AuK7mXBmyVsDFL9DDFPB8sqP8fwQ2NOktvu98bQuJl0/p/UeK/0OAQnF3wcf3FeBv5YGXfNHL21c2DCisjKfTg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-6.3.2.tgz", + "integrity": "sha512-kkm1pynWTslQsh+h+Tw17MdeRMQ37Ht72xiZetyWbxadRAnzj+x1I9juEKEFK62mw8K/bGBcNPhu7edgmQwkvw==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/math": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/math/-/math-6.5.10.tgz", - "integrity": "sha512-fxeu7ykVbMGxGV2S3qRTupHToeo1hdWBm8ihyURn3BMqJZe2SkZEECPd5RyvIuuNUtjRnmhkZRnF3Jsz2S+L0g==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-6.3.2.tgz", + "integrity": "sha512-REXrCKQaT2shJ3p2Rpq1ZYV4iUeAOUFKnLN2KteQWtB5HQpB8b+w5xBGI+TcnY0FUhx92fbKPYTTvCftNZF4Jw==", "dev": true }, "node_modules/@pixi/mesh": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-6.5.10.tgz", - "integrity": "sha512-tUNPsdp5/t/yRsCmfxIcufIfbQVzgAlMNgQ1igWOkSxzhB7vlEbZ8ZLLW5tQcNyM/r7Nhjz+RoB+RD+/BCtvlA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-6.3.2.tgz", + "integrity": "sha512-zhfagRDGkJx+H4a+Im3wQbCeS0Av1FyHzvPeBXXQ7LP/giwTnvJhItlhGMwgFllNEAIB47An0ffFEe5CmTcyKw==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/mesh-extras": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-6.5.10.tgz", - "integrity": "sha512-UCG7OOPPFeikrX09haCibCMR0jPQ4UJ+4HiYiAv/3dahq5eEzBx+yAwVtxcVCjonkTf/lu5SzmHdzpsbHLx5aw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-6.3.2.tgz", + "integrity": "sha512-lODKYkoHqynMK8QxE9ttZ1D+3LnHFG13YL4Yf1W9MGgy1N9G0E5DNB8/Z1BApbRxnRPRg8fsoP2bk5Bn9boWyw==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/mesh": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/mesh": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/mixin-cache-as-bitmap": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-6.5.10.tgz", - "integrity": "sha512-HV4qPZt8R7uuPZf1XE5S0e3jbN4+/EqgAIkueIyK3Em+0IO1rCmIbzzYxFPxkElMUu5VvN1r4hXK846z9ITnhw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-6.3.2.tgz", + "integrity": "sha512-Obqnf3Y2JBOtdewkaGb2oa8SDw3+JZCaOB+x0+pBqDivXpwX2eibS4PaYuGVTIa9FdcrGm9SyLOQlL5irEeEqA==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/sprite": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/sprite": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/mixin-get-child-by-name": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-6.5.10.tgz", - "integrity": "sha512-YYd9wjnI/4aKY0H5Ij413UppVZn3YE1No2CZrNevV6WbhylsJucowY3hJihtl9mxkpwtaUIyWMjmphkbOinbzA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-6.3.2.tgz", + "integrity": "sha512-R6RJzd1aQ5up5N7uO0boOp99gkSZVEbYKofJNRn1pFdzOmuVCgSqERAv9pQnjp5bBD8JvcKN+PYHPn+k+nTprQ==", "dev": true, "peerDependencies": { - "@pixi/display": "6.5.10" + "@pixi/display": "6.3.2" } }, "node_modules/@pixi/mixin-get-global-position": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-6.5.10.tgz", - "integrity": "sha512-A83gTZP9CdQAyrAvOZl1P707Q0QvIC0V8UnBAMd4GxuhMOXJtXVPCdmfPVXUrfoywgnH+/Bgimq5xhsXTf8Hzg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-6.3.2.tgz", + "integrity": "sha512-R7F1sH68fiIvB723doEzE0+k8OfhM5N0H+Ncp8iwLwXxfUDSHVj40nIngMtdK4bLSk29TTczOeXOzXkOAEVXhA==", "dev": true, "peerDependencies": { - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10" + "@pixi/display": "6.3.2", + "@pixi/math": "6.3.2" } }, "node_modules/@pixi/particle-container": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/particle-container/-/particle-container-6.5.10.tgz", - "integrity": "sha512-CCNAdYGzKoOc3FtK2kyWCNjygdHppeOEqqK189yhg3yRSsvby+HMms/cM6bLK/4Vf6mFoAy1na3w/oXpqTR2Ag==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/particle-container/-/particle-container-6.3.2.tgz", + "integrity": "sha512-iEHtE2AWQ0NZxv57VzfsBbEEp5WXAt91+l2lNvXf1SbzEm/bqjE56Q5bftx9tl3MJlDmOEfPzzKSwIUcZT+T6w==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/sprite": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/polyfill": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-6.5.10.tgz", - "integrity": "sha512-KDTWyr285VvPM8GGTVIZAhmxGrOlTznUGK/9kWS3GtrogwLWn41S/86Yej1gYvotVyUomCcOok33Jzahb+vX1w==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-6.3.2.tgz", + "integrity": "sha512-LTKqL/de7TrBoJNh9netkQofwGBIO3NwwQbqBmP6rHXeaHBx9904Pkuf7GJspIFY09TOo5fnctYnJ1F7LfTljg==", "dev": true, "dependencies": { "object-assign": "^4.1.1", @@ -1507,140 +1492,138 @@ } }, "node_modules/@pixi/prepare": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-6.5.10.tgz", - "integrity": "sha512-PHMApz/GPg7IX/7+2S98criN2+Mp+fgiKpojV9cnl0SlW2zMxfAHBBi8zik9rHBgjx8X6d6bR0MG1rPtb6vSxQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-6.3.2.tgz", + "integrity": "sha512-HFV0jUgr5arNBlgctTRqMCgG42vq48J9QLBCZMCRObJQC5325nEXC1toeEekdzqNcGu5bO8/GKeb6+Km2XK2qA==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/graphics": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/text": "6.5.10", - "@pixi/ticker": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/graphics": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/text": "6.3.2", + "@pixi/ticker": "6.3.2" } }, "node_modules/@pixi/runner": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-6.5.10.tgz", - "integrity": "sha512-4HiHp6diCmigJT/DSbnqQP62OfWKmZB7zPWMdV1AEdr4YT1QxzXAW1wHg7dkoEfyTHqZKl0tm/zcqKq/iH7tMA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-6.3.2.tgz", + "integrity": "sha512-Sspv4VTiV51GwoIg+WudHZHpT3ad5ukW20OLOR+eDOSLbgQEMfj4cTVRg27TvM/QZ/5LxeN3FqwWV+kiWpqCnw==", "dev": true }, "node_modules/@pixi/settings": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-6.5.10.tgz", - "integrity": "sha512-ypAS5L7pQ2Qb88yQK72bXtc7sD8OrtLWNXdZ/gnw5kwSWCFaOSoqhKqJCXrR5DQtN98+RQefwbEAmMvqobhFyw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-6.3.2.tgz", + "integrity": "sha512-i5cLDUWFnRub3LPa3x7IzkH8MjSwPHyHWzIZKG5t8RiCfbhVfhWGEdKO9AYp8yO/xcf7AqtPK4mikXziL48tXA==", "dev": true, - "peerDependencies": { - "@pixi/constants": "6.5.10" + "dependencies": { + "ismobilejs": "^1.1.0" } }, "node_modules/@pixi/sprite": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-6.5.10.tgz", - "integrity": "sha512-UiK+8LgM9XQ/SBDKjRgZ8WggdOSlFRXqiWjEZVmNkiyU8HvXeFzWPRhpc8RR1zDwAUhZWKtMhF8X/ba9m+z2lg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-6.3.2.tgz", + "integrity": "sha512-T1KJ8l2f8Otn6Se6h4b2pz2nrUSe59Pnmj2WIzgBisM245h7dGATs05MisMaLV6Lg/3gTBTxsLBmKsbDSQqbNw==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/sprite-animated": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-6.5.10.tgz", - "integrity": "sha512-x1kayucAqpVbNk+j+diC/7sQGQsAl6NCH1J2/EEaiQjlV3GOx1MXS9Tft1N1Y1y7otbg1XsnBd60/Yzcp05pxA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-6.3.2.tgz", + "integrity": "sha512-fSY64i5BqbOmtFKhgOWf9iML4gId7l5hcniUT/s95+eIZiyYss+jxeekVH22DrAyCOAIdsLEClvGCHGj8iXTFw==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10", - "@pixi/sprite": "6.5.10", - "@pixi/ticker": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/sprite": "6.3.2", + "@pixi/ticker": "6.3.2" } }, "node_modules/@pixi/sprite-tiling": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-6.5.10.tgz", - "integrity": "sha512-lDFcPuwExrdJhli+WmjPivChjeCG6NiRl36iQ8n2zVi/MYVv9qfKCA6IdU7HBWk1AZdsg6KUTpwfmVLUI+qz3w==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-6.3.2.tgz", + "integrity": "sha512-13zsz0xyxMvobEaSXQghSD44+MpSwpbQJYjPVPb7ItqETqQBaZgHpC5uF6vxFR6Hou8Ca8laxRuwgpn3lA095g==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/sprite": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/sprite": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/spritesheet": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-6.5.10.tgz", - "integrity": "sha512-7uOZ1cYyYtPb0ZEgXV1SZ8ujtluZNY0TL5z3+Qc8cgGGZK/MaWG7N6Wf+uR4BR2x8FLNwcyN5IjbQDKCpblrmg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-6.3.2.tgz", + "integrity": "sha512-OCi2BUqcBbh2vvbrnLLBOwxFZMQS+rvjW3udBUNbbqUL+NHy74w8N5Ed8pcxXpdfHbApGG6TVJprCGahtmEfJw==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10", - "@pixi/loaders": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/loaders": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/text": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/text/-/text-6.5.10.tgz", - "integrity": "sha512-ikwkonLJ+6QmEVW8Ji9fS5CjrKNbU4mHzYuwRQas/VJQuSWgd0myCcaw6ZbF1oSfQe70HgbNOR0sH8Q3Com0qg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-6.3.2.tgz", + "integrity": "sha512-YiPnUBmgZ0WzF0+XMm07iRg0jOyPbIjGmXJ+1srU5L9c3cCzvtg5QuYL0lPHS0Z6gyxhj/6ncePhBGO87RIKnA==", "dev": true, "peerDependencies": { - "@pixi/core": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/sprite": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/core": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/sprite": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/text-bitmap": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-6.5.10.tgz", - "integrity": "sha512-g/iFIMGp6Pfi0BvX6Ykp48Z6JXVgKOrc7UCIR9CM21wYcCiQGqtdFwstV236xk6/D8NToUtSOcifhtQ28dVTdQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-6.3.2.tgz", + "integrity": "sha512-jvMeIxoAGDlSn5rHimISI9F6fTk8D+GXG0YQraRT9oXb1Ugy/bFJph3XOTe46s4oZ5R5QeCLQmo6k7TUIvbSkA==", "dev": true, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/loaders": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/mesh": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/text": "6.5.10", - "@pixi/utils": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/loaders": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/mesh": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/text": "6.3.2", + "@pixi/utils": "6.3.2" } }, "node_modules/@pixi/ticker": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-6.5.10.tgz", - "integrity": "sha512-UqX1XYtzqFSirmTOy8QAK4Ccg4KkIZztrBdRPKwFSOEiKAJoGDCSBmyQBo/9aYQKGObbNnrJ7Hxv3/ucg3/1GA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-6.3.2.tgz", + "integrity": "sha512-Au9IO85zCOOCz50aJALFxJ2C8gbgxvD0dSNm7A5FauanJbxDcctIyrW6I51nNyHyeLIUFEkuD2jE/DmcXsXnpw==", "dev": true, "peerDependencies": { - "@pixi/extensions": "6.5.10", - "@pixi/settings": "6.5.10" + "@pixi/settings": "6.3.2" } }, "node_modules/@pixi/utils": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-6.5.10.tgz", - "integrity": "sha512-4f4qDMmAz9IoSAe08G2LAxUcEtG9jSdudfsMQT2MG+OpfToirboE6cNoO0KnLCvLzDVE/mfisiQ9uJbVA9Ssdw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-6.3.2.tgz", + "integrity": "sha512-VpB403kfqwXK9w7Qb6ex0aW0g6pWI/t43F2Z8CA/lAfYcN3O0XoxDucvmkLTQWsMtYn+Yf7YhAcLV5SemKwP0A==", "dev": true, "dependencies": { "@types/earcut": "^2.1.0", - "earcut": "^2.2.4", + "earcut": "^2.2.2", "eventemitter3": "^3.1.0", "url": "^0.11.0" }, "peerDependencies": { - "@pixi/constants": "6.5.10", - "@pixi/settings": "6.5.10" + "@pixi/constants": "6.3.2", + "@pixi/settings": "6.3.2" } }, "node_modules/@sinclair/typebox": { @@ -3312,9 +3295,9 @@ } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, "engines": { "node": ">= 0.4" @@ -3524,6 +3507,12 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/ismobilejs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", + "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==", + "dev": true + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -4624,47 +4613,46 @@ } }, "node_modules/pixi.js": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-6.5.10.tgz", - "integrity": "sha512-Z2mjeoISml2iuVwT1e/BQwERYM2yKoiR08ZdGrg8y5JjeuVptfTrve4DbPMRN/kEDodesgQZGV/pFv0fE9Q2SA==", - "dev": true, - "dependencies": { - "@pixi/accessibility": "6.5.10", - "@pixi/app": "6.5.10", - "@pixi/compressed-textures": "6.5.10", - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/extensions": "6.5.10", - "@pixi/extract": "6.5.10", - "@pixi/filter-alpha": "6.5.10", - "@pixi/filter-blur": "6.5.10", - "@pixi/filter-color-matrix": "6.5.10", - "@pixi/filter-displacement": "6.5.10", - "@pixi/filter-fxaa": "6.5.10", - "@pixi/filter-noise": "6.5.10", - "@pixi/graphics": "6.5.10", - "@pixi/interaction": "6.5.10", - "@pixi/loaders": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/mesh": "6.5.10", - "@pixi/mesh-extras": "6.5.10", - "@pixi/mixin-cache-as-bitmap": "6.5.10", - "@pixi/mixin-get-child-by-name": "6.5.10", - "@pixi/mixin-get-global-position": "6.5.10", - "@pixi/particle-container": "6.5.10", - "@pixi/polyfill": "6.5.10", - "@pixi/prepare": "6.5.10", - "@pixi/runner": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/sprite": "6.5.10", - "@pixi/sprite-animated": "6.5.10", - "@pixi/sprite-tiling": "6.5.10", - "@pixi/spritesheet": "6.5.10", - "@pixi/text": "6.5.10", - "@pixi/text-bitmap": "6.5.10", - "@pixi/ticker": "6.5.10", - "@pixi/utils": "6.5.10" + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-6.3.2.tgz", + "integrity": "sha512-XEF59IQRouXCkTSCwNrNvr08/FY3Dai4lwNdrgh5SLeS4Hmn+lNURq2auM+4lYPfsXtQdpZNdJ5iYrFwP41JvA==", + "dev": true, + "dependencies": { + "@pixi/accessibility": "6.3.2", + "@pixi/app": "6.3.2", + "@pixi/compressed-textures": "6.3.2", + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/extract": "6.3.2", + "@pixi/filter-alpha": "6.3.2", + "@pixi/filter-blur": "6.3.2", + "@pixi/filter-color-matrix": "6.3.2", + "@pixi/filter-displacement": "6.3.2", + "@pixi/filter-fxaa": "6.3.2", + "@pixi/filter-noise": "6.3.2", + "@pixi/graphics": "6.3.2", + "@pixi/interaction": "6.3.2", + "@pixi/loaders": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/mesh": "6.3.2", + "@pixi/mesh-extras": "6.3.2", + "@pixi/mixin-cache-as-bitmap": "6.3.2", + "@pixi/mixin-get-child-by-name": "6.3.2", + "@pixi/mixin-get-global-position": "6.3.2", + "@pixi/particle-container": "6.3.2", + "@pixi/polyfill": "6.3.2", + "@pixi/prepare": "6.3.2", + "@pixi/runner": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/sprite": "6.3.2", + "@pixi/sprite-animated": "6.3.2", + "@pixi/sprite-tiling": "6.3.2", + "@pixi/spritesheet": "6.3.2", + "@pixi/text": "6.3.2", + "@pixi/text-bitmap": "6.3.2", + "@pixi/ticker": "6.3.2", + "@pixi/utils": "6.3.2" }, "funding": { "type": "opencollective", @@ -4812,12 +4800,12 @@ ] }, "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -4999,17 +4987,17 @@ "dev": true }, "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.2", + "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -5037,12 +5025,12 @@ } }, "node_modules/side-channel": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", - "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" @@ -6502,176 +6490,170 @@ } }, "@pixi/accessibility": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-6.5.10.tgz", - "integrity": "sha512-URrI1H+1kjjHSyhY1QXcUZ8S3omdVTrXg5y0gndtpOhIelErBTC9NWjJfw6s0Rlmv5+x5VAitQTgw9mRiatDgw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-6.3.2.tgz", + "integrity": "sha512-JLDuSGITGEOmR7s0d1Wxj7a3yIp4hP6w2h6ku6iu3clE/bmVtnvhqMX1D1lhjRW/uWUfpVT4U+8CG+LgSsEZ1g==", "dev": true, "requires": {} }, "@pixi/app": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/app/-/app-6.5.10.tgz", - "integrity": "sha512-VsNHLajZ5Dbc/Zrj7iWmIl3eu6Fec+afjW/NXXezD8Sp3nTDF0bv5F+GDgN/zSc2gqIvPHyundImT7hQGBDghg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-6.3.2.tgz", + "integrity": "sha512-V1jnhL92OPiquXtLxUeSZiVDd1mtjRnYpBKA958w29MrIRBx3Y6dgnvsaFZGGWBvSL//WRYV23iZKVL/jRGmmQ==", "dev": true, "requires": {} }, "@pixi/compressed-textures": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/compressed-textures/-/compressed-textures-6.5.10.tgz", - "integrity": "sha512-41NT5mkfam47DrkB8xMp3HUZDt7139JMB6rVNOmb3u2vm+2mdy9tzi5s9nN7bG9xgXlchxcFzytTURk+jwXVJA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/compressed-textures/-/compressed-textures-6.3.2.tgz", + "integrity": "sha512-E/T9WsWcTstnCaDo3GQZUsvX2bE1tZwJ+rUVQ6ad+9MLI6mpUKJFUy5XXlnZw0uiKU5Hipi1ASPQ8/EQ7kKebA==", "dev": true, "requires": {} }, "@pixi/constants": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-6.5.10.tgz", - "integrity": "sha512-PUF2Y9YISRu5eVrVVHhHCWpc/KmxQTg3UH8rIUs8UI9dCK41/wsPd3pEahzf7H47v7x1HCohVZcFO3XQc1bUDw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-6.3.2.tgz", + "integrity": "sha512-sUE8QEJNl4vWUybS0YqpVUBWoOyLkr5bSj1+3mpmbWJTMVmLB2voFXo7XpSNCBlLH1SBN5flcgJlUWOCgNyATg==", "dev": true }, "@pixi/core": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/core/-/core-6.5.10.tgz", - "integrity": "sha512-Gdzp5ENypyglvsh5Gv3teUZnZnmizo4xOsL+QqmWALdFlJXJwLJMVhKVThV/q/095XR6i4Ou54oshn+m4EkuFw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-6.3.2.tgz", + "integrity": "sha512-91Fw0CbFpPtMKo5TG1wdaZGgR99lX87l15F7kgge7FM7ZR4EghLiJHU8whQ19f/UNOd8AG7mHD84lUB1VXXfoA==", "dev": true, "requires": { "@types/offscreencanvas": "^2019.6.4" } }, "@pixi/display": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/display/-/display-6.5.10.tgz", - "integrity": "sha512-NxFdDDxlbH5fQkzGHraLGoTMucW9pVgXqQm13TSmkA3NWIi/SItHL4qT2SI8nmclT9Vid1VDEBCJFAbdeuQw1Q==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-6.3.2.tgz", + "integrity": "sha512-D+WiM0BcyPK91RYxl7TXXVNz/5lOGs8Q6jtCMcWgTHwCXxWPOHFnNZ4KPJZpUQ7me8Tl2u+c9hfB5Oh1+17r/Q==", "dev": true, "requires": {} }, - "@pixi/extensions": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/extensions/-/extensions-6.5.10.tgz", - "integrity": "sha512-EIUGza+E+sCy3dupuIjvRK/WyVyfSzHb5XsxRaxNrPwvG1iIUIqNqZ3owLYCo4h17fJWrj/yXVufNNtUKQccWQ==", - "dev": true - }, "@pixi/extract": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-6.5.10.tgz", - "integrity": "sha512-hXFIc4EGs14GFfXAjT1+6mzopzCMWeXeai38/Yod3vuBXkkp8+ksen6kE09vTnB9l1IpcIaCM+XZEokuqoGX2A==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-6.3.2.tgz", + "integrity": "sha512-9DT3EG5dE/+HlSsbWLZ28/+YwGzHwgOPIMLB8AHxDsWYKzDg+SDK53IUE2UIeEiV8AFHwaDT2K+/qPFUUcS0Bw==", "dev": true, "requires": {} }, "@pixi/filter-alpha": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-6.5.10.tgz", - "integrity": "sha512-GWHLJvY0QOIDRjVx0hdUff6nl/PePQg84i8XXPmANrvA+gJ/eSRTQRmQcdgInQfawENADB/oRqpcCct6IAcKpQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-6.3.2.tgz", + "integrity": "sha512-EhFnGuzUnQ94tosInBlMEOtiDtTAm4ZbWtoSYrH3GP7WORCQB5asWTFsOZv/QxwEbloRbxsDOATVIwS5ZcgNOg==", "dev": true, "requires": {} }, "@pixi/filter-blur": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-6.5.10.tgz", - "integrity": "sha512-LJsRocVOdM9hTzZKjP+jmkfoL1nrJi5XpR0ItgRN8fflOC7A7Ln4iPe7nukbbq3H7QhZSunbygMubbO6xhThZw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-6.3.2.tgz", + "integrity": "sha512-408Z/Rc2LJRg8AaBfzStAph18G0pT3LdLowdTOqPI2s007jgT7wLr9CyWdRe6DdSmPikgnn50R3QG9YeOPWONw==", "dev": true, "requires": {} }, "@pixi/filter-color-matrix": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-6.5.10.tgz", - "integrity": "sha512-C2S44/EoWTrhqedLWOZTq9GZV5loEq1+MhyK9AUzEubWGMHhou1Juhn2mRZ7R6flKPCRQNKrXpStUwCAouud3Q==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-6.3.2.tgz", + "integrity": "sha512-PRrQWRRUJ3qDqHhqYNcZ8H3tjXyFbIoUGdTOgB1uCNBHmzJ7Cirhs4lWYBBTvtduboUSGvLMpkv0sgFwodPw4Q==", "dev": true, "requires": {} }, "@pixi/filter-displacement": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-6.5.10.tgz", - "integrity": "sha512-fbblMYyPX/hO3Tpoaa4tOBYxqp4TxjNrz6xyt15tKSVxWQElk+Tx98GJ+aaBoiHOKt8ezzHplStWoHG++JIv/w==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-6.3.2.tgz", + "integrity": "sha512-Bda8jY3lVBwlG1GZadYPGXQPO7O+nTt64/KTXQgLtaKB+xj6Me5L7l9IDWtkHEoUTtQK4yCsbkdqKgLKKmNFYg==", "dev": true, "requires": {} }, "@pixi/filter-fxaa": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-6.5.10.tgz", - "integrity": "sha512-wbHL9UtY3g7jTyvO8JaZks6DqV8AO5c96Hfu0zfndWBPs79Ul6/sq3LD2eE+yq5vK5T2R9Sr4s54ls1JT3Sppg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-6.3.2.tgz", + "integrity": "sha512-C5Ga5MJlBFoZUa5oOZEsEEByPzpa+JTRVT7+qQ01g4khU1Mnk/p8JvNm6DYUqw9Y821OR80AmHm2O+r5MkLhcQ==", "dev": true, "requires": {} }, "@pixi/filter-noise": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-6.5.10.tgz", - "integrity": "sha512-CX+/06NVaw3HsjipZVb7aemkca0TC8I6qfKI4lx2ugxS/6G6zkY5zqd8+nVSXW4DpUXB6eT0emwfRv6N00NvuA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-6.3.2.tgz", + "integrity": "sha512-8lZdccDdlKTNktbD+8aeYfceayV6Rzq1P6NLpbvzFZbxH6JoaaNQb2TQgU+Vl/ZcssBB+IJ8MvJZbLuWKC4CmQ==", "dev": true, "requires": {} }, "@pixi/graphics": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-6.5.10.tgz", - "integrity": "sha512-KPHGJ910fi8bRQQ+VcTIgrK+bKIm8yAQaZKPqMtm14HzHPGcES6HkgeNY1sd7m8J4aS9btm5wOSyFu0p5IzTpA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-6.3.2.tgz", + "integrity": "sha512-GaykoXJr0pV0e9TB1yOcgvJf9i/fIF/cgT+DnGz82uninWMo31aFJSvhLbZOcEPQRfdHXdFfUkQAAMTICAp7+Q==", "dev": true, "requires": {} }, "@pixi/interaction": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-6.5.10.tgz", - "integrity": "sha512-v809pJmXA2B9dV/vdrDMUqJT+fBB/ARZli2YRmI2dPbEbkaYr8FNmxCAJnwT8o+ymTx044Ie820hn9tVrtMtfA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-6.3.2.tgz", + "integrity": "sha512-HZyflufAW1B1cQmQBvzv4IxwcHbqQ0zhHiabSVtwPUHW/nCSpw09hL+k4HR/aFyCdRI/99JcvW5QJp1ldA6OBw==", "dev": true, "requires": {} }, "@pixi/loaders": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-6.5.10.tgz", - "integrity": "sha512-AuK7mXBmyVsDFL9DDFPB8sqP8fwQ2NOktvu98bQuJl0/p/UeK/0OAQnF3wcf3FeBv5YGXfNHL21c2DCisjKfTg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-6.3.2.tgz", + "integrity": "sha512-kkm1pynWTslQsh+h+Tw17MdeRMQ37Ht72xiZetyWbxadRAnzj+x1I9juEKEFK62mw8K/bGBcNPhu7edgmQwkvw==", "dev": true, "requires": {} }, "@pixi/math": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/math/-/math-6.5.10.tgz", - "integrity": "sha512-fxeu7ykVbMGxGV2S3qRTupHToeo1hdWBm8ihyURn3BMqJZe2SkZEECPd5RyvIuuNUtjRnmhkZRnF3Jsz2S+L0g==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-6.3.2.tgz", + "integrity": "sha512-REXrCKQaT2shJ3p2Rpq1ZYV4iUeAOUFKnLN2KteQWtB5HQpB8b+w5xBGI+TcnY0FUhx92fbKPYTTvCftNZF4Jw==", "dev": true }, "@pixi/mesh": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-6.5.10.tgz", - "integrity": "sha512-tUNPsdp5/t/yRsCmfxIcufIfbQVzgAlMNgQ1igWOkSxzhB7vlEbZ8ZLLW5tQcNyM/r7Nhjz+RoB+RD+/BCtvlA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-6.3.2.tgz", + "integrity": "sha512-zhfagRDGkJx+H4a+Im3wQbCeS0Av1FyHzvPeBXXQ7LP/giwTnvJhItlhGMwgFllNEAIB47An0ffFEe5CmTcyKw==", "dev": true, "requires": {} }, "@pixi/mesh-extras": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-6.5.10.tgz", - "integrity": "sha512-UCG7OOPPFeikrX09haCibCMR0jPQ4UJ+4HiYiAv/3dahq5eEzBx+yAwVtxcVCjonkTf/lu5SzmHdzpsbHLx5aw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-6.3.2.tgz", + "integrity": "sha512-lODKYkoHqynMK8QxE9ttZ1D+3LnHFG13YL4Yf1W9MGgy1N9G0E5DNB8/Z1BApbRxnRPRg8fsoP2bk5Bn9boWyw==", "dev": true, "requires": {} }, "@pixi/mixin-cache-as-bitmap": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-6.5.10.tgz", - "integrity": "sha512-HV4qPZt8R7uuPZf1XE5S0e3jbN4+/EqgAIkueIyK3Em+0IO1rCmIbzzYxFPxkElMUu5VvN1r4hXK846z9ITnhw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-6.3.2.tgz", + "integrity": "sha512-Obqnf3Y2JBOtdewkaGb2oa8SDw3+JZCaOB+x0+pBqDivXpwX2eibS4PaYuGVTIa9FdcrGm9SyLOQlL5irEeEqA==", "dev": true, "requires": {} }, "@pixi/mixin-get-child-by-name": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-6.5.10.tgz", - "integrity": "sha512-YYd9wjnI/4aKY0H5Ij413UppVZn3YE1No2CZrNevV6WbhylsJucowY3hJihtl9mxkpwtaUIyWMjmphkbOinbzA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-6.3.2.tgz", + "integrity": "sha512-R6RJzd1aQ5up5N7uO0boOp99gkSZVEbYKofJNRn1pFdzOmuVCgSqERAv9pQnjp5bBD8JvcKN+PYHPn+k+nTprQ==", "dev": true, "requires": {} }, "@pixi/mixin-get-global-position": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-6.5.10.tgz", - "integrity": "sha512-A83gTZP9CdQAyrAvOZl1P707Q0QvIC0V8UnBAMd4GxuhMOXJtXVPCdmfPVXUrfoywgnH+/Bgimq5xhsXTf8Hzg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-6.3.2.tgz", + "integrity": "sha512-R7F1sH68fiIvB723doEzE0+k8OfhM5N0H+Ncp8iwLwXxfUDSHVj40nIngMtdK4bLSk29TTczOeXOzXkOAEVXhA==", "dev": true, "requires": {} }, "@pixi/particle-container": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/particle-container/-/particle-container-6.5.10.tgz", - "integrity": "sha512-CCNAdYGzKoOc3FtK2kyWCNjygdHppeOEqqK189yhg3yRSsvby+HMms/cM6bLK/4Vf6mFoAy1na3w/oXpqTR2Ag==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/particle-container/-/particle-container-6.3.2.tgz", + "integrity": "sha512-iEHtE2AWQ0NZxv57VzfsBbEEp5WXAt91+l2lNvXf1SbzEm/bqjE56Q5bftx9tl3MJlDmOEfPzzKSwIUcZT+T6w==", "dev": true, "requires": {} }, "@pixi/polyfill": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-6.5.10.tgz", - "integrity": "sha512-KDTWyr285VvPM8GGTVIZAhmxGrOlTznUGK/9kWS3GtrogwLWn41S/86Yej1gYvotVyUomCcOok33Jzahb+vX1w==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-6.3.2.tgz", + "integrity": "sha512-LTKqL/de7TrBoJNh9netkQofwGBIO3NwwQbqBmP6rHXeaHBx9904Pkuf7GJspIFY09TOo5fnctYnJ1F7LfTljg==", "dev": true, "requires": { "object-assign": "^4.1.1", @@ -6679,82 +6661,84 @@ } }, "@pixi/prepare": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-6.5.10.tgz", - "integrity": "sha512-PHMApz/GPg7IX/7+2S98criN2+Mp+fgiKpojV9cnl0SlW2zMxfAHBBi8zik9rHBgjx8X6d6bR0MG1rPtb6vSxQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-6.3.2.tgz", + "integrity": "sha512-HFV0jUgr5arNBlgctTRqMCgG42vq48J9QLBCZMCRObJQC5325nEXC1toeEekdzqNcGu5bO8/GKeb6+Km2XK2qA==", "dev": true, "requires": {} }, "@pixi/runner": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-6.5.10.tgz", - "integrity": "sha512-4HiHp6diCmigJT/DSbnqQP62OfWKmZB7zPWMdV1AEdr4YT1QxzXAW1wHg7dkoEfyTHqZKl0tm/zcqKq/iH7tMA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-6.3.2.tgz", + "integrity": "sha512-Sspv4VTiV51GwoIg+WudHZHpT3ad5ukW20OLOR+eDOSLbgQEMfj4cTVRg27TvM/QZ/5LxeN3FqwWV+kiWpqCnw==", "dev": true }, "@pixi/settings": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-6.5.10.tgz", - "integrity": "sha512-ypAS5L7pQ2Qb88yQK72bXtc7sD8OrtLWNXdZ/gnw5kwSWCFaOSoqhKqJCXrR5DQtN98+RQefwbEAmMvqobhFyw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-6.3.2.tgz", + "integrity": "sha512-i5cLDUWFnRub3LPa3x7IzkH8MjSwPHyHWzIZKG5t8RiCfbhVfhWGEdKO9AYp8yO/xcf7AqtPK4mikXziL48tXA==", "dev": true, - "requires": {} + "requires": { + "ismobilejs": "^1.1.0" + } }, "@pixi/sprite": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-6.5.10.tgz", - "integrity": "sha512-UiK+8LgM9XQ/SBDKjRgZ8WggdOSlFRXqiWjEZVmNkiyU8HvXeFzWPRhpc8RR1zDwAUhZWKtMhF8X/ba9m+z2lg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-6.3.2.tgz", + "integrity": "sha512-T1KJ8l2f8Otn6Se6h4b2pz2nrUSe59Pnmj2WIzgBisM245h7dGATs05MisMaLV6Lg/3gTBTxsLBmKsbDSQqbNw==", "dev": true, "requires": {} }, "@pixi/sprite-animated": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-6.5.10.tgz", - "integrity": "sha512-x1kayucAqpVbNk+j+diC/7sQGQsAl6NCH1J2/EEaiQjlV3GOx1MXS9Tft1N1Y1y7otbg1XsnBd60/Yzcp05pxA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-6.3.2.tgz", + "integrity": "sha512-fSY64i5BqbOmtFKhgOWf9iML4gId7l5hcniUT/s95+eIZiyYss+jxeekVH22DrAyCOAIdsLEClvGCHGj8iXTFw==", "dev": true, "requires": {} }, "@pixi/sprite-tiling": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-6.5.10.tgz", - "integrity": "sha512-lDFcPuwExrdJhli+WmjPivChjeCG6NiRl36iQ8n2zVi/MYVv9qfKCA6IdU7HBWk1AZdsg6KUTpwfmVLUI+qz3w==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-6.3.2.tgz", + "integrity": "sha512-13zsz0xyxMvobEaSXQghSD44+MpSwpbQJYjPVPb7ItqETqQBaZgHpC5uF6vxFR6Hou8Ca8laxRuwgpn3lA095g==", "dev": true, "requires": {} }, "@pixi/spritesheet": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-6.5.10.tgz", - "integrity": "sha512-7uOZ1cYyYtPb0ZEgXV1SZ8ujtluZNY0TL5z3+Qc8cgGGZK/MaWG7N6Wf+uR4BR2x8FLNwcyN5IjbQDKCpblrmg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-6.3.2.tgz", + "integrity": "sha512-OCi2BUqcBbh2vvbrnLLBOwxFZMQS+rvjW3udBUNbbqUL+NHy74w8N5Ed8pcxXpdfHbApGG6TVJprCGahtmEfJw==", "dev": true, "requires": {} }, "@pixi/text": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/text/-/text-6.5.10.tgz", - "integrity": "sha512-ikwkonLJ+6QmEVW8Ji9fS5CjrKNbU4mHzYuwRQas/VJQuSWgd0myCcaw6ZbF1oSfQe70HgbNOR0sH8Q3Com0qg==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-6.3.2.tgz", + "integrity": "sha512-YiPnUBmgZ0WzF0+XMm07iRg0jOyPbIjGmXJ+1srU5L9c3cCzvtg5QuYL0lPHS0Z6gyxhj/6ncePhBGO87RIKnA==", "dev": true, "requires": {} }, "@pixi/text-bitmap": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-6.5.10.tgz", - "integrity": "sha512-g/iFIMGp6Pfi0BvX6Ykp48Z6JXVgKOrc7UCIR9CM21wYcCiQGqtdFwstV236xk6/D8NToUtSOcifhtQ28dVTdQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-6.3.2.tgz", + "integrity": "sha512-jvMeIxoAGDlSn5rHimISI9F6fTk8D+GXG0YQraRT9oXb1Ugy/bFJph3XOTe46s4oZ5R5QeCLQmo6k7TUIvbSkA==", "dev": true, "requires": {} }, "@pixi/ticker": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-6.5.10.tgz", - "integrity": "sha512-UqX1XYtzqFSirmTOy8QAK4Ccg4KkIZztrBdRPKwFSOEiKAJoGDCSBmyQBo/9aYQKGObbNnrJ7Hxv3/ucg3/1GA==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-6.3.2.tgz", + "integrity": "sha512-Au9IO85zCOOCz50aJALFxJ2C8gbgxvD0dSNm7A5FauanJbxDcctIyrW6I51nNyHyeLIUFEkuD2jE/DmcXsXnpw==", "dev": true, "requires": {} }, "@pixi/utils": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-6.5.10.tgz", - "integrity": "sha512-4f4qDMmAz9IoSAe08G2LAxUcEtG9jSdudfsMQT2MG+OpfToirboE6cNoO0KnLCvLzDVE/mfisiQ9uJbVA9Ssdw==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-6.3.2.tgz", + "integrity": "sha512-VpB403kfqwXK9w7Qb6ex0aW0g6pWI/t43F2Z8CA/lAfYcN3O0XoxDucvmkLTQWsMtYn+Yf7YhAcLV5SemKwP0A==", "dev": true, "requires": { "@types/earcut": "^2.1.0", - "earcut": "^2.2.4", + "earcut": "^2.2.2", "eventemitter3": "^3.1.0", "url": "^0.11.0" } @@ -7982,9 +7966,9 @@ } }, "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true }, "has-symbols": { @@ -8128,6 +8112,12 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "ismobilejs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", + "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==", + "dev": true + }, "istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -8967,47 +8957,46 @@ "dev": true }, "pixi.js": { - "version": "6.5.10", - "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-6.5.10.tgz", - "integrity": "sha512-Z2mjeoISml2iuVwT1e/BQwERYM2yKoiR08ZdGrg8y5JjeuVptfTrve4DbPMRN/kEDodesgQZGV/pFv0fE9Q2SA==", - "dev": true, - "requires": { - "@pixi/accessibility": "6.5.10", - "@pixi/app": "6.5.10", - "@pixi/compressed-textures": "6.5.10", - "@pixi/constants": "6.5.10", - "@pixi/core": "6.5.10", - "@pixi/display": "6.5.10", - "@pixi/extensions": "6.5.10", - "@pixi/extract": "6.5.10", - "@pixi/filter-alpha": "6.5.10", - "@pixi/filter-blur": "6.5.10", - "@pixi/filter-color-matrix": "6.5.10", - "@pixi/filter-displacement": "6.5.10", - "@pixi/filter-fxaa": "6.5.10", - "@pixi/filter-noise": "6.5.10", - "@pixi/graphics": "6.5.10", - "@pixi/interaction": "6.5.10", - "@pixi/loaders": "6.5.10", - "@pixi/math": "6.5.10", - "@pixi/mesh": "6.5.10", - "@pixi/mesh-extras": "6.5.10", - "@pixi/mixin-cache-as-bitmap": "6.5.10", - "@pixi/mixin-get-child-by-name": "6.5.10", - "@pixi/mixin-get-global-position": "6.5.10", - "@pixi/particle-container": "6.5.10", - "@pixi/polyfill": "6.5.10", - "@pixi/prepare": "6.5.10", - "@pixi/runner": "6.5.10", - "@pixi/settings": "6.5.10", - "@pixi/sprite": "6.5.10", - "@pixi/sprite-animated": "6.5.10", - "@pixi/sprite-tiling": "6.5.10", - "@pixi/spritesheet": "6.5.10", - "@pixi/text": "6.5.10", - "@pixi/text-bitmap": "6.5.10", - "@pixi/ticker": "6.5.10", - "@pixi/utils": "6.5.10" + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-6.3.2.tgz", + "integrity": "sha512-XEF59IQRouXCkTSCwNrNvr08/FY3Dai4lwNdrgh5SLeS4Hmn+lNURq2auM+4lYPfsXtQdpZNdJ5iYrFwP41JvA==", + "dev": true, + "requires": { + "@pixi/accessibility": "6.3.2", + "@pixi/app": "6.3.2", + "@pixi/compressed-textures": "6.3.2", + "@pixi/constants": "6.3.2", + "@pixi/core": "6.3.2", + "@pixi/display": "6.3.2", + "@pixi/extract": "6.3.2", + "@pixi/filter-alpha": "6.3.2", + "@pixi/filter-blur": "6.3.2", + "@pixi/filter-color-matrix": "6.3.2", + "@pixi/filter-displacement": "6.3.2", + "@pixi/filter-fxaa": "6.3.2", + "@pixi/filter-noise": "6.3.2", + "@pixi/graphics": "6.3.2", + "@pixi/interaction": "6.3.2", + "@pixi/loaders": "6.3.2", + "@pixi/math": "6.3.2", + "@pixi/mesh": "6.3.2", + "@pixi/mesh-extras": "6.3.2", + "@pixi/mixin-cache-as-bitmap": "6.3.2", + "@pixi/mixin-get-child-by-name": "6.3.2", + "@pixi/mixin-get-global-position": "6.3.2", + "@pixi/particle-container": "6.3.2", + "@pixi/polyfill": "6.3.2", + "@pixi/prepare": "6.3.2", + "@pixi/runner": "6.3.2", + "@pixi/settings": "6.3.2", + "@pixi/sprite": "6.3.2", + "@pixi/sprite-animated": "6.3.2", + "@pixi/sprite-tiling": "6.3.2", + "@pixi/spritesheet": "6.3.2", + "@pixi/text": "6.3.2", + "@pixi/text-bitmap": "6.3.2", + "@pixi/ticker": "6.3.2", + "@pixi/utils": "6.3.2" } }, "pkg-dir": { @@ -9112,12 +9101,12 @@ "dev": true }, "qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", "dev": true, "requires": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" } }, "queue-microtask": { @@ -9229,17 +9218,17 @@ } }, "set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "requires": { - "define-data-property": "^1.1.2", + "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.2" } }, "shebang-command": { @@ -9258,12 +9247,12 @@ "dev": true }, "side-channel": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", - "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, "requires": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", "object-inspect": "^1.13.1" diff --git a/package.json b/package.json index acb3a16..1585414 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pixijs-actions", - "version": "1.2.1", + "version": "1.2.2", "author": "Reece Como ", "authors": [ "Reece Como ", @@ -39,17 +39,17 @@ "tweening" ], "peerDependencies": { - "pixi.js": ">=6.1.0" + "pixi.js": "^6.3.0 || ^7.0.0 || ^8.0.0" }, "devDependencies": { - "pixi.js": "^6.1.0", - "typescript": "^4.2.3", "@types/jest": "^29.2.6", - "jest": "^29.3.1", - "ts-jest": "^29.0.5", "@typescript-eslint/eslint-plugin": "^7.1.0", "@typescript-eslint/parser": "^7.1.0", "eslint": "^8.57.0", - "eslint-plugin-disable-autofix": "^4.2.0" + "eslint-plugin-disable-autofix": "^4.2.0", + "jest": "^29.3.1", + "pixi.js": "6.3.x", + "ts-jest": "^29.0.5", + "typescript": "4.9.5" } } diff --git a/src/Action.ts b/src/Action.ts index e0bdcd0..152c83a 100644 --- a/src/Action.ts +++ b/src/Action.ts @@ -17,7 +17,7 @@ import { RotateByAction, RotateToAction, RunBlockAction, - RunOnChildWithNameAction, + RunOnChildAction, ScaleByAction, ScaleToAction, ScaleToSizeAction, @@ -33,7 +33,7 @@ const DEG_TO_RAD = Math.PI / 180; /** * Create, configure, and run actions in PixiJS. * - * An action is an animation that is executed by a DisplayObject in the canvas. + * An action is an animation that is executed by a target node. * * ### Setup: * Bind `Action.tick(deltaTimeMs)` to your renderer/shared ticker to activate actions. @@ -491,7 +491,7 @@ export abstract class _ extends Action { } // - // ----------------- Display Object Actions: ----------------- + // ----------------- Container Actions: ----------------- // /** @@ -543,8 +543,8 @@ export abstract class _ extends Action { * This action is reversible; it tells the child to execute the reverse of the action specified by * the action parameter. */ - public static runOnChildWithName(action: Action, name: string): Action { - return new RunOnChildWithNameAction(action, name); + public static runOnChild(nameOrLabel: string, action: Action): Action { + return new RunOnChildAction(action, nameOrLabel); } // diff --git a/src/DisplayObject.mixin.ts b/src/Container.mixin.ts similarity index 81% rename from src/DisplayObject.mixin.ts rename to src/Container.mixin.ts index 6b19308..e72c7f6 100644 --- a/src/DisplayObject.mixin.ts +++ b/src/Container.mixin.ts @@ -1,17 +1,13 @@ import { _ as Action } from "./Action"; import { ActionTicker } from "./lib/ActionTicker"; -// -// ----- DisplayObject Mixin: ----- -// - /** - * Register the mixins for PIXI.DisplayObject. + * Register the mixin for PIXI.Container. * - * @param displayObject A reference to `PIXI.DisplayObject`. + * @param container A reference to `PIXI.Container`. */ -export function registerDisplayObjectMixin(displayObject: any): void { - const prototype = displayObject.prototype; +export function registerPixiJSActionsMixin(container: any): void { + const prototype = container.prototype; // - Properties: prototype.speed = 1.0; diff --git a/src/__tests__/Action.test.ts b/src/__tests__/Action.test.ts index a187489..f066088 100644 --- a/src/__tests__/Action.test.ts +++ b/src/__tests__/Action.test.ts @@ -1,18 +1,20 @@ -import { Container, DisplayObject, Sprite } from 'pixi.js'; -import { Action, TimingMode, registerDisplayObjectMixin } from '../index'; -// import { registerDisplayObjectMixin } from '../DisplayObject.mixin'; +import { Container, Sprite } from 'pixi.js'; +import { Action, TimingMode, registerPixiJSActionsMixin } from '../index'; -function simulateTime(seconds: number, steps: number = 100): void { +function simulateTime(seconds: number, steps: number = 100): Error[] { + const errors: Error[] = []; const tickMs = seconds / steps * 1_000; // Simulate in multiple increments to mimic real world conditions. for (let i = 0; i < steps; i++) { - Action.tick(tickMs); + Action.tick(tickMs, (error) => errors.push(error)); } + + return errors; } -/** Load the DisplayObject mixin first. */ -beforeAll(() => registerDisplayObjectMixin(DisplayObject)); +/** Load the Container mixin first. */ +beforeAll(() => registerPixiJSActionsMixin(Container)); describe('DefaultTimingMode static properties', () => { it('should reflect the DefaultTimingModeEaseInOut on the root Action type', () => { @@ -544,19 +546,16 @@ describe('Action', () => { }); }); - describe('runOnChildWithName()', () => { - it('passes the action to the named child', () => { + describe('runOnChild()', () => { + it('passes the action to the named child with PixiJS v8 label', () => { const childNode = new Container(); - childNode.name = "myChildNode"; + (childNode as any).label = 'myChildNode'; const parentNode = new Container(); parentNode.addChild(childNode); parentNode.run( - Action.runOnChildWithName( - Action.rotateBy(Math.PI, 1.0), - "myChildNode", - ) + Action.runOnChild('myChildNode', Action.rotateBy(Math.PI, 1.0)) ); simulateTime(0.5); @@ -569,6 +568,62 @@ describe('Action', () => { expect(childNode.rotation).toBeCloseTo(Math.PI); expect(childNode.hasActions()).toBe(false); }); + + it('passes the action to the named child with PixiJS v6/v7 name', () => { + const childNode = new Container(); + childNode.name = 'myChildNode'; + + const parentNode = new Container(); + parentNode.addChild(childNode); + + parentNode.run( + Action.runOnChild('myChildNode', Action.rotateBy(Math.PI, 1.0)) + ); + + simulateTime(0.5); + + expect(parentNode.hasActions()).toBe(false); + expect(childNode.hasActions()).toBe(true); + + simulateTime(1.0); + + expect(childNode.rotation).toBeCloseTo(Math.PI); + expect(childNode.hasActions()).toBe(false); + }); + + it('errors with ReferenceError when child node does not exist', () => { + const childNode = new Container(); + childNode.name = 'otherChildNode'; + + const parentNode = new Container(); + parentNode.addChild(childNode); + + parentNode.run( + Action.runOnChild('myChildNode', Action.rotateBy(Math.PI, 1.0)) + ); + + const errors = simulateTime(0.5); + expect(errors.length).toBe(1); + expect(errors[0]).toBeInstanceOf(ReferenceError); + + expect(parentNode.hasActions()).toBe(false); + expect(childNode.hasActions()).toBe(false); + }); + + it('errors with TypeError when target cannot have children', () => { + const parentNode = new Container(); + (parentNode as any).children = undefined; // Simulate PixiJS v8 + + parentNode.run( + Action.runOnChild('myChildNode', Action.rotateBy(Math.PI, 1.0)) + ); + + const errors = simulateTime(0.5); + expect(errors.length).toBe(1); + expect(errors[0]).toBeInstanceOf(TypeError); + + expect(parentNode.hasActions()).toBe(false); + }); }); describe('speedTo()', () => { diff --git a/src/actions/display-object/RunOnChildAction.ts b/src/actions/display-object/RunOnChildAction.ts new file mode 100644 index 0000000..08f7286 --- /dev/null +++ b/src/actions/display-object/RunOnChildAction.ts @@ -0,0 +1,39 @@ +import { Action } from '../../lib/Action'; + +export class RunOnChildAction extends Action { + public constructor( + protected readonly action: Action, + protected readonly nameOrLabel: string, + ) { + super(0); + } + + public reversed(): Action { + return new RunOnChildAction(this.action.reversed(), this.nameOrLabel) + .setTimingMode(this.timingMode) + .setSpeed(this.speed); + } + + protected onTick(target: TargetNode): void { + if (target.children === undefined || !Array.isArray(target.children)) { + throw new TypeError('The target did not have children.'); + } + + let child: any; + + if ('getChildByLabel' in target as any) { + child = (target as any).getChildByLabel(this.nameOrLabel); // PixiJS v8 + } + else { + child = target.children + .find((child: any) => child.label === this.nameOrLabel || child.name === this.nameOrLabel); + } + + if (child) { + child.run(this.action); + return; + } + + throw new ReferenceError(`The target did not have a child matching '${this.nameOrLabel}'.`); + } +} diff --git a/src/actions/display-object/RunOnChildWithNameAction.ts b/src/actions/display-object/RunOnChildWithNameAction.ts deleted file mode 100644 index 478a5f1..0000000 --- a/src/actions/display-object/RunOnChildWithNameAction.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Action } from '../../lib/Action'; - -export class RunOnChildWithNameAction extends Action { - public constructor( - protected readonly action: Action, - protected readonly name: string, - ) { - super(0); - } - - public reversed(): Action { - return new RunOnChildWithNameAction(this.action.reversed(), this.name) - .setTimingMode(this.timingMode) - .setSpeed(this.speed); - } - - protected onTick(target: TargetNode): void { - if (!('children' in target) || !Array.isArray(target.children)) { - return; - } - - const child: TargetNode | undefined = target.children.find((c: any) => c.name === this.name); - child?.run(this.action); - } -} diff --git a/src/actions/display-object/index.ts b/src/actions/display-object/index.ts index 01a2a0e..d8d0cc9 100644 --- a/src/actions/display-object/index.ts +++ b/src/actions/display-object/index.ts @@ -1,3 +1,3 @@ export * from './RemoveFromParentAction'; -export * from './RunOnChildWithNameAction'; +export * from './RunOnChildAction'; export * from './SetVisibleAction'; diff --git a/src/index.ts b/src/index.ts index a58d3ae..3b35ff7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ import { _ as Action } from "./Action"; import { TimingMode, TimingModeFn } from "./TimingMode"; -import { registerDisplayObjectMixin } from './DisplayObject.mixin'; +import { registerPixiJSActionsMixin } from './Container.mixin'; // // ----- PixiJS Actions library: ----- @@ -8,18 +8,18 @@ import { registerDisplayObjectMixin } from './DisplayObject.mixin'; export { Action, - registerDisplayObjectMixin, + registerPixiJSActionsMixin, TimingMode, TimingModeFn, }; // -// ----- Types and documentation for the DisplayObject mixin: ----- +// ----- Types and documentation for the Container mixin: ----- // declare module 'pixi.js' { - export interface DisplayObject { + export interface Container { /** * A boolean value that determines whether actions on the node and its descendants are processed. diff --git a/src/lib/Action.ts b/src/lib/Action.ts index e9c35d1..73ac62a 100644 --- a/src/lib/Action.ts +++ b/src/lib/Action.ts @@ -133,7 +133,7 @@ export abstract class Action { /** * Update function for the action. * - * @param target The affected display object. + * @param target The affected node. * @param t The elapsed progress of the action, with the timing mode function applied. Generally a scalar number between 0.0 and 1.0. * @param dt Relative change in progress since the previous animation change. Use this for relative actions. * @param ticker The action ticker running this update. diff --git a/src/types.d.ts b/src/types.d.ts index 68eade7..299691f 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -6,7 +6,7 @@ declare global { type TimeInterval = number; /** Targeted display node. */ - type TargetNode = PIXI.DisplayObject; + type TargetNode = PIXI.Container; /** Targeted display node with a width and height. */ type SizedTargetNode = TargetNode & SizeLike;