diff --git a/index.html b/index.html
index b013be2..9e569d6 100644
--- a/index.html
+++ b/index.html
@@ -3,9 +3,15 @@
-
+
˚ʚ Furina.id ɞ˚
+
+
+
+
+
+
diff --git a/package.json b/package.json
index de6c8e6..f3d1595 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,8 @@
},
"dependencies": {
"clsx": "^2.1.0",
+ "howler": "^2.2.4",
+ "pixi.js": "^7.3.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.21.1",
@@ -18,6 +20,7 @@
"tailwind-merge": "^2.2.0"
},
"devDependencies": {
+ "@types/howler": "^2.2.11",
"@types/node": "^20.10.6",
"@types/react": "^18.2.43",
"@types/react-dom": "^18.2.17",
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 0000000..60859a2
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
new file mode 100644
index 0000000..0a596c4
Binary files /dev/null and b/public/android-chrome-512x512.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 0000000..8b3c320
Binary files /dev/null and b/public/apple-touch-icon.png differ
diff --git a/public/assets/images/furina-beeg.webp b/public/assets/images/furina-beeg.webp
new file mode 100644
index 0000000..65f2eb9
Binary files /dev/null and b/public/assets/images/furina-beeg.webp differ
diff --git a/public/assets/images/furina-curious.webp b/public/assets/images/furina-curious.webp
new file mode 100644
index 0000000..a1ab0e2
Binary files /dev/null and b/public/assets/images/furina-curious.webp differ
diff --git a/public/assets/images/furina-happy.webp b/public/assets/images/furina-happy.webp
new file mode 100644
index 0000000..3d8cf6c
Binary files /dev/null and b/public/assets/images/furina-happy.webp differ
diff --git a/public/assets/images/hand.webp b/public/assets/images/hand.webp
new file mode 100644
index 0000000..85017a3
Binary files /dev/null and b/public/assets/images/hand.webp differ
diff --git a/public/assets/images/handpet/handpet_00.webp b/public/assets/images/handpet/handpet_00.webp
new file mode 100644
index 0000000..2e2ef17
Binary files /dev/null and b/public/assets/images/handpet/handpet_00.webp differ
diff --git a/public/assets/images/handpet/handpet_01.webp b/public/assets/images/handpet/handpet_01.webp
new file mode 100644
index 0000000..95f97de
Binary files /dev/null and b/public/assets/images/handpet/handpet_01.webp differ
diff --git a/public/assets/images/handpet/handpet_02.webp b/public/assets/images/handpet/handpet_02.webp
new file mode 100644
index 0000000..267beb2
Binary files /dev/null and b/public/assets/images/handpet/handpet_02.webp differ
diff --git a/public/assets/images/handpet/handpet_03.webp b/public/assets/images/handpet/handpet_03.webp
new file mode 100644
index 0000000..dbbb39f
Binary files /dev/null and b/public/assets/images/handpet/handpet_03.webp differ
diff --git a/public/assets/images/handpet/handpet_04.webp b/public/assets/images/handpet/handpet_04.webp
new file mode 100644
index 0000000..a22e4a0
Binary files /dev/null and b/public/assets/images/handpet/handpet_04.webp differ
diff --git a/public/assets/images/handpet/handpet_05.webp b/public/assets/images/handpet/handpet_05.webp
new file mode 100644
index 0000000..8cbbd69
Binary files /dev/null and b/public/assets/images/handpet/handpet_05.webp differ
diff --git a/public/assets/images/handpet/handpet_06.webp b/public/assets/images/handpet/handpet_06.webp
new file mode 100644
index 0000000..9b5904c
Binary files /dev/null and b/public/assets/images/handpet/handpet_06.webp differ
diff --git a/public/assets/images/handpet/handpet_07.webp b/public/assets/images/handpet/handpet_07.webp
new file mode 100644
index 0000000..85c960b
Binary files /dev/null and b/public/assets/images/handpet/handpet_07.webp differ
diff --git a/public/assets/images/handpet/handpet_08.webp b/public/assets/images/handpet/handpet_08.webp
new file mode 100644
index 0000000..d836273
Binary files /dev/null and b/public/assets/images/handpet/handpet_08.webp differ
diff --git a/public/assets/images/handpet/handpet_09.webp b/public/assets/images/handpet/handpet_09.webp
new file mode 100644
index 0000000..8cee160
Binary files /dev/null and b/public/assets/images/handpet/handpet_09.webp differ
diff --git a/public/assets/images/handpet/handpet_10.webp b/public/assets/images/handpet/handpet_10.webp
new file mode 100644
index 0000000..69c834b
Binary files /dev/null and b/public/assets/images/handpet/handpet_10.webp differ
diff --git a/public/assets/sfx/kuru-kuru-kururin.ogg b/public/assets/sfx/kuru-kuru-kururin.ogg
new file mode 100644
index 0000000..080af08
Binary files /dev/null and b/public/assets/sfx/kuru-kuru-kururin.ogg differ
diff --git a/public/assets/sfx/pet-the-peepo-prepare.ogg b/public/assets/sfx/pet-the-peepo-prepare.ogg
new file mode 100644
index 0000000..365fe23
Binary files /dev/null and b/public/assets/sfx/pet-the-peepo-prepare.ogg differ
diff --git a/public/assets/sfx/pet-the-peepo.ogg b/public/assets/sfx/pet-the-peepo.ogg
new file mode 100644
index 0000000..25918bf
Binary files /dev/null and b/public/assets/sfx/pet-the-peepo.ogg differ
diff --git a/public/assets/ui/btn_play.png b/public/assets/ui/btn_play.png
new file mode 100755
index 0000000..fa1a9c2
Binary files /dev/null and b/public/assets/ui/btn_play.png differ
diff --git a/public/assets/ui/btn_touch.png b/public/assets/ui/btn_touch.png
new file mode 100644
index 0000000..c701064
Binary files /dev/null and b/public/assets/ui/btn_touch.png differ
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 0000000..0e03d60
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 0000000..d623713
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon.gif b/public/favicon.gif
new file mode 100644
index 0000000..ab3db91
Binary files /dev/null and b/public/favicon.gif differ
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..5e05c0e
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/site.webmanifest b/public/site.webmanifest
new file mode 100644
index 0000000..45dc8a2
--- /dev/null
+++ b/public/site.webmanifest
@@ -0,0 +1 @@
+{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
\ No newline at end of file
diff --git a/src/components/containers/AppBar.tsx b/src/components/containers/AppBar.tsx
index 2da265e..293d46e 100644
--- a/src/components/containers/AppBar.tsx
+++ b/src/components/containers/AppBar.tsx
@@ -23,8 +23,8 @@ const AppBar = () => {
-
-
+
+
diff --git a/src/pages/home/game.ts b/src/pages/home/game.ts
new file mode 100644
index 0000000..bb35076
--- /dev/null
+++ b/src/pages/home/game.ts
@@ -0,0 +1,300 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+import {
+ AnimatedSprite,
+ Application,
+ Assets,
+ Sprite,
+ Text,
+ TextStyle,
+} from "pixi.js";
+import StateMachine from "./stateMachine";
+import { Howl } from "howler";
+
+const IMG_URI = "/assets/images/";
+const UI_URI = "/assets/ui/";
+const SFX_URI = "/assets/sfx/";
+
+const STATE = {
+ MAIN_SCREEN: 0,
+ PREPARE: 1,
+ RUNNING: 2,
+};
+
+const game = async () => {
+ const screen = { w: 800, h: 800 };
+ const app = new Application({
+ width: screen.w,
+ height: screen.h,
+ backgroundColor: "#fff",
+ });
+
+ const handPetTextures = [...Array(10)].map((_, idx) => {
+ const uri = `/handpet/handpet_${String(idx + 1).padStart(2, "0")}.webp`;
+ return Assets.load(IMG_URI + uri);
+ });
+
+ const tex = {
+ furinaCurious: await Assets.load(IMG_URI + "furina-curious.webp"),
+ furinaBeeg: await Assets.load(IMG_URI + "furina-beeg.webp"),
+ furinaHappy: await Assets.load(IMG_URI + "furina-happy.webp"),
+ hand: await Assets.load(IMG_URI + "hand.webp"),
+ handPet: await Promise.all(handPetTextures),
+
+ uiBtnPlay: await Assets.load(UI_URI + "btn_play.png"),
+ uiBtnTouch: await Assets.load(UI_URI + "btn_touch.png"),
+ };
+
+ const sfx = {
+ prepare: new Howl({
+ src: SFX_URI + "pet-the-peepo-prepare.ogg",
+ preload: true,
+ }),
+ music: new Howl({
+ // src: SFX_URI + "pet-the-peepo.ogg",
+ src: SFX_URI + "kuru-kuru-kururin.ogg",
+ preload: true,
+ loop: true,
+ }),
+ };
+
+ const stateMachine = new StateMachine();
+ app.ticker.add((dt) => stateMachine.loop(dt));
+
+ stateMachine.add(STATE.MAIN_SCREEN, () => {
+ const furina = new Sprite(tex.furinaCurious);
+ furina.scale.set(0.6);
+ furina.anchor.set(0.5);
+ furina.position.set(screen.w * 0.5, screen.h * 0.4);
+
+ const btnStart = new Sprite(tex.uiBtnPlay);
+ btnStart.scale.set(1.0);
+ btnStart.anchor.set(0.5);
+ btnStart.position.set(screen.w * 0.5, screen.h * 0.7);
+ btnStart.eventMode = "static";
+ btnStart.cursor = "pointer";
+
+ btnStart.on("pointerdown", () => {
+ stateMachine.start(STATE.PREPARE);
+ });
+
+ const startText = new Text(
+ "Press to Play",
+ new TextStyle({
+ fontSize: 28,
+ })
+ );
+ startText.anchor.set(0.5);
+ startText.position.set(screen.w * 0.5, screen.h * 0.82);
+
+ // let musicPlayTimeout: any;
+
+ return {
+ onStart() {
+ app.stage.addChild(furina, btnStart, startText);
+ // musicPlayTimeout = setTimeout(() => sfx.music.play(), 100);
+ },
+ loop(time) {
+ btnStart.scale.set(1.0 + Math.sin(time) * 0.2);
+ },
+ onEnd() {
+ app.stage.removeChild(furina, btnStart, startText);
+
+ // clearTimeout(musicPlayTimeout);
+ // sfx.music.stop();
+ },
+ };
+ });
+
+ stateMachine.add(STATE.PREPARE, () => {
+ const furina = new Sprite(tex.furinaCurious);
+ furina.scale.set(0.8);
+ furina.anchor.set(0.5);
+ const furinaPos = { x: screen.w * 0.5, y: screen.h * 0.45 };
+ furina.position.set(furinaPos.x, furinaPos.y);
+ furina.visible = false;
+
+ const hand = new Sprite(tex.hand);
+ hand.scale.set(0.5);
+ hand.anchor.set(0.5);
+ const handPos = { x: screen.w * 0.5, y: screen.h * 0.55 };
+ hand.position.set(handPos.x, handPos.y);
+ hand.visible = false;
+
+ const timers: any[] = [];
+
+ return {
+ onStart() {
+ app.stage.addChild(furina, hand);
+
+ timers.push(
+ setTimeout(() => {
+ furina.visible = true;
+ furinaPos.y = screen.h * 0.5;
+ sfx.prepare.play();
+ }, 500)
+ );
+
+ timers.push(
+ setTimeout(() => {
+ furina.visible = false;
+ hand.visible = true;
+ handPos.y = screen.h * 0.5;
+ }, 1500)
+ );
+
+ timers.push(
+ setTimeout(() => {
+ furina.visible = true;
+ furina.position.x = screen.w * 0.85;
+ furinaPos.x = screen.w * 0.75;
+ furina.scale.set(0.4);
+
+ hand.visible = true;
+ hand.position.x = screen.w * 0.15;
+ handPos.x = screen.w * 0.25;
+ hand.scale.set(0.4);
+ }, 2400)
+ );
+
+ timers.push(
+ setTimeout(() => {
+ furinaPos.x = screen.w * 0.65;
+ furina.scale.set(0.45);
+ handPos.x = screen.w * 0.35;
+ hand.scale.set(0.45);
+ }, 3400)
+ );
+
+ timers.push(
+ setTimeout(() => {
+ stateMachine.start(STATE.RUNNING);
+ }, 4500)
+ );
+ },
+ loop(_, dt) {
+ if (furina.visible) {
+ lerpPos(furina.position, furinaPos, 8 * dt);
+ }
+ if (hand.visible) {
+ lerpPos(hand.position, handPos, 8 * dt);
+ }
+ },
+ onEnd() {
+ app.stage.removeChild(furina, hand);
+ sfx.prepare.stop();
+ timers.forEach(clearTimeout);
+ },
+ };
+ });
+
+ stateMachine.add(STATE.RUNNING, () => {
+ const furina = new Sprite(tex.furinaHappy);
+ furina.scale.set(1);
+ furina.anchor.set(0.5, 1.0);
+ furina.position.set(screen.w * 0.5, screen.h * 0.85);
+
+ const handPet = new AnimatedSprite(tex.handPet);
+ handPet.animationSpeed = 0.2;
+ handPet.scale.set(0.7);
+ handPet.anchor.set(0, 0.5);
+ handPet.position.set(0, screen.h * 0.34);
+
+ const touchButtonGuide = new Sprite(tex.uiBtnTouch);
+ touchButtonGuide.anchor.set(0.5, 1);
+ touchButtonGuide.position.set(screen.w * 0.5, screen.h * 0.95);
+
+ const touchText = new Text(
+ "0",
+ new TextStyle({
+ fontSize: 64,
+ })
+ );
+ touchText.anchor.set(1, 0);
+ touchText.position.set(screen.w * 0.9, screen.h * 0.1);
+
+ let touchCount = 0;
+ let lastTouch = 0.0;
+
+ const onTouch = () => {
+ lastTouch = stateMachine.time;
+ touchCount += 1;
+ touchText.text = String(touchCount);
+ };
+
+ return {
+ onStart() {
+ touchCount = 0;
+ handPet.play();
+ app.stage.addChild(furina, handPet, touchButtonGuide, touchText);
+
+ sfx.music.play();
+ app.stage.eventMode = "static";
+ app.stage.cursor = "pointer";
+ app.stage.on("pointerdown", onTouch);
+ },
+ loop(time, delta) {
+ if (time - lastTouch < 0.5) {
+ if (!handPet.playing) {
+ handPet.play();
+ handPet.visible = true;
+ }
+ if (!sfx.music.playing()) {
+ sfx.music.play();
+ }
+ furina.scale.y = 1 + Math.sin(time * 40) * 0.01;
+ furina.rotation = -0.01 + Math.cos(time * 30) * 0.02;
+ } else {
+ if (handPet.playing) {
+ handPet.stop();
+ handPet.visible = false;
+ }
+ if (sfx.music.playing()) {
+ sfx.music.pause();
+ }
+ furina.scale.y = 1 + Math.sin(time * 10) * 0.01;
+ furina.rotation = lerp(furina.rotation, 0.0, 8 * delta);
+ }
+
+ touchButtonGuide.scale.set(0.5 + Math.sin(time * 40) * 0.01);
+ touchButtonGuide.position.y =
+ screen.h * (0.92 + Math.cos(time * 40) * 0.01);
+ },
+ onEnd() {
+ handPet.stop();
+ app.stage.removeChild(furina, handPet, touchButtonGuide, touchText);
+
+ sfx.music.stop();
+ app.stage.eventMode = "auto";
+ app.stage.cursor = "";
+ app.stage.off("pointerdown", onTouch);
+ },
+ };
+ });
+
+ stateMachine.start(STATE.MAIN_SCREEN);
+ // stateMachine.start(STATE.RUNNING);
+
+ const clean = () => {
+ stateMachine.clean();
+ Howler.stop();
+ };
+
+ return { app, clean };
+};
+
+type Point = {
+ x: number;
+ y: number;
+};
+
+const lerp = (x: number, y: number, a: number) => x * (1 - a) + y * a;
+
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+const lerpPos = (startPos: any, endPos: Point, amount: number) => {
+ startPos.set(
+ lerp(startPos.x, endPos.x, amount),
+ lerp(startPos.y, endPos.y, amount)
+ );
+};
+
+export default game;
diff --git a/src/pages/home/page.tsx b/src/pages/home/page.tsx
index b2f0bf4..c760623 100644
--- a/src/pages/home/page.tsx
+++ b/src/pages/home/page.tsx
@@ -1,5 +1,91 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+import { useEffect, useRef, useState } from "react";
+import styles from "./style.module.css";
+import { cn } from "@/utility/utils";
+import LoadingPage from "../misc/loading-page";
+
const HomePage = () => {
- return HomePage
;
+ const appRef = useRef();
+ const cleanRef = useRef();
+ const targetRef = useRef(null);
+ const [isReady, setReady] = useState(false);
+
+ useEffect(() => {
+ if (!appRef.current) {
+ appRef.current = true;
+
+ const init = async () => {
+ const { default: game } = await import("./game");
+ const { app, clean } = await game();
+ targetRef.current?.appendChild(app.view as never);
+
+ appRef.current = app;
+ cleanRef.current = clean;
+ setReady(true);
+ };
+
+ init();
+ }
+
+ return () => {
+ if (cleanRef.current) {
+ cleanRef.current();
+ }
+ };
+ }, [setReady]);
+
+ return (
+
+ {!isReady ?
: null}
+
+
+
+
+
+ );
+};
+
+const Credits = () => {
+ const [toggle, setToggle] = useState(false);
+
+ return (
+
+
+
+ {toggle ? (
+
+ {`
+Furina Stickers:
+Guido_ (https://risibank.fr/media/297778-genshin-archon-hydro-c6-r5-soutine)
+Coll5 (https://risibank.fr/media/317061-furina-focalor-genshin)
+
+Hand Sprite:
+@soapmangraylace2752 (https://www.youtube.com/shorts/HEguW7Gmu2w)
+Fijiwaterhelp (https://jailbreak.fandom.com/wiki/User_blog:Fijiwaterhelp/hand_petting)
+
+Music:
+Kurururin by Raphiiel (https://www.youtube.com/watch?v=NY0ffyEu6uo)
+pet the peepo by NitroiF (https://www.youtube.com/shorts/ll2Au3CdV2k)
+ `.trim()}
+
+ ) : null}
+
+ );
};
export default HomePage;
diff --git a/src/pages/home/stateMachine.ts b/src/pages/home/stateMachine.ts
new file mode 100644
index 0000000..38c2dbd
--- /dev/null
+++ b/src/pages/home/stateMachine.ts
@@ -0,0 +1,65 @@
+type StateManager = {
+ onStart?: () => void;
+ loop?: (time: number, delta: number) => void;
+ onEnd?: () => void;
+};
+
+class StateMachine {
+ time!: number;
+ states!: {
+ [key: number]: {
+ instance: StateManager | null;
+ init: () => StateManager;
+ };
+ };
+ curState!: number;
+
+ constructor() {
+ this.time = 0.0;
+ this.curState = -1;
+ this.states = [];
+ }
+
+ add(idx: number, fn: () => StateManager) {
+ this.states[idx] = {
+ instance: null,
+ init: fn,
+ };
+ }
+
+ start(idx: number) {
+ const lastState = this.states[this.curState]?.instance;
+ if (lastState?.onEnd != null) {
+ lastState.onEnd!();
+ }
+
+ this.time = 0.0;
+ this.curState = idx;
+
+ const state = this.states[idx]?.init();
+ this.states[idx].instance = state;
+
+ if (state?.onStart != null) {
+ state.onStart!();
+ }
+ }
+
+ loop(delta: number) {
+ const dt = delta / 100;
+ this.time = (this.time + dt) % 3600;
+
+ const state = this.states[this.curState]?.instance;
+ if (state?.loop != null) {
+ state.loop!(this.time, dt);
+ }
+ }
+
+ clean() {
+ const state = this.states[this.curState]?.instance;
+ if (state?.onEnd != null) {
+ state.onEnd!();
+ }
+ }
+}
+
+export default StateMachine;
diff --git a/src/pages/home/style.module.css b/src/pages/home/style.module.css
new file mode 100644
index 0000000..723590a
--- /dev/null
+++ b/src/pages/home/style.module.css
@@ -0,0 +1,9 @@
+.canvasContainer {
+ min-height: 80vh;
+ overflow: hidden;
+}
+
+.canvasContainer canvas {
+ width: 100%;
+ max-width: 800px;
+}
diff --git a/vite.config.ts b/vite.config.ts
index d66f290..b4db30b 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -10,4 +10,7 @@ export default defineConfig({
"@": path.resolve("src/"),
},
},
+ build: {
+ chunkSizeWarningLimit: 1024,
+ },
});
diff --git a/yarn.lock b/yarn.lock
index 8b314b7..f209ab2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -456,6 +456,226 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@pixi/accessibility@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/accessibility/-/accessibility-7.3.3.tgz#651be8bb65be53d93b5b43c02473b7b528a2caab"
+ integrity sha512-cHiIEP54RNqvPKmi45HvvnTbiWU+/lzdTY0zK7OXx3TmcEQRn2A7GZ1I+uxx476NeXGJtGSvv3copyxFjPB6Ew==
+
+"@pixi/app@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/app/-/app-7.3.3.tgz#c8d672f87a5715292dd202af7c3991ac237e744d"
+ integrity sha512-MS5r/yU0CrWMPXXrgKAzgC2KC35Och8fT9z6J1XUCs7yHhdO8768rnSePJuzhj9Yaclv7PUpNQzh8rG9o/MzkQ==
+
+"@pixi/assets@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/assets/-/assets-7.3.3.tgz#7fee1beadf7b2111f8d37bbfe95e02497d77f412"
+ integrity sha512-KcLXVehdJ2kc2bSnTfatLPLL6sLD7dwU+EZ5bWQ/PZDSsfML3kLFvq84VXd4k8LKNX4RCvfy4yeeIUW1o5tnMg==
+ dependencies:
+ "@types/css-font-loading-module" "^0.0.12"
+
+"@pixi/color@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/color/-/color-7.3.3.tgz#8f3905e2c81c51b89a22d9b5e94d51fb0bd64020"
+ integrity sha512-IiiFhNIqXt7yULe0Wkq5Hn38ymDoEen/6EvV2y2AQIOu6TyuET5PGswAdMfG7ZjfwBaCudK6yQEUjWaXbgRUmw==
+ dependencies:
+ "@pixi/colord" "^2.9.6"
+
+"@pixi/colord@^2.9.6":
+ version "2.9.6"
+ resolved "https://registry.yarnpkg.com/@pixi/colord/-/colord-2.9.6.tgz#7e4e7851480da6fd3cef4e331f008d60be7e1204"
+ integrity sha512-nezytU2pw587fQstUu1AsJZDVEynjskwOL+kibwcdxsMBFqPsFFNA7xl0ii/gXuDi6M0xj3mfRJj8pBSc2jCfA==
+
+"@pixi/compressed-textures@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/compressed-textures/-/compressed-textures-7.3.3.tgz#6279ed4d9fa420c9d3d129457f57b7b04fdbe6d6"
+ integrity sha512-4h1NKePF5blN7qux29yEnKiGdk4vZif59XtLviW7Y3r9MKgKSoizDl0RqU4SKo4eC1P0jpt1qOjiG4TE+AjXGQ==
+
+"@pixi/constants@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/constants/-/constants-7.3.3.tgz#5932e2d0fd9e996d3dbf51f888f7f83180f4a86c"
+ integrity sha512-ww1JdekmKBUqHyPq8A5L+86FkzpS4KidlBm9wkX1fcd+6QQzq/vbx1JOz6m3CmH5LnlmDZ+zysLezvpZlBcwwA==
+
+"@pixi/core@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/core/-/core-7.3.3.tgz#ba4075c8206b4278af5663ead911c91126f1d61c"
+ integrity sha512-064tuK6NoGIl/2Wf4EUlaLLlnRMZuDdLqnISsj2/A70towg2QUWgHhwZsCB4NvAssidWu/sIT+vk5IKDmh1LKA==
+ dependencies:
+ "@pixi/color" "7.3.3"
+ "@pixi/constants" "7.3.3"
+ "@pixi/extensions" "7.3.3"
+ "@pixi/math" "7.3.3"
+ "@pixi/runner" "7.3.3"
+ "@pixi/settings" "7.3.3"
+ "@pixi/ticker" "7.3.3"
+ "@pixi/utils" "7.3.3"
+ "@types/offscreencanvas" "^2019.6.4"
+
+"@pixi/display@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/display/-/display-7.3.3.tgz#a5e68b704519ae5137d5ab8704e12cb2e8584349"
+ integrity sha512-iULZ2E6Z4vhI0FypXpUbtA+CODnj/CuTt2pi9gsw00ILI12eEx76cAiazvhxnCNqcfmj1RRK2P6s9Vzr5WmEIg==
+
+"@pixi/events@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/events/-/events-7.3.3.tgz#0561de88caf971241c6096dd75a52f79df73b8d2"
+ integrity sha512-1oDfdFtKsy0Z9ew09MrSYGIIeGnBXr/c7866A32Od3KXql0dhd7UpFFpaFKLCXydDHRgFkjOP7t0/Pp1luTvfg==
+
+"@pixi/extensions@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/extensions/-/extensions-7.3.3.tgz#befa5b4f574a08d8a1386fac9de65c9db4564550"
+ integrity sha512-Of44Wde0ZHYCuMoDLFl/8SOSPV2NiDBUB6QKBvYvNdhVslbO3pxrn9oQH9Fmsd8iGcGJ/YtyI5H2T/ky4Bo6AQ==
+
+"@pixi/extract@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/extract/-/extract-7.3.3.tgz#7a362405a6990a7d1bb8d8d1b6eddf146cf04ddc"
+ integrity sha512-quD61mNtgq3w2USIPUBOuxD9kVWIPoh8offqJugT4ZZS2XlSnh2FvLjCEC66jVmMM0tmk6HGAfc5xRFNlyw8PQ==
+
+"@pixi/filter-alpha@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/filter-alpha/-/filter-alpha-7.3.3.tgz#6b5dad03ee31709eade2821b26d0db9c2579c46d"
+ integrity sha512-StLLxEkCyghK3dhzLZD9jMu4lZ/ir4Bah2XXXWGhwE+XCO+//rnXreZ8v74R52WbaLUNDHzwlbq7/+BABwMu5w==
+
+"@pixi/filter-blur@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/filter-blur/-/filter-blur-7.3.3.tgz#01f5cc2a49fc334f825c2e2805fc2a8dfaa01445"
+ integrity sha512-AZzMbcFoL+uHxiVM2nQrQM0MQdLdd5mw7Fd4F60ROB96tmMK/M5W/FTqgdqXUQYld6wCFZKtJMulonVaPKLXDA==
+
+"@pixi/filter-color-matrix@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/filter-color-matrix/-/filter-color-matrix-7.3.3.tgz#6c9abaaf8ff1a9e058cc631c391cc87243ebff58"
+ integrity sha512-Ot9lQ24lff4DPok0qy+c3IekfEuGf0Y1mx/dB3iLceys2hJHF5wK8rrhKrA1vc5IgrirbZpmjK8it9cVFzEW2g==
+
+"@pixi/filter-displacement@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/filter-displacement/-/filter-displacement-7.3.3.tgz#9abb13415644dc634dd31ed90f135899ffebf5ee"
+ integrity sha512-fBnZTUmt6wwazdk/ZDW3HJEkf9s5b8uDuOwHvUAPWTJ6oYqwAjFXnrTlhEwB/Fp+0v6hUVVlHWEYk07HVgjEIg==
+
+"@pixi/filter-fxaa@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/filter-fxaa/-/filter-fxaa-7.3.3.tgz#3df0bf436dc5d0ac4612be03912d899826e06264"
+ integrity sha512-xq5xcpu68axMrGsVOcpxqebLAa+B4yBSLQlI2rsn7s8YtWY+pC20lsaNnKDlrv9hwJ1Ah7BtBZy0EVVaeFNYqA==
+
+"@pixi/filter-noise@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/filter-noise/-/filter-noise-7.3.3.tgz#8629625212a03fc84145f7951e71322940fad56a"
+ integrity sha512-Hwwk1xLvA+0wTqJtKTnIGzyZmLubm5ylgqsMRHQqujDtVSIqE2SY1iVUcGA5vv31C7rFFkxGT4yhtfnYBNCvKQ==
+
+"@pixi/graphics@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/graphics/-/graphics-7.3.3.tgz#3f9d3c4ff4875dd8cf67fc3db9ea9bc63e4c795c"
+ integrity sha512-czX/SEQTSCI3kkH5DFAcchPaPYOAF7cz1P5K2hVvClE/bbbIWN0H2sBIF6pIY1ENkZ0aguQs36yDeXUDWXyoiQ==
+
+"@pixi/math@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/math/-/math-7.3.3.tgz#2cd64bcc33b63dbbf6abd6af5db85aa1191b6011"
+ integrity sha512-kaHN6iusINPS0wIbrhP82za+B2qNDWHPHip/QtmpQTp81ibOIfHlDMOlsnE6rSdelTFNhrNWoTWU8IvXUbvy8g==
+
+"@pixi/mesh-extras@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/mesh-extras/-/mesh-extras-7.3.3.tgz#d7aee77bed38575c6253ea44b8bfd4f9ebb127c6"
+ integrity sha512-2TW1n97PpSZIZomfoEcKezGeGLPyd82ng2u8SXQoy9keCmB2yK361/RO88jvWbY4qpnJn/89LiLyYEBiJtSmWg==
+
+"@pixi/mesh@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/mesh/-/mesh-7.3.3.tgz#3f6f43baccfe1b2373b75faf754acf1930c79afd"
+ integrity sha512-8G3FO44wLDimNlCqXBKF+zQ3nBqJ4kMBbIjGxRaRkJmahcMYkY2zJpYsYh1YqKQztL9UmcP5V170VEIcPsmaJw==
+
+"@pixi/mixin-cache-as-bitmap@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-7.3.3.tgz#830309552dba986c3abc1cb28fe9c4ce2fcc97d2"
+ integrity sha512-Vv/H24CADY5w2DZaTYhXsfr8wAyKsg6gYn0DLgWDnAI3PWkRcB0fVDfowlHAEzltfxyH4tp9LVc2jtbEIKfSlQ==
+
+"@pixi/mixin-get-child-by-name@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-7.3.3.tgz#927e8fb648bcc9df06d074338a1eaa1eb0375662"
+ integrity sha512-75vlViVaynPyIYQIaoU08k1iP+8s9ct2YEnW91vyiHGxxE7BBimiYomWkAUYXtSnaSFoDkNPOh7iI91Icmkf+w==
+
+"@pixi/mixin-get-global-position@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/mixin-get-global-position/-/mixin-get-global-position-7.3.3.tgz#65f929ab85b9d5bb34a4e9c97994c1fa7d54cb58"
+ integrity sha512-ZEScRlx/KSr0z40+xqF9jl9N8j0aFZCNwSluoMLuFecvn4kpaCQx8i4F8j+GkkdrnCfanSYE9ySADlUCsKmzHA==
+
+"@pixi/particle-container@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/particle-container/-/particle-container-7.3.3.tgz#833883ee96cac31d20118cf3edcd3eabdb87c5a5"
+ integrity sha512-OxigacwSbPjVogahmBYUiYMIH+NhNa+jvGAk5OYEF431gcVmjtravPbk7mmFdGKmOMICztSyVX8kOyhXxCv63A==
+
+"@pixi/prepare@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/prepare/-/prepare-7.3.3.tgz#e5bb7c26ea6433888c9f1d6ab66d72d125e83c55"
+ integrity sha512-2SdTyHJSDZeaEMuxXqOX01FUDhIjfWUmVCufLXxzjd8gZ52RWBpohl2gDRszPJMyPox142xzUiCnb4RuNXGHDw==
+
+"@pixi/runner@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/runner/-/runner-7.3.3.tgz#75d7d3cc2dd44012277728e0a7607a455c7c891b"
+ integrity sha512-LUObHyxM3tK504ChbioYySZhFhyNs779uA71fuWSFV04Ry0WNlbqVvwTbKGkyR6er6blfxdqk7d51WmuQtfLCg==
+
+"@pixi/settings@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/settings/-/settings-7.3.3.tgz#b4bd6058e11bb785b97c3c49c6989d6b450ba6b7"
+ integrity sha512-a1OePduDPOfnrCm1U1RL7JhuEAncA5/jNwF51urclXU6HNTHiJT41/S6KELPoV8NbLyJCKtnKwzbbPkzKwc0Yg==
+ dependencies:
+ "@pixi/constants" "7.3.3"
+ "@types/css-font-loading-module" "^0.0.12"
+ ismobilejs "^1.1.0"
+
+"@pixi/sprite-animated@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/sprite-animated/-/sprite-animated-7.3.3.tgz#a1e874c070bf60299ff26e3d0978e4205afcefbc"
+ integrity sha512-BYvehHk3PlNln9tRfZ/zGp2MzVwRjggFe+s4NCQd1EU/NPQewqJGCAiQFB4Gc3hFK2Y8wkW7SpGAzuk/E2WTxg==
+
+"@pixi/sprite-tiling@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/sprite-tiling/-/sprite-tiling-7.3.3.tgz#5d5ee71772beebed65f2821e5453619115f2bb29"
+ integrity sha512-T4ms0TcfKq7JNRaUBaQyZsaxWziPh2EY10vFQEG17J3uyCrjQmN4dDS9AMoaltL1K3vh+CTSUnWO8S8mE1dn4Q==
+
+"@pixi/sprite@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/sprite/-/sprite-7.3.3.tgz#c0ccffc6b67adf7cd771124bcd99921284f6c342"
+ integrity sha512-P/RxnvNV0PiuyaT9HA8F1aX9krp1BgjllBQcn6KHVxyAP8tJE0TD9pfHOU1+xRuoX37swXRQiDFTF6YvWzozUQ==
+
+"@pixi/spritesheet@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/spritesheet/-/spritesheet-7.3.3.tgz#ec63fc99fbcf138f8835a5701075658c1c59b0b7"
+ integrity sha512-aAebizGNiKijWmJ39bnAb8FbuXbxRINuWZ2xt7ANzJQxhbo7dX+qlF4pz91yj3gHQaulzJM2oKz4a5q6cHa7dw==
+
+"@pixi/text-bitmap@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/text-bitmap/-/text-bitmap-7.3.3.tgz#296b9997192c6106aafed09948889c6ac577c553"
+ integrity sha512-2IOBoSHtb2e1aoxB/pfJPFW34XeY8HpDtGJKn3F9IUYpBo6nnnZ6DuJNZyFG2r/hiytjVvulqI66CzOH/eJJ4A==
+
+"@pixi/text-html@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/text-html/-/text-html-7.3.3.tgz#604678392c9868b343411313ca52cdfcd7f8f812"
+ integrity sha512-z8vsgsqVJuFEVX07wh0IYAwQ5DBiel8Lhxo2Ly8594O0mIdQ1IPvtAPv+WRyG35WT0i26J7GL2BZxURouDP2WA==
+
+"@pixi/text@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/text/-/text-7.3.3.tgz#8ff5bf508384ca4c17e63a7b0e71b5210cbd0b38"
+ integrity sha512-s9BLmiURYeJppPYB040jrGbtbsWM9PcXSRtr40xrbR0a+HPlxDEWCaHka9DiUFr/lIuOpA0y/YjmZskq5o5R7g==
+
+"@pixi/ticker@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/ticker/-/ticker-7.3.3.tgz#64185570d563b64e2e666ff5964754583d5b6094"
+ integrity sha512-AxeMKP9vTcla+yYXCABc0uKUODjIsJRXk3DCHVpoPeeqRYPaKH291RtDw92QFw7FFgGBbRgsptBjF9Q+uO5hDA==
+ dependencies:
+ "@pixi/extensions" "7.3.3"
+ "@pixi/settings" "7.3.3"
+ "@pixi/utils" "7.3.3"
+
+"@pixi/utils@7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@pixi/utils/-/utils-7.3.3.tgz#cad46d0ada1f51e30aedf781af63ad8a4a36d58a"
+ integrity sha512-rgWD0YV6oDKOVuQJ9ra6g3VdoN8usC6Kj/t3Ba1t9P+k9qUKIM0gCr9/bxFf7CJ/EUS8A2WTVfEmJVN2TwZfxg==
+ dependencies:
+ "@pixi/color" "7.3.3"
+ "@pixi/constants" "7.3.3"
+ "@pixi/settings" "7.3.3"
+ "@types/earcut" "^2.1.0"
+ earcut "^2.2.4"
+ eventemitter3 "^4.0.0"
+ url "^0.11.0"
+
"@pkgjs/parseargs@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
@@ -564,11 +784,26 @@
dependencies:
"@babel/types" "^7.20.7"
+"@types/css-font-loading-module@^0.0.12":
+ version "0.0.12"
+ resolved "https://registry.yarnpkg.com/@types/css-font-loading-module/-/css-font-loading-module-0.0.12.tgz#65494833928823f998fbe8e86312821875d80db5"
+ integrity sha512-x2tZZYkSxXqWvTDgveSynfjq/T2HyiZHXb00j/+gy19yp70PHCizM48XFdjBCWH7eHBD0R5i/pw9yMBP/BH5uA==
+
+"@types/earcut@^2.1.0":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/@types/earcut/-/earcut-2.1.4.tgz#5811d7d333048f5a7573b22ddc84923e69596da6"
+ integrity sha512-qp3m9PPz4gULB9MhjGID7wpo3gJ4bTGXm7ltNDsmOvsPduTeHp8wSW9YckBj3mljeOh4F0m2z/0JKAALRKbmLQ==
+
"@types/estree@1.0.5":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
+"@types/howler@^2.2.11":
+ version "2.2.11"
+ resolved "https://registry.yarnpkg.com/@types/howler/-/howler-2.2.11.tgz#a75c4ab5666aee5fcfbd5de15d35dbaaa3d3f070"
+ integrity sha512-7aBoUL6RbSIrqKnpEgfa1wSNUBK06mn08siP2QI0zYk7MXfEJAaORc4tohamQYqCqVESoDyRWSdQn2BOKWj2Qw==
+
"@types/json-schema@^7.0.12":
version "7.0.15"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
@@ -581,6 +816,11 @@
dependencies:
undici-types "~5.26.4"
+"@types/offscreencanvas@^2019.6.4":
+ version "2019.7.3"
+ resolved "https://registry.yarnpkg.com/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz#90267db13f64d6e9ccb5ae3eac92786a7c77a516"
+ integrity sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==
+
"@types/prop-types@*":
version "15.7.11"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563"
@@ -845,6 +1085,15 @@ browserslist@^4.21.10, browserslist@^4.22.2:
node-releases "^2.0.14"
update-browserslist-db "^1.0.13"
+call-bind@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513"
+ integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==
+ dependencies:
+ function-bind "^1.1.2"
+ get-intrinsic "^1.2.1"
+ set-function-length "^1.1.1"
+
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -972,6 +1221,15 @@ deep-is@^0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+define-data-property@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3"
+ integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==
+ dependencies:
+ get-intrinsic "^1.2.1"
+ gopd "^1.0.1"
+ has-property-descriptors "^1.0.0"
+
didyoumean@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
@@ -996,6 +1254,11 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
+earcut@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/earcut/-/earcut-2.2.4.tgz#6d02fd4d68160c114825d06890a92ecaae60343a"
+ integrity sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==
+
eastasianwidth@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
@@ -1160,6 +1423,11 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+eventemitter3@^4.0.0:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
+ integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -1262,6 +1530,16 @@ gensync@^1.0.0-beta.2:
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b"
+ integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==
+ dependencies:
+ function-bind "^1.1.2"
+ has-proto "^1.0.1"
+ has-symbols "^1.0.3"
+ hasown "^2.0.0"
+
glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
@@ -1323,6 +1601,13 @@ globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
+gopd@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
+ integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
+ dependencies:
+ get-intrinsic "^1.1.3"
+
graphemer@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
@@ -1338,6 +1623,23 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+has-property-descriptors@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340"
+ integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==
+ dependencies:
+ get-intrinsic "^1.2.2"
+
+has-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
+ integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
+
+has-symbols@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+
hasown@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
@@ -1345,6 +1647,11 @@ hasown@^2.0.0:
dependencies:
function-bind "^1.1.2"
+howler@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/howler/-/howler-2.2.4.tgz#bd3df4a4f68a0118a51e4bd84a2bfc2e93e6e5a1"
+ integrity sha512-iARIBPgcQrwtEr+tALF+rapJ8qSc+Set2GJQl7xT1MQzWaVkFebdJhR3alVlSiUf5U7nAANKuj3aWpwerocD5w==
+
ignore@^5.2.0, ignore@^5.2.4:
version "5.3.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78"
@@ -1422,6 +1729,11 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+ismobilejs@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ismobilejs/-/ismobilejs-1.1.1.tgz#c56ca0ae8e52b24ca0f22ba5ef3215a2ddbbaa0e"
+ integrity sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==
+
jackspeak@^2.3.5:
version "2.3.6"
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8"
@@ -1622,6 +1934,11 @@ object-hash@^3.0.0:
resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
+object-inspect@^1.9.0:
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
+ integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
+
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -1715,6 +2032,42 @@ pirates@^4.0.1:
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9"
integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
+pixi.js@^7.3.3:
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/pixi.js/-/pixi.js-7.3.3.tgz#dd791242460c1a7651de80ae8f91bfe9c91f2712"
+ integrity sha512-EuAyWZBL5lKViCgYkB6dbwkiI/MNht8O8F8956up9vwGEGf659QRHxfVQoRj8zdNGOBbe51XAxQMfLaW/l0Ekg==
+ dependencies:
+ "@pixi/accessibility" "7.3.3"
+ "@pixi/app" "7.3.3"
+ "@pixi/assets" "7.3.3"
+ "@pixi/compressed-textures" "7.3.3"
+ "@pixi/core" "7.3.3"
+ "@pixi/display" "7.3.3"
+ "@pixi/events" "7.3.3"
+ "@pixi/extensions" "7.3.3"
+ "@pixi/extract" "7.3.3"
+ "@pixi/filter-alpha" "7.3.3"
+ "@pixi/filter-blur" "7.3.3"
+ "@pixi/filter-color-matrix" "7.3.3"
+ "@pixi/filter-displacement" "7.3.3"
+ "@pixi/filter-fxaa" "7.3.3"
+ "@pixi/filter-noise" "7.3.3"
+ "@pixi/graphics" "7.3.3"
+ "@pixi/mesh" "7.3.3"
+ "@pixi/mesh-extras" "7.3.3"
+ "@pixi/mixin-cache-as-bitmap" "7.3.3"
+ "@pixi/mixin-get-child-by-name" "7.3.3"
+ "@pixi/mixin-get-global-position" "7.3.3"
+ "@pixi/particle-container" "7.3.3"
+ "@pixi/prepare" "7.3.3"
+ "@pixi/sprite" "7.3.3"
+ "@pixi/sprite-animated" "7.3.3"
+ "@pixi/sprite-tiling" "7.3.3"
+ "@pixi/spritesheet" "7.3.3"
+ "@pixi/text" "7.3.3"
+ "@pixi/text-bitmap" "7.3.3"
+ "@pixi/text-html" "7.3.3"
+
postcss-import@^15.1.0:
version "15.1.0"
resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70"
@@ -1773,11 +2126,23 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
+
punycode@^2.1.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+qs@^6.11.2:
+ version "6.11.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9"
+ integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==
+ dependencies:
+ side-channel "^1.0.4"
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -1918,6 +2283,16 @@ semver@^7.5.4:
dependencies:
lru-cache "^6.0.0"
+set-function-length@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed"
+ integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==
+ dependencies:
+ define-data-property "^1.1.1"
+ get-intrinsic "^1.2.1"
+ gopd "^1.0.1"
+ has-property-descriptors "^1.0.0"
+
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@@ -1930,6 +2305,15 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+side-channel@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+ integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+ dependencies:
+ call-bind "^1.0.0"
+ get-intrinsic "^1.0.2"
+ object-inspect "^1.9.0"
+
signal-exit@^4.0.1:
version "4.1.0"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
@@ -2128,6 +2512,14 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
+url@^0.11.0:
+ version "0.11.3"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad"
+ integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==
+ dependencies:
+ punycode "^1.4.1"
+ qs "^6.11.2"
+
util-deprecate@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"