create-pixi-vn 1.8.2 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/package.json +1 -1
  2. package/template-nqtr-react-vite-muijoy/package.json +74 -74
  3. package/template-nqtr-react-vite-muijoy/src/index.css +6 -0
  4. package/template-nqtr-react-vite-muijoy/src/labels/variousActionsLabels.ts +1 -1
  5. package/template-nqtr-react-vite-muijoy/src/main.tsx +7 -6
  6. package/template-nqtr-react-vite-muijoy/src/utils/assets-utility.ts +1 -1
  7. package/template-nqtr-react-vite-muijoy-ink/package.json +20 -20
  8. package/template-nqtr-react-vite-muijoy-ink/src/index.css +6 -0
  9. package/template-nqtr-react-vite-muijoy-ink/src/labels/startLabel.ts +15 -0
  10. package/template-nqtr-react-vite-muijoy-ink/src/main.tsx +7 -6
  11. package/template-nqtr-react-vite-muijoy-ink/src/utils/assets-utility.ts +1 -1
  12. package/template-nqtr-react-vite-muijoy-ink-tauri/package.json +21 -21
  13. package/template-nqtr-react-vite-muijoy-ink-tauri/src/index.css +6 -0
  14. package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/startLabel.ts +15 -0
  15. package/template-nqtr-react-vite-muijoy-ink-tauri/src/main.tsx +7 -6
  16. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +1 -1
  17. package/template-nqtr-react-vite-muijoy-tauri/package.json +21 -21
  18. package/template-nqtr-react-vite-muijoy-tauri/src/index.css +6 -0
  19. package/template-nqtr-react-vite-muijoy-tauri/src/labels/variousActionsLabels.ts +1 -1
  20. package/template-nqtr-react-vite-muijoy-tauri/src/main.tsx +7 -6
  21. package/template-nqtr-react-vite-muijoy-tauri/src/utils/assets-utility.ts +1 -1
  22. package/template-react-vite-muijoy/package.json +20 -20
  23. package/template-react-vite-muijoy/src/index.css +6 -0
  24. package/template-react-vite-muijoy/src/main.tsx +4 -3
  25. package/template-react-vite-muijoy/src/utils/assets-utility.ts +1 -1
  26. package/template-react-vite-muijoy-ink/package.json +72 -72
  27. package/template-react-vite-muijoy-ink/src/index.css +6 -0
  28. package/template-react-vite-muijoy-ink/src/main.tsx +4 -3
  29. package/template-react-vite-muijoy-ink/src/utils/assets-utility.ts +1 -1
  30. package/template-react-vite-muijoy-ink-tauri/package.json +21 -21
  31. package/template-react-vite-muijoy-ink-tauri/src/index.css +6 -0
  32. package/template-react-vite-muijoy-ink-tauri/src/main.tsx +4 -3
  33. package/template-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +1 -1
  34. package/template-react-vite-muijoy-tauri/package.json +76 -76
  35. package/template-react-vite-muijoy-tauri/src/index.css +6 -0
  36. package/template-react-vite-muijoy-tauri/src/main.tsx +4 -3
  37. package/template-react-vite-muijoy-tauri/src/utils/assets-utility.ts +1 -1
  38. package/template-story-react-vite-muijoy/package.json +20 -20
  39. package/template-story-react-vite-muijoy/src/index.css +6 -0
  40. package/template-story-react-vite-muijoy/src/main.tsx +4 -3
  41. package/template-story-react-vite-muijoy/src/utils/assets-utility.ts +1 -1
  42. package/template-story-react-vite-muijoy-ink/package.json +20 -20
  43. package/template-story-react-vite-muijoy-ink/src/index.css +6 -0
  44. package/template-story-react-vite-muijoy-ink/src/main.tsx +4 -3
  45. package/template-story-react-vite-muijoy-ink/src/utils/assets-utility.ts +1 -1
  46. package/template-story-react-vite-muijoy-ink-tauri/package.json +21 -21
  47. package/template-story-react-vite-muijoy-ink-tauri/src/index.css +6 -0
  48. package/template-story-react-vite-muijoy-ink-tauri/src/main.tsx +4 -3
  49. package/template-story-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +1 -1
  50. package/template-story-react-vite-muijoy-tauri/package.json +21 -21
  51. package/template-story-react-vite-muijoy-tauri/src/index.css +6 -0
  52. package/template-story-react-vite-muijoy-tauri/src/main.tsx +4 -3
  53. package/template-story-react-vite-muijoy-tauri/src/utils/assets-utility.ts +1 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-pixi-vn",
3
3
  "description": "Create a new Pixi’VN project",
4
- "version": "1.8.2",
4
+ "version": "1.9.0",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0",
7
7
  "author": "DRincs-Productions",
@@ -1,75 +1,75 @@
1
- {
2
- "name": "my-app-package-name",
3
- "description": "my-app-description",
4
- "version": "0.1.0",
5
- "type": "module",
6
- "license": "GPL-3.0",
7
- "scripts": {
8
- "start": "vite",
9
- "dev": "vite",
10
- "build": "tsc && vite build",
11
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
12
- "preview": "vite preview"
13
- },
14
- "dependencies": {
15
- "@drincs/nqtr": "^0.6.0",
16
- "@drincs/pixi-vn": "^1.4.3",
17
- "@emotion/react": "^11.14.0",
18
- "@emotion/styled": "^11.14.1",
19
- "@mui/icons-material": "^7.3.5",
20
- "@mui/joy": "^5.0.0-beta.52",
21
- "@mui/material": "^7.3.6",
22
- "@tailwindcss/vite": "^4.1.18",
23
- "@tanstack/react-query": "^5.90.12",
24
- "es-toolkit": "^1.43.0",
25
- "i18next": "^25.7.3",
26
- "i18next-chained-backend": "^4.6.2",
27
- "i18next-resources-to-backend": "^1.2.1",
28
- "motion": "^12.23.26",
29
- "notistack": "^3.0.2",
30
- "react": "^19.2.3",
31
- "react-color-palette": "^7.3.1",
32
- "react-dom": "^19.2.3",
33
- "react-error-boundary": "^6.0.0",
34
- "react-i18next": "^16.5.0",
35
- "react-lazy-load-image-component": "^1.6.3",
36
- "react-markdown": "^10.1.0",
37
- "react-markdown-typewriter": "^1.1.4",
38
- "react-router-dom": "^7.11.0",
39
- "rehype-raw": "^7.0.0",
40
- "remark-gfm": "^4.0.1",
41
- "shade-generator": "^1.2.7",
42
- "tailwindcss": "^4.1.18",
43
- "vite-plugin-checker": "^0.12.0",
44
- "zustand": "^5.0.9"
45
- },
46
- "devDependencies": {
47
- "@tailwindcss/typography": "^0.5.19",
48
- "@tanstack/react-query-devtools": "^5.91.1",
49
- "@types/node": "^25.0.3",
50
- "@types/react": "^19.2.7",
51
- "@types/react-dom": "^19.2.3",
52
- "@types/react-lazy-load-image-component": "^1.6.5",
53
- "@typescript-eslint/eslint-plugin": "^8.50.0",
54
- "@typescript-eslint/parser": "^8.50.0",
55
- "@vitejs/plugin-react": "^5.1.2",
56
- "eslint": "^9.39.2",
57
- "eslint-plugin-react-hooks": "^7.0.1",
58
- "eslint-plugin-react-refresh": "^0.4.26",
59
- "tailwindcss-motion": "^1.1.1",
60
- "typescript": "^5.9.3",
61
- "vite": "^7.3.0",
62
- "vite-plugin-pwa": "^1.2.0"
63
- },
64
- "keywords": [
65
- "game",
66
- "js",
67
- "novel",
68
- "pixi",
69
- "pixi-js",
70
- "pixi-vn",
71
- "visual",
72
- "visual-novel",
73
- "vn"
74
- ]
1
+ {
2
+ "name": "my-app-package-name",
3
+ "description": "my-app-description",
4
+ "version": "0.1.0",
5
+ "type": "module",
6
+ "license": "GPL-3.0",
7
+ "scripts": {
8
+ "start": "vite",
9
+ "dev": "vite",
10
+ "build": "tsc && vite build",
11
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
12
+ "preview": "vite preview"
13
+ },
14
+ "dependencies": {
15
+ "@drincs/nqtr": "^0.6.0",
16
+ "@drincs/pixi-vn": "^1.5.5",
17
+ "@emotion/react": "^11.14.0",
18
+ "@emotion/styled": "^11.14.1",
19
+ "@mui/icons-material": "^7.3.7",
20
+ "@mui/joy": "^5.0.0-beta.52",
21
+ "@mui/material": "^7.3.7",
22
+ "@tailwindcss/vite": "^4.1.18",
23
+ "@tanstack/react-query": "^5.90.20",
24
+ "es-toolkit": "^1.44.0",
25
+ "i18next": "^25.8.0",
26
+ "i18next-chained-backend": "^5.0.2",
27
+ "i18next-resources-to-backend": "^1.2.1",
28
+ "motion": "^12.29.2",
29
+ "notistack": "^3.0.2",
30
+ "react": "^19.2.4",
31
+ "react-color-palette": "^7.3.1",
32
+ "react-dom": "^19.2.4",
33
+ "react-error-boundary": "^6.1.0",
34
+ "react-i18next": "^16.5.4",
35
+ "react-lazy-load-image-component": "^1.6.3",
36
+ "react-markdown": "^10.1.0",
37
+ "react-markdown-typewriter": "^1.1.4",
38
+ "react-router-dom": "^7.13.0",
39
+ "rehype-raw": "^7.0.0",
40
+ "remark-gfm": "^4.0.1",
41
+ "shade-generator": "^1.2.7",
42
+ "tailwindcss": "^4.1.18",
43
+ "vite-plugin-checker": "^0.12.0",
44
+ "zustand": "^5.0.11"
45
+ },
46
+ "devDependencies": {
47
+ "@tailwindcss/typography": "^0.5.19",
48
+ "@tanstack/react-query-devtools": "^5.91.3",
49
+ "@types/node": "^25.2.0",
50
+ "@types/react": "^19.2.7",
51
+ "@types/react-dom": "^19.2.3",
52
+ "@types/react-lazy-load-image-component": "^1.6.5",
53
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
54
+ "@typescript-eslint/parser": "^8.54.0",
55
+ "@vitejs/plugin-react": "^5.1.2",
56
+ "eslint": "^9.39.2",
57
+ "eslint-plugin-react-hooks": "^7.0.1",
58
+ "eslint-plugin-react-refresh": "^0.5.0",
59
+ "tailwindcss-motion": "^1.1.1",
60
+ "typescript": "^5.9.3",
61
+ "vite": "^7.3.1",
62
+ "vite-plugin-pwa": "^1.2.0"
63
+ },
64
+ "keywords": [
65
+ "game",
66
+ "js",
67
+ "novel",
68
+ "pixi",
69
+ "pixi-js",
70
+ "pixi-vn",
71
+ "visual",
72
+ "visual-novel",
73
+ "vn"
74
+ ]
75
75
  }
@@ -6,8 +6,14 @@
6
6
  background-color: #242424;
7
7
  }
8
8
 
9
+ html,
10
+ body {
11
+ height: 100%;
12
+ }
13
+
9
14
  body {
10
15
  margin: 0;
16
+ min-height: 100vh;
11
17
  display: flex;
12
18
  overflow: hidden;
13
19
  }
@@ -126,7 +126,7 @@ export const talkAliceQuest = newLabel(
126
126
  await showImage(BACKGROUND_ID, "alice_terrace0At");
127
127
  }
128
128
  },
129
- }
129
+ },
130
130
  );
131
131
  export const aliceTalkMenuLabel = newLabel(ALICE_TALK_MENU_LABEL_KEY, [
132
132
  async () => {
@@ -23,6 +23,7 @@ Game.init(body, {
23
23
  height: 1080,
24
24
  width: 1920,
25
25
  backgroundColor: "#303030",
26
+ resizeMode: "contain",
26
27
  }).then(() => {
27
28
  // Pixi.JS UI Layer
28
29
  canvas.addLayer(CANVAS_UI_LAYER_NAME, new Container());
@@ -43,22 +44,22 @@ Game.init(body, {
43
44
  reactRoot.render(
44
45
  <QueryClientProvider client={queryClient}>
45
46
  <App />
46
- </QueryClientProvider>
47
+ </QueryClientProvider>,
47
48
  );
48
49
  });
49
50
 
50
- Game.onEnd(async (props) => {
51
+ Game.onEnd(async ({ navigate }) => {
51
52
  let isTheEnd = storage.getFlag("is_the_end");
52
53
  if (isTheEnd) {
53
54
  Game.clear();
54
- props.navigate("/");
55
+ navigate("/");
55
56
  } else {
56
- props.navigate(NAVIGATION_ROUTE);
57
+ navigate(NAVIGATION_ROUTE);
57
58
  }
58
59
  });
59
60
 
60
- Game.onError((type, error, { notify, t }) => {
61
- notify(t("allert_error_occurred"), { variant: "error" });
61
+ Game.onError((type, error, { notify, uiTransition }) => {
62
+ notify(uiTransition("allert_error_occurred"), { variant: "error" });
62
63
  console.error(`Error occurred: ${type}`, error);
63
64
  });
64
65
 
@@ -9,7 +9,7 @@ import { mainMap } from "../values/maps";
9
9
  * You can read more about assets management in the documentation: https://pixi-vn.web.app/start/assets-management.html
10
10
  */
11
11
  export async function defineAssets() {
12
- Assets.init({ manifest });
12
+ await Assets.init({ manifest });
13
13
 
14
14
  // The game will not start until these asserts are loaded.
15
15
  await Assets.loadBundle(MAIN_MENU_ROUTE);
@@ -13,53 +13,53 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "@drincs/nqtr": "^0.6.0",
16
- "@drincs/pixi-vn": "^1.4.3",
16
+ "@drincs/pixi-vn": "^1.5.5",
17
17
  "@drincs/pixi-vn-ink": "^0.11.1",
18
18
  "@emotion/react": "^11.14.0",
19
19
  "@emotion/styled": "^11.14.1",
20
- "@mui/icons-material": "^7.3.5",
20
+ "@mui/icons-material": "^7.3.7",
21
21
  "@mui/joy": "^5.0.0-beta.52",
22
- "@mui/material": "^7.3.6",
22
+ "@mui/material": "^7.3.7",
23
23
  "@tailwindcss/vite": "^4.1.18",
24
- "@tanstack/react-query": "^5.90.12",
25
- "es-toolkit": "^1.43.0",
26
- "i18next": "^25.7.3",
27
- "i18next-chained-backend": "^4.6.2",
24
+ "@tanstack/react-query": "^5.90.20",
25
+ "es-toolkit": "^1.44.0",
26
+ "i18next": "^25.8.0",
27
+ "i18next-chained-backend": "^5.0.2",
28
28
  "i18next-resources-to-backend": "^1.2.1",
29
- "motion": "^12.23.26",
29
+ "motion": "^12.29.2",
30
30
  "notistack": "^3.0.2",
31
- "react": "^19.2.3",
31
+ "react": "^19.2.4",
32
32
  "react-color-palette": "^7.3.1",
33
- "react-dom": "^19.2.3",
34
- "react-error-boundary": "^6.0.0",
35
- "react-i18next": "^16.5.0",
33
+ "react-dom": "^19.2.4",
34
+ "react-error-boundary": "^6.1.0",
35
+ "react-i18next": "^16.5.4",
36
36
  "react-lazy-load-image-component": "^1.6.3",
37
37
  "react-markdown": "^10.1.0",
38
38
  "react-markdown-typewriter": "^1.1.4",
39
- "react-router-dom": "^7.11.0",
39
+ "react-router-dom": "^7.13.0",
40
40
  "rehype-raw": "^7.0.0",
41
41
  "remark-gfm": "^4.0.1",
42
42
  "shade-generator": "^1.2.7",
43
43
  "tailwindcss": "^4.1.18",
44
44
  "vite-plugin-checker": "^0.12.0",
45
- "zustand": "^5.0.9"
45
+ "zustand": "^5.0.11"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@tailwindcss/typography": "^0.5.19",
49
- "@tanstack/react-query-devtools": "^5.91.1",
50
- "@types/node": "^25.0.3",
49
+ "@tanstack/react-query-devtools": "^5.91.3",
50
+ "@types/node": "^25.2.0",
51
51
  "@types/react": "^19.2.7",
52
52
  "@types/react-dom": "^19.2.3",
53
53
  "@types/react-lazy-load-image-component": "^1.6.5",
54
- "@typescript-eslint/eslint-plugin": "^8.50.0",
55
- "@typescript-eslint/parser": "^8.50.0",
54
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
55
+ "@typescript-eslint/parser": "^8.54.0",
56
56
  "@vitejs/plugin-react": "^5.1.2",
57
57
  "eslint": "^9.39.2",
58
58
  "eslint-plugin-react-hooks": "^7.0.1",
59
- "eslint-plugin-react-refresh": "^0.4.26",
59
+ "eslint-plugin-react-refresh": "^0.5.0",
60
60
  "tailwindcss-motion": "^1.1.1",
61
61
  "typescript": "^5.9.3",
62
- "vite": "^7.3.0",
62
+ "vite": "^7.3.1",
63
63
  "vite-plugin-pwa": "^1.2.0"
64
64
  },
65
65
  "keywords": [
@@ -6,8 +6,14 @@
6
6
  background-color: #242424;
7
7
  }
8
8
 
9
+ html,
10
+ body {
11
+ height: 100%;
12
+ }
13
+
9
14
  body {
10
15
  margin: 0;
16
+ min-height: 100vh;
11
17
  display: flex;
12
18
  overflow: hidden;
13
19
  }
@@ -0,0 +1,15 @@
1
+ import { navigator, timeTracker } from "@drincs/nqtr";
2
+ import { newLabel } from "@drincs/pixi-vn";
3
+ import { NAVIGATION_ROUTE } from "../constans";
4
+ import { aliceQuest } from "../values/quests";
5
+ import { mcRoom } from "../values/rooms";
6
+
7
+ const startLabel = newLabel("start", [
8
+ async (props) => {
9
+ navigator.currentRoom = mcRoom;
10
+ await aliceQuest.start(props);
11
+ await props.navigate(NAVIGATION_ROUTE);
12
+ timeTracker.currentTime = 8;
13
+ },
14
+ ]);
15
+ export default startLabel;
@@ -24,6 +24,7 @@ Game.init(body, {
24
24
  height: 1080,
25
25
  width: 1920,
26
26
  backgroundColor: "#303030",
27
+ resizeMode: "contain",
27
28
  }).then(() => {
28
29
  // Pixi.JS UI Layer
29
30
  canvas.addLayer(CANVAS_UI_LAYER_NAME, new Container());
@@ -44,22 +45,22 @@ Game.init(body, {
44
45
  reactRoot.render(
45
46
  <QueryClientProvider client={queryClient}>
46
47
  <App />
47
- </QueryClientProvider>
48
+ </QueryClientProvider>,
48
49
  );
49
50
  });
50
51
 
51
- Game.onEnd(async (props) => {
52
+ Game.onEnd(async ({ navigate }) => {
52
53
  let isTheEnd = storage.getFlag("is_the_end");
53
54
  if (isTheEnd) {
54
55
  Game.clear();
55
- props.navigate("/");
56
+ navigate("/");
56
57
  } else {
57
- props.navigate(NAVIGATION_ROUTE);
58
+ navigate(NAVIGATION_ROUTE);
58
59
  }
59
60
  });
60
61
 
61
- Game.onError((type, error, { notify, t }) => {
62
- notify(t("allert_error_occurred"), { variant: "error" });
62
+ Game.onError((type, error, { notify, uiTransition }) => {
63
+ notify(uiTransition("allert_error_occurred"), { variant: "error" });
63
64
  console.error(`Error occurred: ${type}`, error);
64
65
  });
65
66
 
@@ -9,7 +9,7 @@ import { mainMap } from "../values/maps";
9
9
  * You can read more about assets management in the documentation: https://pixi-vn.web.app/start/assets-management.html
10
10
  */
11
11
  export async function defineAssets() {
12
- Assets.init({ manifest });
12
+ await Assets.init({ manifest });
13
13
 
14
14
  // The game will not start until these asserts are loaded.
15
15
  await Assets.loadBundle(MAIN_MENU_ROUTE);
@@ -14,56 +14,56 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@drincs/nqtr": "^0.6.0",
17
- "@drincs/pixi-vn": "^1.4.3",
17
+ "@drincs/pixi-vn": "^1.5.5",
18
18
  "@drincs/pixi-vn-ink": "^0.11.1",
19
19
  "@emotion/react": "^11.14.0",
20
20
  "@emotion/styled": "^11.14.1",
21
- "@mui/icons-material": "^7.3.5",
21
+ "@mui/icons-material": "^7.3.7",
22
22
  "@mui/joy": "^5.0.0-beta.52",
23
- "@mui/material": "^7.3.6",
23
+ "@mui/material": "^7.3.7",
24
24
  "@tailwindcss/vite": "^4.1.18",
25
- "@tanstack/react-query": "^5.90.12",
25
+ "@tanstack/react-query": "^5.90.20",
26
26
  "@tauri-apps/api": "^2",
27
27
  "@tauri-apps/plugin-opener": "^2",
28
- "es-toolkit": "^1.43.0",
29
- "i18next": "^25.7.3",
30
- "i18next-chained-backend": "^4.6.2",
28
+ "es-toolkit": "^1.44.0",
29
+ "i18next": "^25.8.0",
30
+ "i18next-chained-backend": "^5.0.2",
31
31
  "i18next-resources-to-backend": "^1.2.1",
32
- "motion": "^12.23.26",
32
+ "motion": "^12.29.2",
33
33
  "notistack": "^3.0.2",
34
- "react": "^19.2.3",
34
+ "react": "^19.2.4",
35
35
  "react-color-palette": "^7.3.1",
36
- "react-dom": "^19.2.3",
37
- "react-error-boundary": "^6.0.0",
38
- "react-i18next": "^16.5.0",
36
+ "react-dom": "^19.2.4",
37
+ "react-error-boundary": "^6.1.0",
38
+ "react-i18next": "^16.5.4",
39
39
  "react-lazy-load-image-component": "^1.6.3",
40
40
  "react-markdown": "^10.1.0",
41
41
  "react-markdown-typewriter": "^1.1.4",
42
- "react-router-dom": "^7.11.0",
42
+ "react-router-dom": "^7.13.0",
43
43
  "rehype-raw": "^7.0.0",
44
44
  "remark-gfm": "^4.0.1",
45
45
  "shade-generator": "^1.2.7",
46
46
  "tailwindcss": "^4.1.18",
47
47
  "vite-plugin-checker": "^0.12.0",
48
- "zustand": "^5.0.9"
48
+ "zustand": "^5.0.11"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@tailwindcss/typography": "^0.5.19",
52
- "@tanstack/react-query-devtools": "^5.91.1",
52
+ "@tanstack/react-query-devtools": "^5.91.3",
53
53
  "@tauri-apps/cli": "^2",
54
- "@types/node": "^25.0.3",
54
+ "@types/node": "^25.2.0",
55
55
  "@types/react": "^19.2.7",
56
56
  "@types/react-dom": "^19.2.3",
57
57
  "@types/react-lazy-load-image-component": "^1.6.5",
58
- "@typescript-eslint/eslint-plugin": "^8.50.0",
59
- "@typescript-eslint/parser": "^8.50.0",
58
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
59
+ "@typescript-eslint/parser": "^8.54.0",
60
60
  "@vitejs/plugin-react": "^5.1.2",
61
61
  "eslint": "^9.39.2",
62
62
  "eslint-plugin-react-hooks": "^7.0.1",
63
- "eslint-plugin-react-refresh": "^0.4.26",
63
+ "eslint-plugin-react-refresh": "^0.5.0",
64
64
  "tailwindcss-motion": "^1.1.1",
65
65
  "typescript": "^5.9.3",
66
- "vite": "^7.3.0",
66
+ "vite": "^7.3.1",
67
67
  "vite-plugin-pwa": "^1.2.0"
68
68
  },
69
69
  "keywords": [
@@ -77,4 +77,4 @@
77
77
  "visual-novel",
78
78
  "vn"
79
79
  ]
80
- }
80
+ }
@@ -6,8 +6,14 @@
6
6
  background-color: #242424;
7
7
  }
8
8
 
9
+ html,
10
+ body {
11
+ height: 100%;
12
+ }
13
+
9
14
  body {
10
15
  margin: 0;
16
+ min-height: 100vh;
11
17
  display: flex;
12
18
  overflow: hidden;
13
19
  }
@@ -0,0 +1,15 @@
1
+ import { navigator, timeTracker } from "@drincs/nqtr";
2
+ import { newLabel } from "@drincs/pixi-vn";
3
+ import { NAVIGATION_ROUTE } from "../constans";
4
+ import { aliceQuest } from "../values/quests";
5
+ import { mcRoom } from "../values/rooms";
6
+
7
+ const startLabel = newLabel("start", [
8
+ async (props) => {
9
+ navigator.currentRoom = mcRoom;
10
+ await aliceQuest.start(props);
11
+ await props.navigate(NAVIGATION_ROUTE);
12
+ timeTracker.currentTime = 8;
13
+ },
14
+ ]);
15
+ export default startLabel;
@@ -24,6 +24,7 @@ Game.init(body, {
24
24
  height: 1080,
25
25
  width: 1920,
26
26
  backgroundColor: "#303030",
27
+ resizeMode: "contain",
27
28
  }).then(() => {
28
29
  // Pixi.JS UI Layer
29
30
  canvas.addLayer(CANVAS_UI_LAYER_NAME, new Container());
@@ -44,22 +45,22 @@ Game.init(body, {
44
45
  reactRoot.render(
45
46
  <QueryClientProvider client={queryClient}>
46
47
  <App />
47
- </QueryClientProvider>
48
+ </QueryClientProvider>,
48
49
  );
49
50
  });
50
51
 
51
- Game.onEnd(async (props) => {
52
+ Game.onEnd(async ({ navigate }) => {
52
53
  let isTheEnd = storage.getFlag("is_the_end");
53
54
  if (isTheEnd) {
54
55
  Game.clear();
55
- props.navigate("/");
56
+ navigate("/");
56
57
  } else {
57
- props.navigate(NAVIGATION_ROUTE);
58
+ navigate(NAVIGATION_ROUTE);
58
59
  }
59
60
  });
60
61
 
61
- Game.onError((type, error, { notify, t }) => {
62
- notify(t("allert_error_occurred"), { variant: "error" });
62
+ Game.onError((type, error, { notify, uiTransition }) => {
63
+ notify(uiTransition("allert_error_occurred"), { variant: "error" });
63
64
  console.error(`Error occurred: ${type}`, error);
64
65
  });
65
66
 
@@ -9,7 +9,7 @@ import { mainMap } from "../values/maps";
9
9
  * You can read more about assets management in the documentation: https://pixi-vn.web.app/start/assets-management.html
10
10
  */
11
11
  export async function defineAssets() {
12
- Assets.init({ manifest });
12
+ await Assets.init({ manifest });
13
13
 
14
14
  // The game will not start until these asserts are loaded.
15
15
  await Assets.loadBundle(MAIN_MENU_ROUTE);
@@ -14,55 +14,55 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@drincs/nqtr": "^0.6.0",
17
- "@drincs/pixi-vn": "^1.4.3",
17
+ "@drincs/pixi-vn": "^1.5.5",
18
18
  "@emotion/react": "^11.14.0",
19
19
  "@emotion/styled": "^11.14.1",
20
- "@mui/icons-material": "^7.3.5",
20
+ "@mui/icons-material": "^7.3.7",
21
21
  "@mui/joy": "^5.0.0-beta.52",
22
- "@mui/material": "^7.3.6",
22
+ "@mui/material": "^7.3.7",
23
23
  "@tailwindcss/vite": "^4.1.18",
24
- "@tanstack/react-query": "^5.90.12",
24
+ "@tanstack/react-query": "^5.90.20",
25
25
  "@tauri-apps/api": "^2",
26
26
  "@tauri-apps/plugin-opener": "^2",
27
- "es-toolkit": "^1.43.0",
28
- "i18next": "^25.7.3",
29
- "i18next-chained-backend": "^4.6.2",
27
+ "es-toolkit": "^1.44.0",
28
+ "i18next": "^25.8.0",
29
+ "i18next-chained-backend": "^5.0.2",
30
30
  "i18next-resources-to-backend": "^1.2.1",
31
- "motion": "^12.23.26",
31
+ "motion": "^12.29.2",
32
32
  "notistack": "^3.0.2",
33
- "react": "^19.2.3",
33
+ "react": "^19.2.4",
34
34
  "react-color-palette": "^7.3.1",
35
- "react-dom": "^19.2.3",
36
- "react-error-boundary": "^6.0.0",
37
- "react-i18next": "^16.5.0",
35
+ "react-dom": "^19.2.4",
36
+ "react-error-boundary": "^6.1.0",
37
+ "react-i18next": "^16.5.4",
38
38
  "react-lazy-load-image-component": "^1.6.3",
39
39
  "react-markdown": "^10.1.0",
40
40
  "react-markdown-typewriter": "^1.1.4",
41
- "react-router-dom": "^7.11.0",
41
+ "react-router-dom": "^7.13.0",
42
42
  "rehype-raw": "^7.0.0",
43
43
  "remark-gfm": "^4.0.1",
44
44
  "shade-generator": "^1.2.7",
45
45
  "tailwindcss": "^4.1.18",
46
46
  "vite-plugin-checker": "^0.12.0",
47
- "zustand": "^5.0.9"
47
+ "zustand": "^5.0.11"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@tailwindcss/typography": "^0.5.19",
51
- "@tanstack/react-query-devtools": "^5.91.1",
51
+ "@tanstack/react-query-devtools": "^5.91.3",
52
52
  "@tauri-apps/cli": "^2",
53
- "@types/node": "^25.0.3",
53
+ "@types/node": "^25.2.0",
54
54
  "@types/react": "^19.2.7",
55
55
  "@types/react-dom": "^19.2.3",
56
56
  "@types/react-lazy-load-image-component": "^1.6.5",
57
- "@typescript-eslint/eslint-plugin": "^8.50.0",
58
- "@typescript-eslint/parser": "^8.50.0",
57
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
58
+ "@typescript-eslint/parser": "^8.54.0",
59
59
  "@vitejs/plugin-react": "^5.1.2",
60
60
  "eslint": "^9.39.2",
61
61
  "eslint-plugin-react-hooks": "^7.0.1",
62
- "eslint-plugin-react-refresh": "^0.4.26",
62
+ "eslint-plugin-react-refresh": "^0.5.0",
63
63
  "tailwindcss-motion": "^1.1.1",
64
64
  "typescript": "^5.9.3",
65
- "vite": "^7.3.0",
65
+ "vite": "^7.3.1",
66
66
  "vite-plugin-pwa": "^1.2.0"
67
67
  },
68
68
  "keywords": [
@@ -76,4 +76,4 @@
76
76
  "visual-novel",
77
77
  "vn"
78
78
  ]
79
- }
79
+ }
@@ -6,8 +6,14 @@
6
6
  background-color: #242424;
7
7
  }
8
8
 
9
+ html,
10
+ body {
11
+ height: 100%;
12
+ }
13
+
9
14
  body {
10
15
  margin: 0;
16
+ min-height: 100vh;
11
17
  display: flex;
12
18
  overflow: hidden;
13
19
  }