create-pixi-vn 1.9.7 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +54 -52
- package/package.json +4 -2
- package/template-react-vite-muijoy/.assetpack.ts +18 -0
- package/template-react-vite-muijoy/.vscode/extensions.json +8 -9
- package/template-react-vite-muijoy/.vscode/launch.json +22 -15
- package/template-react-vite-muijoy/.vscode/settings.json +58 -63
- package/template-react-vite-muijoy/.vscode/tasks.json +87 -0
- package/template-react-vite-muijoy/README.md +2 -113
- package/template-react-vite-muijoy/_gitignore +2 -1
- package/template-react-vite-muijoy/biome.json +70 -0
- package/template-react-vite-muijoy/components.json +25 -0
- package/template-react-vite-muijoy/index.html +3 -2
- package/template-react-vite-muijoy/package-lock.json +18254 -0
- package/template-react-vite-muijoy/package.json +57 -39
- package/template-react-vite-muijoy/public/apple-touch-icon-180x180.png +0 -0
- package/template-react-vite-muijoy/public/favicon.ico +0 -0
- package/template-react-vite-muijoy/public/icon.png +0 -0
- package/template-react-vite-muijoy/public/maskable-icon-512x512.png +0 -0
- package/template-react-vite-muijoy/public/pwa-192x192.png +0 -0
- package/template-react-vite-muijoy/public/pwa-512x512.png +0 -0
- package/template-react-vite-muijoy/public/pwa-64x64.png +0 -0
- package/template-react-vite-muijoy/pwa-assets.config.js +6 -0
- package/template-react-vite-muijoy/src/App.tsx +25 -76
- package/template-react-vite-muijoy/src/assets/index.ts +274 -0
- package/template-react-vite-muijoy/src/assets/manifest.gen.json +8 -0
- package/template-react-vite-muijoy/src/components/loading.tsx +60 -0
- package/template-react-vite-muijoy/src/components/menus/choice-menus.tsx +43 -0
- package/template-react-vite-muijoy/src/components/menus/main-menu.tsx +293 -0
- package/template-react-vite-muijoy/src/components/menus/narration/click-overlay.tsx +15 -0
- package/template-react-vite-muijoy/src/components/menus/narration/index.tsx +30 -0
- package/template-react-vite-muijoy/src/components/menus/narration/narration-cards.tsx +133 -0
- package/template-react-vite-muijoy/src/components/menus/quick-actions-wheel.tsx +262 -0
- package/template-react-vite-muijoy/src/components/menus/quick-tools.tsx +159 -0
- package/template-react-vite-muijoy/src/components/menus/save-menu/index.tsx +95 -0
- package/template-react-vite-muijoy/src/components/menus/save-menu/save-forms.tsx +27 -0
- package/template-react-vite-muijoy/src/components/menus/save-menu/save-slots.tsx +121 -0
- package/template-react-vite-muijoy/src/components/menus/settings/about.tsx +33 -0
- package/template-react-vite-muijoy/src/components/menus/settings/dialogues-controls.tsx +105 -0
- package/template-react-vite-muijoy/src/components/menus/settings/index.tsx +220 -0
- package/template-react-vite-muijoy/src/components/menus/settings/menus/controls.tsx +115 -0
- package/template-react-vite-muijoy/src/components/menus/settings/menus/history.tsx +135 -0
- package/template-react-vite-muijoy/src/components/menus/settings/menus/save-load.tsx +66 -0
- package/template-react-vite-muijoy/src/components/menus/settings/quick-menus.tsx +126 -0
- package/template-react-vite-muijoy/src/components/menus/settings/sound-controls.tsx +114 -0
- package/template-react-vite-muijoy/src/components/menus/settings/system-controls.tsx +225 -0
- package/template-react-vite-muijoy/src/components/modals/error-allerts.tsx +42 -0
- package/template-react-vite-muijoy/src/components/modals/input-request-dialogues.tsx +82 -0
- package/template-react-vite-muijoy/src/components/providers/alert-dialog-provider.tsx +134 -0
- package/template-react-vite-muijoy/src/components/providers/root-provider.tsx +37 -0
- package/template-react-vite-muijoy/src/components/providers/theme-provider.tsx +71 -0
- package/template-react-vite-muijoy/src/components/ui/alert-dialog.tsx +159 -0
- package/template-react-vite-muijoy/src/components/ui/aspect-ratio.tsx +22 -0
- package/template-react-vite-muijoy/src/components/ui/avatar.tsx +91 -0
- package/template-react-vite-muijoy/src/components/ui/breadcrumb.tsx +102 -0
- package/template-react-vite-muijoy/src/components/ui/button-group.tsx +77 -0
- package/template-react-vite-muijoy/src/components/ui/button.tsx +57 -0
- package/template-react-vite-muijoy/src/components/ui/card.tsx +95 -0
- package/template-react-vite-muijoy/src/components/ui/carousel.tsx +232 -0
- package/template-react-vite-muijoy/src/components/ui/dialog.tsx +148 -0
- package/template-react-vite-muijoy/src/components/ui/drawer.tsx +118 -0
- package/template-react-vite-muijoy/src/components/ui/field.tsx +226 -0
- package/template-react-vite-muijoy/src/components/ui/fullscreen-dialog.tsx +70 -0
- package/template-react-vite-muijoy/src/components/ui/input-group.tsx +144 -0
- package/template-react-vite-muijoy/src/components/ui/input.tsx +20 -0
- package/template-react-vite-muijoy/src/components/ui/item.tsx +190 -0
- package/template-react-vite-muijoy/src/components/ui/kbd.tsx +26 -0
- package/template-react-vite-muijoy/src/components/ui/label.tsx +18 -0
- package/template-react-vite-muijoy/src/components/ui/pagination.tsx +118 -0
- package/template-react-vite-muijoy/src/components/ui/radio-group.tsx +35 -0
- package/template-react-vite-muijoy/src/components/ui/resizable.tsx +40 -0
- package/template-react-vite-muijoy/src/components/ui/scroll-area.tsx +48 -0
- package/template-react-vite-muijoy/src/components/ui/select.tsx +189 -0
- package/template-react-vite-muijoy/src/components/ui/separator.tsx +19 -0
- package/template-react-vite-muijoy/src/components/ui/skeleton.tsx +13 -0
- package/template-react-vite-muijoy/src/components/ui/slider.tsx +52 -0
- package/template-react-vite-muijoy/src/components/ui/sonner.tsx +43 -0
- package/template-react-vite-muijoy/src/components/ui/spinner.tsx +15 -0
- package/template-react-vite-muijoy/src/components/ui/switch.tsx +29 -0
- package/template-react-vite-muijoy/src/components/ui/textarea.tsx +17 -0
- package/template-react-vite-muijoy/src/components/ui/toggle.tsx +43 -0
- package/template-react-vite-muijoy/src/components/ui/tooltip.tsx +52 -0
- package/template-react-vite-muijoy/src/constants.ts +13 -0
- package/template-react-vite-muijoy/src/content/characters.ts +24 -0
- package/template-react-vite-muijoy/src/content/index.ts +4 -0
- package/template-react-vite-muijoy/src/content/labels/animations.label.ts +22 -0
- package/template-react-vite-muijoy/src/content/labels/second.label.ts +1207 -0
- package/template-react-vite-muijoy/src/content/labels/start.label.ts +568 -0
- package/template-react-vite-muijoy/src/lib/hooks/hotkeys-hooks.ts +275 -0
- package/template-react-vite-muijoy/src/lib/hooks/language-settings-hooks.ts +61 -0
- package/template-react-vite-muijoy/src/lib/hooks/minigame-hooks.ts +55 -0
- package/template-react-vite-muijoy/src/lib/hooks/narration-hooks.ts +234 -0
- package/template-react-vite-muijoy/src/lib/hooks/navigation-hooks.ts +93 -0
- package/template-react-vite-muijoy/src/lib/hooks/network-hooks.ts +34 -0
- package/template-react-vite-muijoy/src/lib/hooks/pause-game-hooks.ts +53 -0
- package/template-react-vite-muijoy/src/lib/hooks/props-hooks.ts +24 -0
- package/template-react-vite-muijoy/src/lib/hooks/quick-tools-hooks.ts +80 -0
- package/template-react-vite-muijoy/src/lib/hooks/save-hooks.tsx +203 -0
- package/template-react-vite-muijoy/src/lib/i18n.ts +59 -0
- package/template-react-vite-muijoy/src/lib/query/interface-query.ts +149 -0
- package/template-react-vite-muijoy/src/lib/query/save-query.ts +18 -0
- package/template-react-vite-muijoy/src/lib/query/settings-query.ts +10 -0
- package/template-react-vite-muijoy/src/lib/stores/auto-settings-store.ts +44 -0
- package/template-react-vite-muijoy/src/lib/stores/channel-sound-stores.ts +64 -0
- package/template-react-vite-muijoy/src/lib/stores/game-status-store.ts +19 -0
- package/template-react-vite-muijoy/src/lib/stores/interface-settings-store.ts +49 -0
- package/template-react-vite-muijoy/src/lib/stores/master-sound-storage.ts +68 -0
- package/template-react-vite-muijoy/src/lib/stores/quick-actions-wheel-store.ts +17 -0
- package/template-react-vite-muijoy/src/lib/stores/search-param-store.ts +20 -0
- package/template-react-vite-muijoy/src/lib/stores/skip-settings-store.ts +26 -0
- package/template-react-vite-muijoy/src/lib/stores/text-display-settings-store.ts +62 -0
- package/template-react-vite-muijoy/src/lib/stores/useGameSaveScreenStore.ts +24 -0
- package/template-react-vite-muijoy/src/lib/utils/assets-utility.ts +39 -0
- package/template-react-vite-muijoy/src/lib/utils/db-utility.ts +204 -0
- package/template-react-vite-muijoy/src/lib/utils/save-utility.ts +152 -0
- package/template-react-vite-muijoy/src/lib/utils/scroll-utils.ts +24 -0
- package/template-react-vite-muijoy/src/lib/utils.ts +6 -0
- package/template-react-vite-muijoy/src/locales/en.json +118 -0
- package/template-react-vite-muijoy/src/main.tsx +14 -24
- package/template-react-vite-muijoy/src/models/Character.ts +1 -1
- package/template-react-vite-muijoy/src/models/GameSaveData.ts +1 -1
- package/template-react-vite-muijoy/src/pixi-vn.d.ts +109 -114
- package/template-react-vite-muijoy/src/routeTree.gen.ts +121 -0
- package/template-react-vite-muijoy/src/router.tsx +27 -0
- package/template-react-vite-muijoy/src/routes/__root.tsx +75 -0
- package/template-react-vite-muijoy/src/routes/game/narration.tsx +21 -0
- package/template-react-vite-muijoy/src/routes/game.tsx +22 -0
- package/template-react-vite-muijoy/src/routes/index.tsx +6 -0
- package/template-react-vite-muijoy/src/routes/narration.tsx +9 -0
- package/template-react-vite-muijoy/src/styles.css +155 -0
- package/template-react-vite-muijoy/tsconfig.app.json +32 -0
- package/template-react-vite-muijoy/tsconfig.json +8 -23
- package/template-react-vite-muijoy/tsconfig.node.json +20 -3
- package/template-react-vite-muijoy/vite.config.ts +95 -12
- package/template-react-vite-muijoy-ink/.assetpack.ts +18 -0
- package/template-react-vite-muijoy-ink/.vscode/extensions.json +9 -10
- package/template-react-vite-muijoy-ink/.vscode/launch.json +22 -15
- package/template-react-vite-muijoy-ink/.vscode/settings.json +63 -68
- package/template-react-vite-muijoy-ink/.vscode/tasks.json +87 -0
- package/template-react-vite-muijoy-ink/README.md +2 -150
- package/template-react-vite-muijoy-ink/_gitignore +3 -1
- package/template-react-vite-muijoy-ink/biome.json +70 -0
- package/template-react-vite-muijoy-ink/components.json +25 -0
- package/template-react-vite-muijoy-ink/index.html +3 -2
- package/template-react-vite-muijoy-ink/package-lock.json +18480 -0
- package/template-react-vite-muijoy-ink/package.json +59 -40
- package/template-react-vite-muijoy-ink/public/apple-touch-icon-180x180.png +0 -0
- package/template-react-vite-muijoy-ink/public/favicon.ico +0 -0
- package/template-react-vite-muijoy-ink/public/icon.png +0 -0
- package/template-react-vite-muijoy-ink/public/maskable-icon-512x512.png +0 -0
- package/template-react-vite-muijoy-ink/public/pwa-192x192.png +0 -0
- package/template-react-vite-muijoy-ink/public/pwa-512x512.png +0 -0
- package/template-react-vite-muijoy-ink/public/pwa-64x64.png +0 -0
- package/template-react-vite-muijoy-ink/pwa-assets.config.js +6 -0
- package/template-react-vite-muijoy-ink/src/App.tsx +17 -69
- package/template-react-vite-muijoy-ink/src/assets/index.ts +272 -0
- package/template-react-vite-muijoy-ink/src/assets/ink-manifest.gen.json +4 -0
- package/template-react-vite-muijoy-ink/src/assets/manifest.gen.json +8 -0
- package/template-react-vite-muijoy-ink/src/components/loading.tsx +60 -0
- package/template-react-vite-muijoy-ink/src/components/menus/choice-menus.tsx +43 -0
- package/template-react-vite-muijoy-ink/src/components/menus/main-menu.tsx +292 -0
- package/template-react-vite-muijoy-ink/src/components/menus/narration/click-overlay.tsx +15 -0
- package/template-react-vite-muijoy-ink/src/components/menus/narration/index.tsx +30 -0
- package/template-react-vite-muijoy-ink/src/components/menus/narration/narration-cards.tsx +133 -0
- package/template-react-vite-muijoy-ink/src/components/menus/quick-actions-wheel.tsx +262 -0
- package/template-react-vite-muijoy-ink/src/components/menus/quick-tools.tsx +159 -0
- package/template-react-vite-muijoy-ink/src/components/menus/save-menu/index.tsx +95 -0
- package/template-react-vite-muijoy-ink/src/components/menus/save-menu/save-forms.tsx +27 -0
- package/template-react-vite-muijoy-ink/src/components/menus/save-menu/save-slots.tsx +121 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/about.tsx +33 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/dialogues-controls.tsx +105 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/index.tsx +220 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/menus/controls.tsx +115 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/menus/history.tsx +135 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/menus/save-load.tsx +66 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/quick-menus.tsx +126 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/sound-controls.tsx +114 -0
- package/template-react-vite-muijoy-ink/src/components/menus/settings/system-controls.tsx +225 -0
- package/template-react-vite-muijoy-ink/src/components/modals/error-allerts.tsx +42 -0
- package/template-react-vite-muijoy-ink/src/components/modals/input-request-dialogues.tsx +82 -0
- package/template-react-vite-muijoy-ink/src/components/providers/alert-dialog-provider.tsx +134 -0
- package/template-react-vite-muijoy-ink/src/components/providers/root-provider.tsx +37 -0
- package/template-react-vite-muijoy-ink/src/components/providers/theme-provider.tsx +71 -0
- package/template-react-vite-muijoy-ink/src/components/ui/alert-dialog.tsx +159 -0
- package/template-react-vite-muijoy-ink/src/components/ui/aspect-ratio.tsx +22 -0
- package/template-react-vite-muijoy-ink/src/components/ui/avatar.tsx +91 -0
- package/template-react-vite-muijoy-ink/src/components/ui/breadcrumb.tsx +102 -0
- package/template-react-vite-muijoy-ink/src/components/ui/button-group.tsx +77 -0
- package/template-react-vite-muijoy-ink/src/components/ui/button.tsx +57 -0
- package/template-react-vite-muijoy-ink/src/components/ui/card.tsx +95 -0
- package/template-react-vite-muijoy-ink/src/components/ui/carousel.tsx +232 -0
- package/template-react-vite-muijoy-ink/src/components/ui/dialog.tsx +148 -0
- package/template-react-vite-muijoy-ink/src/components/ui/drawer.tsx +118 -0
- package/template-react-vite-muijoy-ink/src/components/ui/field.tsx +226 -0
- package/template-react-vite-muijoy-ink/src/components/ui/fullscreen-dialog.tsx +70 -0
- package/template-react-vite-muijoy-ink/src/components/ui/input-group.tsx +144 -0
- package/template-react-vite-muijoy-ink/src/components/ui/input.tsx +20 -0
- package/template-react-vite-muijoy-ink/src/components/ui/item.tsx +190 -0
- package/template-react-vite-muijoy-ink/src/components/ui/kbd.tsx +26 -0
- package/template-react-vite-muijoy-ink/src/components/ui/label.tsx +18 -0
- package/template-react-vite-muijoy-ink/src/components/ui/pagination.tsx +118 -0
- package/template-react-vite-muijoy-ink/src/components/ui/radio-group.tsx +35 -0
- package/template-react-vite-muijoy-ink/src/components/ui/resizable.tsx +40 -0
- package/template-react-vite-muijoy-ink/src/components/ui/scroll-area.tsx +48 -0
- package/template-react-vite-muijoy-ink/src/components/ui/select.tsx +189 -0
- package/template-react-vite-muijoy-ink/src/components/ui/separator.tsx +19 -0
- package/template-react-vite-muijoy-ink/src/components/ui/skeleton.tsx +13 -0
- package/template-react-vite-muijoy-ink/src/components/ui/slider.tsx +52 -0
- package/template-react-vite-muijoy-ink/src/components/ui/sonner.tsx +43 -0
- package/template-react-vite-muijoy-ink/src/components/ui/spinner.tsx +15 -0
- package/template-react-vite-muijoy-ink/src/components/ui/switch.tsx +29 -0
- package/template-react-vite-muijoy-ink/src/components/ui/textarea.tsx +17 -0
- package/template-react-vite-muijoy-ink/src/components/ui/toggle.tsx +43 -0
- package/template-react-vite-muijoy-ink/src/components/ui/tooltip.tsx +52 -0
- package/template-react-vite-muijoy-ink/src/constants.ts +13 -0
- package/template-react-vite-muijoy-ink/src/content/characters.ts +24 -0
- package/template-react-vite-muijoy-ink/src/content/index.ts +4 -0
- package/template-react-vite-muijoy-ink/src/content/ink/hashtag-commands.ts +38 -0
- package/template-react-vite-muijoy-ink/src/content/ink/text-replaces.ts +19 -0
- package/template-react-vite-muijoy-ink/src/content/labels/animations.label.ts +22 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/hotkeys-hooks.ts +275 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/ink-hooks.tsx +12 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/language-settings-hooks.ts +61 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/minigame-hooks.ts +55 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/narration-hooks.ts +234 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/navigation-hooks.ts +93 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/network-hooks.ts +34 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/pause-game-hooks.ts +53 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/props-hooks.ts +24 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/quick-tools-hooks.ts +80 -0
- package/template-react-vite-muijoy-ink/src/lib/hooks/save-hooks.tsx +203 -0
- package/template-react-vite-muijoy-ink/src/lib/i18n.ts +80 -0
- package/template-react-vite-muijoy-ink/src/lib/query/interface-query.ts +149 -0
- package/template-react-vite-muijoy-ink/src/lib/query/save-query.ts +18 -0
- package/template-react-vite-muijoy-ink/src/lib/query/settings-query.ts +10 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/auto-settings-store.ts +44 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/channel-sound-stores.ts +64 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/game-status-store.ts +19 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/interface-settings-store.ts +49 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/master-sound-storage.ts +68 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/quick-actions-wheel-store.ts +17 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/search-param-store.ts +20 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/skip-settings-store.ts +26 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/text-display-settings-store.ts +62 -0
- package/template-react-vite-muijoy-ink/src/lib/stores/useGameSaveScreenStore.ts +24 -0
- package/template-react-vite-muijoy-ink/src/lib/utils/assets-utility.ts +39 -0
- package/template-react-vite-muijoy-ink/src/lib/utils/db-utility.ts +204 -0
- package/template-react-vite-muijoy-ink/src/lib/utils/save-utility.ts +152 -0
- package/template-react-vite-muijoy-ink/src/lib/utils/scroll-utils.ts +24 -0
- package/template-react-vite-muijoy-ink/src/lib/utils.ts +6 -0
- package/template-react-vite-muijoy-ink/src/locales/en.json +118 -0
- package/template-react-vite-muijoy-ink/src/main.tsx +14 -27
- package/template-react-vite-muijoy-ink/src/models/Character.ts +1 -1
- package/template-react-vite-muijoy-ink/src/models/GameSaveData.ts +1 -1
- package/template-react-vite-muijoy-ink/src/pixi-vn.d.ts +109 -114
- package/template-react-vite-muijoy-ink/src/routeTree.gen.ts +121 -0
- package/template-react-vite-muijoy-ink/src/router.tsx +27 -0
- package/template-react-vite-muijoy-ink/src/routes/__root.tsx +79 -0
- package/template-react-vite-muijoy-ink/src/routes/game/narration.tsx +21 -0
- package/template-react-vite-muijoy-ink/src/routes/game.tsx +22 -0
- package/template-react-vite-muijoy-ink/src/routes/index.tsx +6 -0
- package/template-react-vite-muijoy-ink/src/routes/narration.tsx +9 -0
- package/template-react-vite-muijoy-ink/src/styles.css +155 -0
- package/template-react-vite-muijoy-ink/tsconfig.app.json +32 -0
- package/template-react-vite-muijoy-ink/tsconfig.json +8 -23
- package/template-react-vite-muijoy-ink/tsconfig.node.json +20 -3
- package/template-react-vite-muijoy-ink/vite.config.ts +100 -14
- package/template-react-vite-muijoy-ink-tauri/.assetpack.ts +18 -0
- package/template-react-vite-muijoy-ink-tauri/.vscode/extensions.json +12 -13
- package/template-react-vite-muijoy-ink-tauri/.vscode/launch.json +33 -43
- package/template-react-vite-muijoy-ink-tauri/.vscode/settings.json +63 -68
- package/template-react-vite-muijoy-ink-tauri/.vscode/tasks.json +131 -26
- package/template-react-vite-muijoy-ink-tauri/README.md +2 -203
- package/template-react-vite-muijoy-ink-tauri/_github/workflows/desktop.yml +188 -0
- package/template-react-vite-muijoy-ink-tauri/_github/workflows/mobile.yml +270 -0
- package/template-react-vite-muijoy-ink-tauri/_gitignore +13 -2
- package/template-react-vite-muijoy-ink-tauri/biome.json +70 -0
- package/template-react-vite-muijoy-ink-tauri/components.json +25 -0
- package/template-react-vite-muijoy-ink-tauri/index.html +3 -2
- package/template-react-vite-muijoy-ink-tauri/package-lock.json +18730 -0
- package/template-react-vite-muijoy-ink-tauri/package.json +102 -78
- package/template-react-vite-muijoy-ink-tauri/public/apple-touch-icon-180x180.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/favicon.ico +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/icon.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/maskable-icon-512x512.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/pwa-192x192.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/pwa-512x512.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/pwa-64x64.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/pwa-assets.config.js +6 -0
- package/template-react-vite-muijoy-ink-tauri/src/App.tsx +17 -69
- package/template-react-vite-muijoy-ink-tauri/src/assets/index.ts +272 -0
- package/template-react-vite-muijoy-ink-tauri/src/assets/ink-manifest.gen.json +4 -0
- package/template-react-vite-muijoy-ink-tauri/src/assets/manifest.gen.json +8 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/loading.tsx +60 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/choice-menus.tsx +43 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/main-menu.tsx +307 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/narration/click-overlay.tsx +15 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/narration/index.tsx +30 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/narration/narration-cards.tsx +133 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/quick-actions-wheel.tsx +262 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/quick-tools.tsx +159 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/index.tsx +95 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-forms.tsx +27 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-slots.tsx +121 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/about.tsx +33 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/dialogues-controls.tsx +105 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/index.tsx +220 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/controls.tsx +115 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/history.tsx +135 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/save-load.tsx +66 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/quick-menus.tsx +142 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/sound-controls.tsx +114 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/system-controls.tsx +235 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/modals/error-allerts.tsx +42 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/modals/input-request-dialogues.tsx +82 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/providers/alert-dialog-provider.tsx +134 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/providers/root-provider.tsx +37 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/providers/theme-provider.tsx +71 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/alert-dialog.tsx +159 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/aspect-ratio.tsx +22 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/avatar.tsx +91 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/breadcrumb.tsx +102 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/button-group.tsx +77 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/button.tsx +57 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/card.tsx +95 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/carousel.tsx +232 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/dialog.tsx +148 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/drawer.tsx +118 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/field.tsx +226 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/fullscreen-dialog.tsx +70 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/input-group.tsx +144 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/input.tsx +20 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/item.tsx +190 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/kbd.tsx +26 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/label.tsx +18 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/pagination.tsx +118 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/radio-group.tsx +35 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/resizable.tsx +40 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/scroll-area.tsx +48 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/select.tsx +189 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/separator.tsx +19 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/skeleton.tsx +13 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/slider.tsx +52 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/sonner.tsx +43 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/spinner.tsx +15 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/switch.tsx +29 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/textarea.tsx +17 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/toggle.tsx +43 -0
- package/template-react-vite-muijoy-ink-tauri/src/components/ui/tooltip.tsx +52 -0
- package/template-react-vite-muijoy-ink-tauri/src/constants.ts +13 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/characters.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/index.ts +4 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/ink/hashtag-commands.ts +55 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/ink/text-replaces.ts +19 -0
- package/template-react-vite-muijoy-ink-tauri/src/content/labels/animations.label.ts +22 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/hotkeys-hooks.ts +275 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/ink-hooks.tsx +12 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/language-settings-hooks.ts +61 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/minigame-hooks.ts +55 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/narration-hooks.ts +234 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/navigation-hooks.ts +93 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/network-hooks.ts +34 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/pause-game-hooks.ts +53 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/props-hooks.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/quick-tools-hooks.ts +80 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/quit-hooks.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/save-hooks.tsx +203 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/i18n.ts +80 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/query/interface-query.ts +149 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/query/save-query.ts +18 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/query/settings-query.ts +16 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/steam.ts +143 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/auto-settings-store.ts +44 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/channel-sound-stores.ts +64 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/game-status-store.ts +19 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/interface-settings-store.ts +49 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/master-sound-storage.ts +68 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/quick-actions-wheel-store.ts +17 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/search-param-store.ts +20 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/skip-settings-store.ts +26 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/text-display-settings-store.ts +62 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/stores/useGameSaveScreenStore.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils/assets-utility.ts +39 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils/db-utility.ts +204 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils/save-utility.ts +152 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils/scroll-utils.ts +24 -0
- package/template-react-vite-muijoy-ink-tauri/src/lib/utils.ts +6 -0
- package/template-react-vite-muijoy-ink-tauri/src/locales/en.json +118 -0
- package/template-react-vite-muijoy-ink-tauri/src/main.tsx +14 -27
- package/template-react-vite-muijoy-ink-tauri/src/models/Character.ts +1 -1
- package/template-react-vite-muijoy-ink-tauri/src/models/GameSaveData.ts +1 -1
- package/template-react-vite-muijoy-ink-tauri/src/pixi-vn.d.ts +109 -114
- package/template-react-vite-muijoy-ink-tauri/src/routeTree.gen.ts +121 -0
- package/template-react-vite-muijoy-ink-tauri/src/router.tsx +27 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/__root.tsx +79 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/game/narration.tsx +21 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/game.tsx +22 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/index.tsx +6 -0
- package/template-react-vite-muijoy-ink-tauri/src/routes/narration.tsx +9 -0
- package/template-react-vite-muijoy-ink-tauri/src/styles.css +155 -0
- package/template-react-vite-muijoy-ink-tauri/src-tauri/Cargo.toml +18 -0
- package/template-react-vite-muijoy-ink-tauri/src-tauri/build.rs +43 -0
- package/template-react-vite-muijoy-ink-tauri/src-tauri/capabilities/default.json +11 -1
- package/template-react-vite-muijoy-ink-tauri/src-tauri/src/lib.rs +57 -7
- package/template-react-vite-muijoy-ink-tauri/src-tauri/src/steam.rs +238 -0
- package/template-react-vite-muijoy-ink-tauri/src-tauri/tauri.conf.json +18 -5
- package/template-react-vite-muijoy-ink-tauri/tsconfig.app.json +32 -0
- package/template-react-vite-muijoy-ink-tauri/tsconfig.json +8 -23
- package/template-react-vite-muijoy-ink-tauri/tsconfig.node.json +20 -3
- package/template-react-vite-muijoy-ink-tauri/vite.config.ts +101 -15
- package/template-react-vite-muijoy-tauri/.assetpack.ts +18 -0
- package/template-react-vite-muijoy-tauri/.vscode/extensions.json +11 -12
- package/template-react-vite-muijoy-tauri/.vscode/launch.json +33 -43
- package/template-react-vite-muijoy-tauri/.vscode/settings.json +58 -63
- package/template-react-vite-muijoy-tauri/.vscode/tasks.json +131 -26
- package/template-react-vite-muijoy-tauri/README.md +2 -166
- package/template-react-vite-muijoy-tauri/_github/workflows/desktop.yml +188 -0
- package/template-react-vite-muijoy-tauri/_github/workflows/mobile.yml +270 -0
- package/template-react-vite-muijoy-tauri/_gitignore +12 -2
- package/template-react-vite-muijoy-tauri/biome.json +70 -0
- package/template-react-vite-muijoy-tauri/components.json +25 -0
- package/template-react-vite-muijoy-tauri/index.html +3 -2
- package/template-react-vite-muijoy-tauri/package-lock.json +18504 -0
- package/template-react-vite-muijoy-tauri/package.json +63 -40
- package/template-react-vite-muijoy-tauri/public/apple-touch-icon-180x180.png +0 -0
- package/template-react-vite-muijoy-tauri/public/favicon.ico +0 -0
- package/template-react-vite-muijoy-tauri/public/icon.png +0 -0
- package/template-react-vite-muijoy-tauri/public/maskable-icon-512x512.png +0 -0
- package/template-react-vite-muijoy-tauri/public/pwa-192x192.png +0 -0
- package/template-react-vite-muijoy-tauri/public/pwa-512x512.png +0 -0
- package/template-react-vite-muijoy-tauri/public/pwa-64x64.png +0 -0
- package/template-react-vite-muijoy-tauri/pwa-assets.config.js +6 -0
- package/template-react-vite-muijoy-tauri/src/App.tsx +25 -76
- package/template-react-vite-muijoy-tauri/src/assets/index.ts +274 -0
- package/template-react-vite-muijoy-tauri/src/assets/manifest.gen.json +8 -0
- package/template-react-vite-muijoy-tauri/src/components/loading.tsx +60 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/choice-menus.tsx +43 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/main-menu.tsx +308 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/narration/click-overlay.tsx +15 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/narration/index.tsx +30 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/narration/narration-cards.tsx +133 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/quick-actions-wheel.tsx +262 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/quick-tools.tsx +159 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/index.tsx +95 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/save-forms.tsx +27 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/save-slots.tsx +121 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/about.tsx +33 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/dialogues-controls.tsx +105 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/index.tsx +220 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/menus/controls.tsx +115 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/menus/history.tsx +135 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/menus/save-load.tsx +66 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/quick-menus.tsx +142 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/sound-controls.tsx +114 -0
- package/template-react-vite-muijoy-tauri/src/components/menus/settings/system-controls.tsx +235 -0
- package/template-react-vite-muijoy-tauri/src/components/modals/error-allerts.tsx +42 -0
- package/template-react-vite-muijoy-tauri/src/components/modals/input-request-dialogues.tsx +82 -0
- package/template-react-vite-muijoy-tauri/src/components/providers/alert-dialog-provider.tsx +134 -0
- package/template-react-vite-muijoy-tauri/src/components/providers/root-provider.tsx +37 -0
- package/template-react-vite-muijoy-tauri/src/components/providers/theme-provider.tsx +71 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/alert-dialog.tsx +159 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/aspect-ratio.tsx +22 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/avatar.tsx +91 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/breadcrumb.tsx +102 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/button-group.tsx +77 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/button.tsx +57 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/card.tsx +95 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/carousel.tsx +232 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/dialog.tsx +148 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/drawer.tsx +118 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/field.tsx +226 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/fullscreen-dialog.tsx +70 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/input-group.tsx +144 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/input.tsx +20 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/item.tsx +190 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/kbd.tsx +26 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/label.tsx +18 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/pagination.tsx +118 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/radio-group.tsx +35 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/resizable.tsx +40 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/scroll-area.tsx +48 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/select.tsx +189 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/separator.tsx +19 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/skeleton.tsx +13 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/slider.tsx +52 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/sonner.tsx +43 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/spinner.tsx +15 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/switch.tsx +29 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/textarea.tsx +17 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/toggle.tsx +43 -0
- package/template-react-vite-muijoy-tauri/src/components/ui/tooltip.tsx +52 -0
- package/template-react-vite-muijoy-tauri/src/constants.ts +13 -0
- package/template-react-vite-muijoy-tauri/src/content/characters.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/content/index.ts +4 -0
- package/template-react-vite-muijoy-tauri/src/content/labels/animations.label.ts +22 -0
- package/template-react-vite-muijoy-tauri/src/content/labels/second.label.ts +1207 -0
- package/template-react-vite-muijoy-tauri/src/content/labels/start.label.ts +568 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/hotkeys-hooks.ts +275 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/language-settings-hooks.ts +61 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/minigame-hooks.ts +55 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/narration-hooks.ts +234 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/navigation-hooks.ts +93 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/network-hooks.ts +34 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/pause-game-hooks.ts +53 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/props-hooks.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/quick-tools-hooks.ts +80 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/quit-hooks.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/lib/hooks/save-hooks.tsx +203 -0
- package/template-react-vite-muijoy-tauri/src/lib/i18n.ts +59 -0
- package/template-react-vite-muijoy-tauri/src/lib/query/interface-query.ts +149 -0
- package/template-react-vite-muijoy-tauri/src/lib/query/save-query.ts +18 -0
- package/template-react-vite-muijoy-tauri/src/lib/query/settings-query.ts +16 -0
- package/template-react-vite-muijoy-tauri/src/lib/steam.ts +143 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/auto-settings-store.ts +44 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/channel-sound-stores.ts +64 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/game-status-store.ts +19 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/interface-settings-store.ts +49 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/master-sound-storage.ts +68 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/quick-actions-wheel-store.ts +17 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/search-param-store.ts +20 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/skip-settings-store.ts +26 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/text-display-settings-store.ts +62 -0
- package/template-react-vite-muijoy-tauri/src/lib/stores/useGameSaveScreenStore.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils/assets-utility.ts +39 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils/db-utility.ts +204 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils/save-utility.ts +152 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils/scroll-utils.ts +24 -0
- package/template-react-vite-muijoy-tauri/src/lib/utils.ts +6 -0
- package/template-react-vite-muijoy-tauri/src/locales/en.json +118 -0
- package/template-react-vite-muijoy-tauri/src/main.tsx +14 -24
- package/template-react-vite-muijoy-tauri/src/models/Character.ts +1 -1
- package/template-react-vite-muijoy-tauri/src/models/GameSaveData.ts +1 -1
- package/template-react-vite-muijoy-tauri/src/pixi-vn.d.ts +109 -114
- package/template-react-vite-muijoy-tauri/src/routeTree.gen.ts +121 -0
- package/template-react-vite-muijoy-tauri/src/router.tsx +27 -0
- package/template-react-vite-muijoy-tauri/src/routes/__root.tsx +75 -0
- package/template-react-vite-muijoy-tauri/src/routes/game/narration.tsx +21 -0
- package/template-react-vite-muijoy-tauri/src/routes/game.tsx +22 -0
- package/template-react-vite-muijoy-tauri/src/routes/index.tsx +6 -0
- package/template-react-vite-muijoy-tauri/src/routes/narration.tsx +9 -0
- package/template-react-vite-muijoy-tauri/src/styles.css +155 -0
- package/template-react-vite-muijoy-tauri/src-tauri/Cargo.toml +18 -0
- package/template-react-vite-muijoy-tauri/src-tauri/build.rs +43 -0
- package/template-react-vite-muijoy-tauri/src-tauri/capabilities/default.json +11 -1
- package/template-react-vite-muijoy-tauri/src-tauri/src/lib.rs +57 -7
- package/template-react-vite-muijoy-tauri/src-tauri/src/steam.rs +238 -0
- package/template-react-vite-muijoy-tauri/src-tauri/tauri.conf.json +18 -5
- package/template-react-vite-muijoy-tauri/tsconfig.app.json +32 -0
- package/template-react-vite-muijoy-tauri/tsconfig.json +8 -23
- package/template-react-vite-muijoy-tauri/tsconfig.node.json +20 -3
- package/template-react-vite-muijoy-tauri/vite.config.ts +96 -13
- package/template-react-vite-muijoy/.eslintrc.cjs +0 -18
- package/template-react-vite-muijoy/public/apple-touch-icon.png +0 -0
- package/template-react-vite-muijoy/public/mask-icon.svg +0 -890
- package/template-react-vite-muijoy/public/service-worker.js +0 -60
- package/template-react-vite-muijoy/src/App.css +0 -45
- package/template-react-vite-muijoy/src/AppRoutes.tsx +0 -48
- package/template-react-vite-muijoy/src/Home.tsx +0 -48
- package/template-react-vite-muijoy/src/assets/manifest.ts +0 -272
- package/template-react-vite-muijoy/src/components/AnimatedDots.tsx +0 -45
- package/template-react-vite-muijoy/src/components/ChoiceButton.tsx +0 -15
- package/template-react-vite-muijoy/src/components/GameSaveSlot.tsx +0 -140
- package/template-react-vite-muijoy/src/components/MenuButton.tsx +0 -37
- package/template-react-vite-muijoy/src/components/ModalConfirmation.tsx +0 -61
- package/template-react-vite-muijoy/src/components/ModalDialog.tsx +0 -68
- package/template-react-vite-muijoy/src/components/NextButton.tsx +0 -53
- package/template-react-vite-muijoy/src/components/ReturnMainMenuButton.tsx +0 -69
- package/template-react-vite-muijoy/src/components/SettingButton.tsx +0 -52
- package/template-react-vite-muijoy/src/components/SliderResizer.tsx +0 -51
- package/template-react-vite-muijoy/src/components/SoundChannelControl.tsx +0 -45
- package/template-react-vite-muijoy/src/components/TextMenuButton.tsx +0 -48
- package/template-react-vite-muijoy/src/components/TypographyShadow.tsx +0 -19
- package/template-react-vite-muijoy/src/components/VisibilityButton.tsx +0 -46
- package/template-react-vite-muijoy/src/constans.ts +0 -16
- package/template-react-vite-muijoy/src/hooks/motion-hooks.ts +0 -17
- package/template-react-vite-muijoy/src/hooks/useClosePageDetector.ts +0 -32
- package/template-react-vite-muijoy/src/hooks/useDebouncedEffect.ts +0 -33
- package/template-react-vite-muijoy/src/hooks/useGameProps.ts +0 -25
- package/template-react-vite-muijoy/src/hooks/useInterval.ts +0 -44
- package/template-react-vite-muijoy/src/hooks/useKeyDetector.ts +0 -19
- package/template-react-vite-muijoy/src/hooks/useKeyboardDetector.ts +0 -57
- package/template-react-vite-muijoy/src/hooks/useMinigame.ts +0 -55
- package/template-react-vite-muijoy/src/hooks/useMyNavigate.ts +0 -19
- package/template-react-vite-muijoy/src/hooks/useNarrationFunctions.ts +0 -78
- package/template-react-vite-muijoy/src/hooks/useNetworkDetector.ts +0 -18
- package/template-react-vite-muijoy/src/hooks/useQueryInterface.ts +0 -141
- package/template-react-vite-muijoy/src/hooks/useQueryIsFullModeScreen.ts +0 -10
- package/template-react-vite-muijoy/src/hooks/useQueryLastSave.ts +0 -11
- package/template-react-vite-muijoy/src/hooks/useQuerySaves.ts +0 -11
- package/template-react-vite-muijoy/src/hooks/useSkipAutoDetector.ts +0 -52
- package/template-react-vite-muijoy/src/hooks/useWheelActions.ts +0 -101
- package/template-react-vite-muijoy/src/i18n.ts +0 -55
- package/template-react-vite-muijoy/src/index.css +0 -19
- package/template-react-vite-muijoy/src/labels/animations-labels.ts +0 -22
- package/template-react-vite-muijoy/src/labels/index.ts +0 -3
- package/template-react-vite-muijoy/src/labels/secondPart.ts +0 -1084
- package/template-react-vite-muijoy/src/labels/startLabel.ts +0 -396
- package/template-react-vite-muijoy/src/locales/strings_en.json +0 -68
- package/template-react-vite-muijoy/src/providers/RootProvider.tsx +0 -20
- package/template-react-vite-muijoy/src/providers/ThemeProvider.tsx +0 -170
- package/template-react-vite-muijoy/src/screens/ChoiceMenu.tsx +0 -76
- package/template-react-vite-muijoy/src/screens/GameSaveScreen.tsx +0 -128
- package/template-react-vite-muijoy/src/screens/HistoryScreen.tsx +0 -142
- package/template-react-vite-muijoy/src/screens/LoadingScreen.tsx +0 -24
- package/template-react-vite-muijoy/src/screens/MainMenu.tsx +0 -112
- package/template-react-vite-muijoy/src/screens/NarrationScreen.tsx +0 -247
- package/template-react-vite-muijoy/src/screens/OfflineScreen.tsx +0 -38
- package/template-react-vite-muijoy/src/screens/QuickTools.tsx +0 -124
- package/template-react-vite-muijoy/src/screens/Settings.tsx +0 -118
- package/template-react-vite-muijoy/src/screens/modals/SaveLoadAlert.tsx +0 -106
- package/template-react-vite-muijoy/src/screens/modals/TextInput.tsx +0 -74
- package/template-react-vite-muijoy/src/screens/settings/AutoSettingToggle.tsx +0 -24
- package/template-react-vite-muijoy/src/screens/settings/DialoguesSettings.tsx +0 -90
- package/template-react-vite-muijoy/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
- package/template-react-vite-muijoy/src/screens/settings/FullScreenSettings.tsx +0 -46
- package/template-react-vite-muijoy/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
- package/template-react-vite-muijoy/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
- package/template-react-vite-muijoy/src/screens/settings/SkipSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy/src/screens/settings/SoundSettings.tsx +0 -51
- package/template-react-vite-muijoy/src/screens/settings/ThemeSettings.tsx +0 -112
- package/template-react-vite-muijoy/src/stores/createChannelSoundStore.ts +0 -47
- package/template-react-vite-muijoy/src/stores/useAutoInfoStore.ts +0 -33
- package/template-react-vite-muijoy/src/stores/useDialogueCardStore.ts +0 -36
- package/template-react-vite-muijoy/src/stores/useGameSaveScreenStore.ts +0 -112
- package/template-react-vite-muijoy/src/stores/useHistoryScreenStore.ts +0 -23
- package/template-react-vite-muijoy/src/stores/useInterfaceStore.ts +0 -28
- package/template-react-vite-muijoy/src/stores/useMasterSoundStore.ts +0 -38
- package/template-react-vite-muijoy/src/stores/useNetworkStore.ts +0 -20
- package/template-react-vite-muijoy/src/stores/useSettingsScreenStore.ts +0 -23
- package/template-react-vite-muijoy/src/stores/useSkipStore.ts +0 -27
- package/template-react-vite-muijoy/src/stores/useStepStore.ts +0 -32
- package/template-react-vite-muijoy/src/stores/useTypewriterStore.ts +0 -41
- package/template-react-vite-muijoy/src/utils/assets-utility.ts +0 -33
- package/template-react-vite-muijoy/src/utils/indexedDB-utility.ts +0 -196
- package/template-react-vite-muijoy/src/utils/save-utility.ts +0 -140
- package/template-react-vite-muijoy/src/values/characters.ts +0 -24
- package/template-react-vite-muijoy/src/values/index.ts +0 -1
- package/template-react-vite-muijoy-ink/.eslintrc.cjs +0 -18
- package/template-react-vite-muijoy-ink/public/apple-touch-icon.png +0 -0
- package/template-react-vite-muijoy-ink/public/mask-icon.svg +0 -890
- package/template-react-vite-muijoy-ink/public/service-worker.js +0 -60
- package/template-react-vite-muijoy-ink/src/App.css +0 -45
- package/template-react-vite-muijoy-ink/src/AppRoutes.tsx +0 -48
- package/template-react-vite-muijoy-ink/src/Home.tsx +0 -50
- package/template-react-vite-muijoy-ink/src/assets/manifest.ts +0 -270
- package/template-react-vite-muijoy-ink/src/components/AnimatedDots.tsx +0 -45
- package/template-react-vite-muijoy-ink/src/components/ChoiceButton.tsx +0 -15
- package/template-react-vite-muijoy-ink/src/components/GameSaveSlot.tsx +0 -140
- package/template-react-vite-muijoy-ink/src/components/MenuButton.tsx +0 -37
- package/template-react-vite-muijoy-ink/src/components/ModalConfirmation.tsx +0 -61
- package/template-react-vite-muijoy-ink/src/components/ModalDialog.tsx +0 -68
- package/template-react-vite-muijoy-ink/src/components/NextButton.tsx +0 -53
- package/template-react-vite-muijoy-ink/src/components/ReturnMainMenuButton.tsx +0 -69
- package/template-react-vite-muijoy-ink/src/components/SettingButton.tsx +0 -52
- package/template-react-vite-muijoy-ink/src/components/SliderResizer.tsx +0 -51
- package/template-react-vite-muijoy-ink/src/components/SoundChannelControl.tsx +0 -45
- package/template-react-vite-muijoy-ink/src/components/TextMenuButton.tsx +0 -48
- package/template-react-vite-muijoy-ink/src/components/TypographyShadow.tsx +0 -19
- package/template-react-vite-muijoy-ink/src/components/VisibilityButton.tsx +0 -46
- package/template-react-vite-muijoy-ink/src/constans.ts +0 -16
- package/template-react-vite-muijoy-ink/src/hooks/motion-hooks.ts +0 -17
- package/template-react-vite-muijoy-ink/src/hooks/useClosePageDetector.ts +0 -32
- package/template-react-vite-muijoy-ink/src/hooks/useDebouncedEffect.ts +0 -33
- package/template-react-vite-muijoy-ink/src/hooks/useGameProps.ts +0 -25
- package/template-react-vite-muijoy-ink/src/hooks/useInkInitialization.tsx +0 -12
- package/template-react-vite-muijoy-ink/src/hooks/useInterval.ts +0 -44
- package/template-react-vite-muijoy-ink/src/hooks/useKeyDetector.ts +0 -19
- package/template-react-vite-muijoy-ink/src/hooks/useKeyboardDetector.ts +0 -57
- package/template-react-vite-muijoy-ink/src/hooks/useMinigame.ts +0 -55
- package/template-react-vite-muijoy-ink/src/hooks/useMyNavigate.ts +0 -19
- package/template-react-vite-muijoy-ink/src/hooks/useNarrationFunctions.ts +0 -78
- package/template-react-vite-muijoy-ink/src/hooks/useNetworkDetector.ts +0 -18
- package/template-react-vite-muijoy-ink/src/hooks/useQueryInterface.ts +0 -141
- package/template-react-vite-muijoy-ink/src/hooks/useQueryIsFullModeScreen.ts +0 -10
- package/template-react-vite-muijoy-ink/src/hooks/useQueryLastSave.ts +0 -11
- package/template-react-vite-muijoy-ink/src/hooks/useQuerySaves.ts +0 -11
- package/template-react-vite-muijoy-ink/src/hooks/useSkipAutoDetector.ts +0 -52
- package/template-react-vite-muijoy-ink/src/hooks/useWheelActions.ts +0 -101
- package/template-react-vite-muijoy-ink/src/i18n.ts +0 -83
- package/template-react-vite-muijoy-ink/src/index.css +0 -19
- package/template-react-vite-muijoy-ink/src/ink.d.ts +0 -4
- package/template-react-vite-muijoy-ink/src/labels/animations-labels.ts +0 -22
- package/template-react-vite-muijoy-ink/src/labels/index.ts +0 -1
- package/template-react-vite-muijoy-ink/src/locales/strings_en.json +0 -68
- package/template-react-vite-muijoy-ink/src/providers/RootProvider.tsx +0 -20
- package/template-react-vite-muijoy-ink/src/providers/ThemeProvider.tsx +0 -170
- package/template-react-vite-muijoy-ink/src/screens/ChoiceMenu.tsx +0 -76
- package/template-react-vite-muijoy-ink/src/screens/GameSaveScreen.tsx +0 -128
- package/template-react-vite-muijoy-ink/src/screens/HistoryScreen.tsx +0 -142
- package/template-react-vite-muijoy-ink/src/screens/LoadingScreen.tsx +0 -24
- package/template-react-vite-muijoy-ink/src/screens/MainMenu.tsx +0 -111
- package/template-react-vite-muijoy-ink/src/screens/NarrationScreen.tsx +0 -247
- package/template-react-vite-muijoy-ink/src/screens/OfflineScreen.tsx +0 -38
- package/template-react-vite-muijoy-ink/src/screens/QuickTools.tsx +0 -124
- package/template-react-vite-muijoy-ink/src/screens/Settings.tsx +0 -118
- package/template-react-vite-muijoy-ink/src/screens/modals/SaveLoadAlert.tsx +0 -106
- package/template-react-vite-muijoy-ink/src/screens/modals/TextInput.tsx +0 -74
- package/template-react-vite-muijoy-ink/src/screens/settings/AutoSettingToggle.tsx +0 -24
- package/template-react-vite-muijoy-ink/src/screens/settings/DialoguesSettings.tsx +0 -90
- package/template-react-vite-muijoy-ink/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
- package/template-react-vite-muijoy-ink/src/screens/settings/FullScreenSettings.tsx +0 -46
- package/template-react-vite-muijoy-ink/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-ink/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
- package/template-react-vite-muijoy-ink/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
- package/template-react-vite-muijoy-ink/src/screens/settings/SkipSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-ink/src/screens/settings/SoundSettings.tsx +0 -51
- package/template-react-vite-muijoy-ink/src/screens/settings/ThemeSettings.tsx +0 -112
- package/template-react-vite-muijoy-ink/src/stores/createChannelSoundStore.ts +0 -47
- package/template-react-vite-muijoy-ink/src/stores/useAutoInfoStore.ts +0 -33
- package/template-react-vite-muijoy-ink/src/stores/useDialogueCardStore.ts +0 -36
- package/template-react-vite-muijoy-ink/src/stores/useGameSaveScreenStore.ts +0 -112
- package/template-react-vite-muijoy-ink/src/stores/useHistoryScreenStore.ts +0 -23
- package/template-react-vite-muijoy-ink/src/stores/useInterfaceStore.ts +0 -28
- package/template-react-vite-muijoy-ink/src/stores/useMasterSoundStore.ts +0 -38
- package/template-react-vite-muijoy-ink/src/stores/useNetworkStore.ts +0 -20
- package/template-react-vite-muijoy-ink/src/stores/useSettingsScreenStore.ts +0 -23
- package/template-react-vite-muijoy-ink/src/stores/useSkipStore.ts +0 -27
- package/template-react-vite-muijoy-ink/src/stores/useStepStore.ts +0 -32
- package/template-react-vite-muijoy-ink/src/stores/useTypewriterStore.ts +0 -41
- package/template-react-vite-muijoy-ink/src/utils/assets-utility.ts +0 -33
- package/template-react-vite-muijoy-ink/src/utils/indexedDB-utility.ts +0 -196
- package/template-react-vite-muijoy-ink/src/utils/ink-utility.ts +0 -51
- package/template-react-vite-muijoy-ink/src/utils/save-utility.ts +0 -140
- package/template-react-vite-muijoy-ink/src/values/characters.ts +0 -24
- package/template-react-vite-muijoy-ink/src/values/index.ts +0 -1
- package/template-react-vite-muijoy-ink-tauri/.eslintrc.cjs +0 -18
- package/template-react-vite-muijoy-ink-tauri/_github/workflows/tauri.yml +0 -86
- package/template-react-vite-muijoy-ink-tauri/public/apple-touch-icon.png +0 -0
- package/template-react-vite-muijoy-ink-tauri/public/mask-icon.svg +0 -890
- package/template-react-vite-muijoy-ink-tauri/public/service-worker.js +0 -60
- package/template-react-vite-muijoy-ink-tauri/src/App.css +0 -45
- package/template-react-vite-muijoy-ink-tauri/src/AppRoutes.tsx +0 -48
- package/template-react-vite-muijoy-ink-tauri/src/Home.tsx +0 -50
- package/template-react-vite-muijoy-ink-tauri/src/assets/manifest.ts +0 -270
- package/template-react-vite-muijoy-ink-tauri/src/components/AnimatedDots.tsx +0 -45
- package/template-react-vite-muijoy-ink-tauri/src/components/ChoiceButton.tsx +0 -15
- package/template-react-vite-muijoy-ink-tauri/src/components/GameSaveSlot.tsx +0 -140
- package/template-react-vite-muijoy-ink-tauri/src/components/MenuButton.tsx +0 -37
- package/template-react-vite-muijoy-ink-tauri/src/components/ModalConfirmation.tsx +0 -61
- package/template-react-vite-muijoy-ink-tauri/src/components/ModalDialog.tsx +0 -68
- package/template-react-vite-muijoy-ink-tauri/src/components/NextButton.tsx +0 -53
- package/template-react-vite-muijoy-ink-tauri/src/components/ReturnMainMenuButton.tsx +0 -69
- package/template-react-vite-muijoy-ink-tauri/src/components/SettingButton.tsx +0 -52
- package/template-react-vite-muijoy-ink-tauri/src/components/SliderResizer.tsx +0 -51
- package/template-react-vite-muijoy-ink-tauri/src/components/SoundChannelControl.tsx +0 -45
- package/template-react-vite-muijoy-ink-tauri/src/components/TextMenuButton.tsx +0 -48
- package/template-react-vite-muijoy-ink-tauri/src/components/TypographyShadow.tsx +0 -19
- package/template-react-vite-muijoy-ink-tauri/src/components/VisibilityButton.tsx +0 -46
- package/template-react-vite-muijoy-ink-tauri/src/constans.ts +0 -16
- package/template-react-vite-muijoy-ink-tauri/src/hooks/motion-hooks.ts +0 -17
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useClosePageDetector.ts +0 -32
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useDebouncedEffect.ts +0 -33
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useGameProps.ts +0 -25
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useInkInitialization.tsx +0 -12
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useInterval.ts +0 -44
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useKeyDetector.ts +0 -19
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useKeyboardDetector.ts +0 -57
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useMinigame.ts +0 -55
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useMyNavigate.ts +0 -19
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useNarrationFunctions.ts +0 -78
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useNetworkDetector.ts +0 -18
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useQueryInterface.ts +0 -141
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useQueryIsFullModeScreen.ts +0 -16
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useQueryLastSave.ts +0 -11
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useQuerySaves.ts +0 -11
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useSkipAutoDetector.ts +0 -52
- package/template-react-vite-muijoy-ink-tauri/src/hooks/useWheelActions.ts +0 -101
- package/template-react-vite-muijoy-ink-tauri/src/i18n.ts +0 -83
- package/template-react-vite-muijoy-ink-tauri/src/index.css +0 -19
- package/template-react-vite-muijoy-ink-tauri/src/ink.d.ts +0 -4
- package/template-react-vite-muijoy-ink-tauri/src/labels/animations-labels.ts +0 -22
- package/template-react-vite-muijoy-ink-tauri/src/labels/index.ts +0 -1
- package/template-react-vite-muijoy-ink-tauri/src/locales/strings_en.json +0 -69
- package/template-react-vite-muijoy-ink-tauri/src/providers/RootProvider.tsx +0 -20
- package/template-react-vite-muijoy-ink-tauri/src/providers/ThemeProvider.tsx +0 -170
- package/template-react-vite-muijoy-ink-tauri/src/screens/ChoiceMenu.tsx +0 -76
- package/template-react-vite-muijoy-ink-tauri/src/screens/GameSaveScreen.tsx +0 -128
- package/template-react-vite-muijoy-ink-tauri/src/screens/HistoryScreen.tsx +0 -142
- package/template-react-vite-muijoy-ink-tauri/src/screens/LoadingScreen.tsx +0 -24
- package/template-react-vite-muijoy-ink-tauri/src/screens/MainMenu.tsx +0 -116
- package/template-react-vite-muijoy-ink-tauri/src/screens/NarrationScreen.tsx +0 -247
- package/template-react-vite-muijoy-ink-tauri/src/screens/OfflineScreen.tsx +0 -38
- package/template-react-vite-muijoy-ink-tauri/src/screens/QuickTools.tsx +0 -124
- package/template-react-vite-muijoy-ink-tauri/src/screens/Settings.tsx +0 -118
- package/template-react-vite-muijoy-ink-tauri/src/screens/modals/SaveLoadAlert.tsx +0 -106
- package/template-react-vite-muijoy-ink-tauri/src/screens/modals/TextInput.tsx +0 -74
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/AutoSettingToggle.tsx +0 -24
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/DialoguesSettings.tsx +0 -90
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/FullScreenSettings.tsx +0 -55
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/SkipSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/SoundSettings.tsx +0 -51
- package/template-react-vite-muijoy-ink-tauri/src/screens/settings/ThemeSettings.tsx +0 -112
- package/template-react-vite-muijoy-ink-tauri/src/stores/createChannelSoundStore.ts +0 -47
- package/template-react-vite-muijoy-ink-tauri/src/stores/useAutoInfoStore.ts +0 -33
- package/template-react-vite-muijoy-ink-tauri/src/stores/useDialogueCardStore.ts +0 -36
- package/template-react-vite-muijoy-ink-tauri/src/stores/useGameSaveScreenStore.ts +0 -112
- package/template-react-vite-muijoy-ink-tauri/src/stores/useHistoryScreenStore.ts +0 -23
- package/template-react-vite-muijoy-ink-tauri/src/stores/useInterfaceStore.ts +0 -28
- package/template-react-vite-muijoy-ink-tauri/src/stores/useMasterSoundStore.ts +0 -38
- package/template-react-vite-muijoy-ink-tauri/src/stores/useNetworkStore.ts +0 -20
- package/template-react-vite-muijoy-ink-tauri/src/stores/useSettingsScreenStore.ts +0 -23
- package/template-react-vite-muijoy-ink-tauri/src/stores/useSkipStore.ts +0 -27
- package/template-react-vite-muijoy-ink-tauri/src/stores/useStepStore.ts +0 -32
- package/template-react-vite-muijoy-ink-tauri/src/stores/useTypewriterStore.ts +0 -41
- package/template-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +0 -33
- package/template-react-vite-muijoy-ink-tauri/src/utils/indexedDB-utility.ts +0 -196
- package/template-react-vite-muijoy-ink-tauri/src/utils/ink-utility.ts +0 -51
- package/template-react-vite-muijoy-ink-tauri/src/utils/save-utility.ts +0 -140
- package/template-react-vite-muijoy-ink-tauri/src/values/characters.ts +0 -24
- package/template-react-vite-muijoy-ink-tauri/src/values/index.ts +0 -1
- package/template-react-vite-muijoy-tauri/.eslintrc.cjs +0 -18
- package/template-react-vite-muijoy-tauri/_github/workflows/tauri.yml +0 -86
- package/template-react-vite-muijoy-tauri/public/apple-touch-icon.png +0 -0
- package/template-react-vite-muijoy-tauri/public/mask-icon.svg +0 -890
- package/template-react-vite-muijoy-tauri/public/service-worker.js +0 -60
- package/template-react-vite-muijoy-tauri/src/App.css +0 -45
- package/template-react-vite-muijoy-tauri/src/AppRoutes.tsx +0 -48
- package/template-react-vite-muijoy-tauri/src/Home.tsx +0 -48
- package/template-react-vite-muijoy-tauri/src/assets/manifest.ts +0 -272
- package/template-react-vite-muijoy-tauri/src/components/AnimatedDots.tsx +0 -45
- package/template-react-vite-muijoy-tauri/src/components/ChoiceButton.tsx +0 -15
- package/template-react-vite-muijoy-tauri/src/components/GameSaveSlot.tsx +0 -140
- package/template-react-vite-muijoy-tauri/src/components/MenuButton.tsx +0 -37
- package/template-react-vite-muijoy-tauri/src/components/ModalConfirmation.tsx +0 -61
- package/template-react-vite-muijoy-tauri/src/components/ModalDialog.tsx +0 -68
- package/template-react-vite-muijoy-tauri/src/components/NextButton.tsx +0 -53
- package/template-react-vite-muijoy-tauri/src/components/ReturnMainMenuButton.tsx +0 -69
- package/template-react-vite-muijoy-tauri/src/components/SettingButton.tsx +0 -52
- package/template-react-vite-muijoy-tauri/src/components/SliderResizer.tsx +0 -51
- package/template-react-vite-muijoy-tauri/src/components/SoundChannelControl.tsx +0 -45
- package/template-react-vite-muijoy-tauri/src/components/TextMenuButton.tsx +0 -48
- package/template-react-vite-muijoy-tauri/src/components/TypographyShadow.tsx +0 -19
- package/template-react-vite-muijoy-tauri/src/components/VisibilityButton.tsx +0 -46
- package/template-react-vite-muijoy-tauri/src/constans.ts +0 -16
- package/template-react-vite-muijoy-tauri/src/hooks/motion-hooks.ts +0 -17
- package/template-react-vite-muijoy-tauri/src/hooks/useClosePageDetector.ts +0 -32
- package/template-react-vite-muijoy-tauri/src/hooks/useDebouncedEffect.ts +0 -33
- package/template-react-vite-muijoy-tauri/src/hooks/useGameProps.ts +0 -25
- package/template-react-vite-muijoy-tauri/src/hooks/useInterval.ts +0 -44
- package/template-react-vite-muijoy-tauri/src/hooks/useKeyDetector.ts +0 -19
- package/template-react-vite-muijoy-tauri/src/hooks/useKeyboardDetector.ts +0 -57
- package/template-react-vite-muijoy-tauri/src/hooks/useMinigame.ts +0 -55
- package/template-react-vite-muijoy-tauri/src/hooks/useMyNavigate.ts +0 -19
- package/template-react-vite-muijoy-tauri/src/hooks/useNarrationFunctions.ts +0 -78
- package/template-react-vite-muijoy-tauri/src/hooks/useNetworkDetector.ts +0 -18
- package/template-react-vite-muijoy-tauri/src/hooks/useQueryInterface.ts +0 -141
- package/template-react-vite-muijoy-tauri/src/hooks/useQueryIsFullModeScreen.ts +0 -16
- package/template-react-vite-muijoy-tauri/src/hooks/useQueryLastSave.ts +0 -11
- package/template-react-vite-muijoy-tauri/src/hooks/useQuerySaves.ts +0 -11
- package/template-react-vite-muijoy-tauri/src/hooks/useSkipAutoDetector.ts +0 -52
- package/template-react-vite-muijoy-tauri/src/hooks/useWheelActions.ts +0 -101
- package/template-react-vite-muijoy-tauri/src/i18n.ts +0 -55
- package/template-react-vite-muijoy-tauri/src/index.css +0 -19
- package/template-react-vite-muijoy-tauri/src/labels/animations-labels.ts +0 -22
- package/template-react-vite-muijoy-tauri/src/labels/index.ts +0 -3
- package/template-react-vite-muijoy-tauri/src/labels/secondPart.ts +0 -1084
- package/template-react-vite-muijoy-tauri/src/labels/startLabel.ts +0 -396
- package/template-react-vite-muijoy-tauri/src/locales/strings_en.json +0 -69
- package/template-react-vite-muijoy-tauri/src/providers/RootProvider.tsx +0 -20
- package/template-react-vite-muijoy-tauri/src/providers/ThemeProvider.tsx +0 -170
- package/template-react-vite-muijoy-tauri/src/screens/ChoiceMenu.tsx +0 -76
- package/template-react-vite-muijoy-tauri/src/screens/GameSaveScreen.tsx +0 -128
- package/template-react-vite-muijoy-tauri/src/screens/HistoryScreen.tsx +0 -142
- package/template-react-vite-muijoy-tauri/src/screens/LoadingScreen.tsx +0 -24
- package/template-react-vite-muijoy-tauri/src/screens/MainMenu.tsx +0 -117
- package/template-react-vite-muijoy-tauri/src/screens/NarrationScreen.tsx +0 -247
- package/template-react-vite-muijoy-tauri/src/screens/OfflineScreen.tsx +0 -38
- package/template-react-vite-muijoy-tauri/src/screens/QuickTools.tsx +0 -124
- package/template-react-vite-muijoy-tauri/src/screens/Settings.tsx +0 -118
- package/template-react-vite-muijoy-tauri/src/screens/modals/SaveLoadAlert.tsx +0 -106
- package/template-react-vite-muijoy-tauri/src/screens/modals/TextInput.tsx +0 -74
- package/template-react-vite-muijoy-tauri/src/screens/settings/AutoSettingToggle.tsx +0 -24
- package/template-react-vite-muijoy-tauri/src/screens/settings/DialoguesSettings.tsx +0 -90
- package/template-react-vite-muijoy-tauri/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
- package/template-react-vite-muijoy-tauri/src/screens/settings/FullScreenSettings.tsx +0 -55
- package/template-react-vite-muijoy-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-tauri/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
- package/template-react-vite-muijoy-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
- package/template-react-vite-muijoy-tauri/src/screens/settings/SkipSettingToggle.tsx +0 -34
- package/template-react-vite-muijoy-tauri/src/screens/settings/SoundSettings.tsx +0 -51
- package/template-react-vite-muijoy-tauri/src/screens/settings/ThemeSettings.tsx +0 -112
- package/template-react-vite-muijoy-tauri/src/stores/createChannelSoundStore.ts +0 -47
- package/template-react-vite-muijoy-tauri/src/stores/useAutoInfoStore.ts +0 -33
- package/template-react-vite-muijoy-tauri/src/stores/useDialogueCardStore.ts +0 -36
- package/template-react-vite-muijoy-tauri/src/stores/useGameSaveScreenStore.ts +0 -112
- package/template-react-vite-muijoy-tauri/src/stores/useHistoryScreenStore.ts +0 -23
- package/template-react-vite-muijoy-tauri/src/stores/useInterfaceStore.ts +0 -28
- package/template-react-vite-muijoy-tauri/src/stores/useMasterSoundStore.ts +0 -38
- package/template-react-vite-muijoy-tauri/src/stores/useNetworkStore.ts +0 -20
- package/template-react-vite-muijoy-tauri/src/stores/useSettingsScreenStore.ts +0 -23
- package/template-react-vite-muijoy-tauri/src/stores/useSkipStore.ts +0 -27
- package/template-react-vite-muijoy-tauri/src/stores/useStepStore.ts +0 -32
- package/template-react-vite-muijoy-tauri/src/stores/useTypewriterStore.ts +0 -41
- package/template-react-vite-muijoy-tauri/src/utils/assets-utility.ts +0 -33
- package/template-react-vite-muijoy-tauri/src/utils/indexedDB-utility.ts +0 -196
- package/template-react-vite-muijoy-tauri/src/utils/save-utility.ts +0 -140
- package/template-react-vite-muijoy-tauri/src/values/characters.ts +0 -24
- package/template-react-vite-muijoy-tauri/src/values/index.ts +0 -1
- /package/template-react-vite-muijoy-ink/{src/ink → ink}/second_part.ink +0 -0
- /package/template-react-vite-muijoy-ink/{src/ink → ink}/start.ink +0 -0
- /package/template-react-vite-muijoy-ink-tauri/{src/ink → ink}/second_part.ink +0 -0
- /package/template-react-vite-muijoy-ink-tauri/{src/ink → ink}/start.ink +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import{styleText as
|
|
2
|
-
`);let v=!1;for(let m=0;m<
|
|
3
|
-
`){
|
|
4
|
-
`&&(
|
|
5
|
-
`)}function
|
|
6
|
-
`),
|
|
7
|
-
`),
|
|
8
|
-
`).map((
|
|
9
|
-
`)}
|
|
10
|
-
`),
|
|
11
|
-
`).length-1;this.output.write(
|
|
12
|
-
`);this.output.write(s
|
|
13
|
-
`).slice(
|
|
14
|
-
`)),this._prevFrame=
|
|
15
|
-
`);
|
|
1
|
+
import{styleText as l}from"node:util";import B,{stdin as Ce,stdout as ve}from"node:process";import*as oe from"node:readline";import ut from"node:readline";import{ReadStream as Oe}from"node:tty";import I from"node:fs";import A from"node:path";import{execa as K}from"execa";import ct from"open";import Le from"which";import{fileURLToPath as lt}from"node:url";const pt=(()=>{const e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let r=0;for(e.lastIndex=0;e.test(t);)r+=1;return t.length-r}})(),ht=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,ft=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,dt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,mt=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Ne=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,gt=/\t{1,1000}/y,je=new RegExp("[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*","yu"),vt=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,wt=new RegExp("\\p{M}+","gu"),$t={limit:1/0,ellipsis:""},De=(e,t={},r={})=>{const i=t.limit??1/0,n=t.ellipsis??"",a=t?.ellipsisWidth??(n?De(n,$t,r).width:0),s=0,o=r.controlWidth??0,u=r.tabWidth??8,c=r.emojiWidth??2,v=2,m=r.regularWidth??1,p=r.wideWidth??v,w=[[vt,m],[dt,s],[mt,o],[gt,u],[je,c],[Ne,p]];let f=0,h=0,g=e.length,E=0,j=!1,R=g,S=Math.max(0,i-a),_=0,y=0,d=0,b=0;e:for(;;){if(y>_||h>=g&&h>f){const x=e.slice(_,y)||e.slice(f,h);E=0;for(const $ of x.replaceAll(wt,"")){const C=$.codePointAt(0)||0;if(ht(C)?b=v:ft(C)?b=p:b=m,d+b>S&&(R=Math.min(R,Math.max(_,f)+E)),d+b>i){j=!0;break e}E+=$.length,d+=b}_=y=0}if(h>=g)break e;for(let x=0,$=w.length;x<$;x++){const[C,V]=w[x];if(C.lastIndex=h,C.test(e)){if(E=C===Ne?pt(e.slice(h,C.lastIndex)):C===je?1:C.lastIndex-h,b=E*V,d+b>S&&(R=Math.min(R,h+Math.floor((S-d)/V))),d+b>i){j=!0;break e}d+=b,_=f,y=h,h=f=C.lastIndex;continue e}}h+=1}return{width:j?S:d,index:j?R:g,truncated:j,ellipsed:j&&i>=a}},bt={limit:1/0,ellipsis:"",ellipsisWidth:0},J=(e,t={})=>De(e,bt,t).width,ue="\x1B",Me="\x9B",yt=39,we="\x07",Ve="[",It="]",Ue="m",$e=`${It}8;;`,Pe=new RegExp(`(?:\\${Ve}(?<code>\\d+)m|\\${$e}(?<uri>.*)${we})`,"y"),Ge=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},We=e=>`${ue}${Ve}${e}${Ue}`,Be=e=>`${ue}${$e}${e}${we}`,be=(e,t,r)=>{const i=t[Symbol.iterator]();let n=!1,a=!1,s=e.at(-1),o=s===void 0?0:J(s),u=i.next(),c=i.next(),v=0;for(;!u.done;){const m=u.value,p=J(m);o+p<=r?e[e.length-1]+=m:(e.push(m),o=0),(m===ue||m===Me)&&(n=!0,a=t.startsWith($e,v+1)),n?a?m===we&&(n=!1,a=!1):m===Ue&&(n=!1):(o+=p,o===r&&!c.done&&(e.push(""),o=0)),u=c,c=i.next(),v+=m.length}s=e.at(-1),!o&&s!==void 0&&s.length&&e.length>1&&(e[e.length-2]+=e.pop())},Et=e=>{const t=e.split(" ");let r=t.length;for(;r&&!J(t[r-1]);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},St=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let i="",n,a;const s=e.split(" ");let o=[""],u=0;for(let m=0;m<s.length;m++){const p=s[m];if(r.trim!==!1){const f=o.at(-1)??"",h=f.trimStart();f.length!==h.length&&(o[o.length-1]=h,u=J(h))}m!==0&&(u>=t&&(r.wordWrap===!1||r.trim===!1)&&(o.push(""),u=0),(u||r.trim===!1)&&(o[o.length-1]+=" ",u++));const w=J(p);if(r.hard&&w>t){const f=t-u,h=1+Math.floor((w-f-1)/t);Math.floor((w-1)/t)<h&&o.push(""),be(o,p,t),u=J(o.at(-1)??"");continue}if(u+w>t&&u&&w){if(r.wordWrap===!1&&u<t){be(o,p,t),u=J(o.at(-1)??"");continue}o.push(""),u=0}if(u+w>t&&r.wordWrap===!1){be(o,p,t),u=J(o.at(-1)??"");continue}o[o.length-1]+=p,u+=w}r.trim!==!1&&(o=o.map(m=>Et(m)));const c=o.join(`
|
|
2
|
+
`);let v=!1;for(let m=0;m<c.length;m++){const p=c[m];if(i+=p,v)v=!1;else if(v=p>="\uD800"&&p<="\uDBFF",v)continue;if(p===ue||p===Me){Pe.lastIndex=m+1;const f=Pe.exec(c)?.groups;if(f?.code!==void 0){const h=Number.parseFloat(f.code);n=h===yt?void 0:h}else f?.uri!==void 0&&(a=f.uri.length===0?void 0:f.uri)}if(c[m+1]===`
|
|
3
|
+
`){a&&(i+=Be(""));const w=n?Ge(n):void 0;n&&w&&(i+=We(w))}else p===`
|
|
4
|
+
`&&(n&&Ge(n)&&(i+=We(n)),a&&(i+=Be(a)))}return i},_t=/\r?\n/;function ee(e,t,r){return String(e).normalize().split(_t).map(i=>St(i,t,r)).join(`
|
|
5
|
+
`)}function Ft(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ye,Ke;function xt(){if(Ke)return ye;Ke=1;const e="\x1B",t=`${e}[`,r="\x07",i={to(s,o){return o?`${t}${o+1};${s+1}H`:`${t}${s+1}G`},move(s,o){let u="";return s<0?u+=`${t}${-s}D`:s>0&&(u+=`${t}${s}C`),o<0?u+=`${t}${-o}A`:o>0&&(u+=`${t}${o}B`),u},up:(s=1)=>`${t}${s}A`,down:(s=1)=>`${t}${s}B`,forward:(s=1)=>`${t}${s}C`,backward:(s=1)=>`${t}${s}D`,nextLine:(s=1)=>`${t}E`.repeat(s),prevLine:(s=1)=>`${t}F`.repeat(s),left:`${t}G`,hide:`${t}?25l`,show:`${t}?25h`,save:`${e}7`,restore:`${e}8`},n={up:(s=1)=>`${t}S`.repeat(s),down:(s=1)=>`${t}T`.repeat(s)},a={screen:`${t}2J`,up:(s=1)=>`${t}1J`.repeat(s),down:(s=1)=>`${t}J`.repeat(s),line:`${t}2K`,lineEnd:`${t}K`,lineStart:`${t}1K`,lines(s){let o="";for(let u=0;u<s;u++)o+=this.line+(u<s-1?i.up():"");return s&&(o+=i.left),o}};return ye={cursor:i,scroll:n,erase:a,beep:r},ye}var L=xt();function ce(e,t,r){if(!r.some(s=>!s.disabled))return e;const i=e+t,n=Math.max(r.length-1,0),a=i<0?n:i>n?0:i;return r[a].disabled?ce(a,t<0?-1:1,r):a}const kt=["up","down","left","right","space","enter","cancel"],H={actions:new Set(kt),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0};function Ie(e,t){if(typeof e=="string")return H.aliases.get(e)===t;for(const r of e)if(r!==void 0&&Ie(r,t))return!0;return!1}function Tt(e,t){if(e===t)return;const r=e.split(`
|
|
6
|
+
`),i=t.split(`
|
|
7
|
+
`),n=Math.max(r.length,i.length),a=[];for(let s=0;s<n;s++)r[s]!==i[s]&&a.push(s);return{lines:a,numLinesBefore:r.length,numLinesAfter:i.length,numLines:n}}const At=globalThis.process.platform.startsWith("win"),Ee=Symbol("clack:cancel");function D(e){return e===Ee}function le(e,t){const r=e;r.isTTY&&r.setRawMode(t)}function Rt({input:e=Ce,output:t=ve,overwrite:r=!0,hideCursor:i=!0}={}){const n=oe.createInterface({input:e,output:t,prompt:"",tabSize:1});oe.emitKeypressEvents(e,n),e instanceof Oe&&e.isTTY&&e.setRawMode(!0);const a=(s,{name:o,sequence:u})=>{const c=String(s);if(Ie([c,o,u],"cancel")){i&&t.write(L.cursor.show),process.exit(0);return}if(!r)return;const v=o==="return"?0:-1,m=o==="return"?-1:0;oe.moveCursor(t,v,m,()=>{oe.clearLine(t,1,()=>{e.once("keypress",a)})})};return i&&t.write(L.cursor.hide),e.once("keypress",a),()=>{e.off("keypress",a),i&&t.write(L.cursor.show),e instanceof Oe&&e.isTTY&&!At&&e.setRawMode(!1),n.terminal=!1,n.close()}}const Se=e=>"columns"in e&&typeof e.columns=="number"?e.columns:80,He=e=>"rows"in e&&typeof e.rows=="number"?e.rows:20;function pe(e,t,r,i=r,n=r,a){const s=Se(e??ve);return ee(t,s-r.length,{hard:!0,trim:!1}).split(`
|
|
8
|
+
`).map((o,u,c)=>{const v=o;return u===0?`${i}${v}`:u===c.length-1?`${n}${v}`:`${r}${v}`}).join(`
|
|
9
|
+
`)}function Ct(e,t){if("~standard"in e){const r=e["~standard"].validate(t);if(r instanceof Promise)throw new TypeError("Schema validation must be synchronous. Update `validate()` and remove any asynchronous logic.");return r.issues?.at(0)?.message}return e(t)}class _e{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(t,r=!0){const{input:i=Ce,output:n=ve,render:a,signal:s,...o}=t;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=a.bind(this),this._track=r,this._abortSignal=s,this.input=i,this.output=n}unsubscribe(){this._subscribers.clear()}setSubscriber(t,r){const i=this._subscribers.get(t)??[];i.push(r),this._subscribers.set(t,i)}on(t,r){this.setSubscriber(t,{cb:r})}once(t,r){this.setSubscriber(t,{cb:r,once:!0})}emit(t,...r){const i=this._subscribers.get(t)??[],n=[];for(const a of i)a.cb(...r),a.once&&n.push(()=>i.splice(i.indexOf(a),1));for(const a of n)a()}prompt(){return new Promise(t=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),t(Ee);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=ut.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),le(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(L.cursor.show),this.output.off("resize",this.render),le(this.input,!1),t(this.value)}),this.once("cancel",()=>{this.output.write(L.cursor.show),this.output.off("resize",this.render),le(this.input,!1),t(Ee)})})}_isActionKey(t,r){return t===" "}_shouldSubmit(t,r){return!0}_setValue(t){this.value=t,this.emit("value",this.value)}_setUserInput(t,r){this.userInput=t??"",this.emit("userInput",this.userInput),r&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(t,r){if(this._track&&r.name!=="return"&&(r.name&&this._isActionKey(t,r)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),r?.name&&(!this._track&&H.aliases.has(r.name)&&this.emit("cursor",H.aliases.get(r.name)),H.actions.has(r.name)&&this.emit("cursor",r.name)),t&&(t.toLowerCase()==="y"||t.toLowerCase()==="n")&&this.emit("confirm",t.toLowerCase()==="y"),this.emit("key",t,r),r?.name==="return"&&this._shouldSubmit(t,r)){if(this.opts.validate){const i=Ct(this.opts.validate,this.value);i&&(this.error=i instanceof Error?i.message:i,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}Ie([t,r?.name,r?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
10
|
+
`),le(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){const t=ee(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
|
|
11
|
+
`).length-1;this.output.write(L.cursor.move(-999,t*-1))}render(){const t=ee(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(t!==this._prevFrame){if(this.state==="initial")this.output.write(L.cursor.hide);else{const r=Tt(this._prevFrame,t),i=He(this.output);if(this.restoreCursor(),r){const n=Math.max(0,r.numLinesAfter-i),a=Math.max(0,r.numLinesBefore-i);let s=r.lines.find(o=>o>=n);if(s===void 0){this._prevFrame=t;return}if(r.lines.length===1){this.output.write(L.cursor.move(0,s-a)),this.output.write(L.erase.lines(1));const o=t.split(`
|
|
12
|
+
`);this.output.write(o[s]),this._prevFrame=t,this.output.write(L.cursor.move(0,o.length-s-1));return}else if(r.lines.length>1){if(n<a)s=n;else{const u=s-a;u>0&&this.output.write(L.cursor.move(0,u))}this.output.write(L.erase.down());const o=t.split(`
|
|
13
|
+
`).slice(s);this.output.write(o.join(`
|
|
14
|
+
`)),this._prevFrame=t;return}}this.output.write(L.erase.down())}this.output.write(t),this.state==="initial"&&(this.state="active"),this._prevFrame=t}}}class Ot extends _e{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",r=>{this.output.write(L.cursor.move(0,-1)),this.value=r,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}class Lt extends _e{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(t){super(t,!1),this.options=t.options;const r=this.options.findIndex(({value:n})=>n===t.initialValue),i=r===-1?0:r;this.cursor=this.options[i].disabled?ce(i,1,this.options):i,this.changeValue(),this.on("cursor",n=>{switch(n){case"left":case"up":this.cursor=ce(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=ce(this.cursor,1,this.options);break}this.changeValue()})}}let Nt=class extends _e{get userInputWithCursor(){if(this.state==="submit")return this.userInput;const t=this.userInput;if(this.cursor>=t.length)return`${this.userInput}\u2588`;const r=t.slice(0,this.cursor),[i,...n]=t.slice(this.cursor);return`${r}${l("inverse",i)}${n.join("")}`}get cursor(){return this._cursor}constructor(t){super({...t,initialUserInput:t.initialUserInput??t.initialValue}),this.on("userInput",r=>{this._setValue(r)}),this.on("finalize",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value="")})}};function jt(){return B.platform!=="win32"?B.env.TERM!=="linux":!!B.env.CI||!!B.env.WT_SESSION||!!B.env.TERMINUS_SUBLIME||B.env.ConEmuTask==="{cmd::Cmder}"||B.env.TERM_PROGRAM==="Terminus-Sublime"||B.env.TERM_PROGRAM==="vscode"||B.env.TERM==="xterm-256color"||B.env.TERM==="alacritty"||B.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const Fe=jt(),Dt=()=>process.env.CI==="true",G=(e,t)=>Fe?e:t,Mt=G("\u25C6","*"),ze=G("\u25A0","x"),qe=G("\u25B2","x"),xe=G("\u25C7","o"),Vt=G("\u250C","T"),k=G("\u2502","|"),te=G("\u2514","\u2014"),ke=G("\u25CF",">"),he=G("\u25CB"," "),Ut=G("\u25CF","\u2022"),Pt=G("\u25C6","*"),Gt=G("\u25B2","!"),Wt=G("\u25A0","x"),Te=e=>{switch(e){case"initial":case"active":return l("cyan",Mt);case"cancel":return l("red",ze);case"error":return l("yellow",qe);case"submit":return l("green",xe)}},Bt=e=>{switch(e){case"initial":case"active":return l("cyan",k);case"cancel":return l("red",k);case"error":return l("yellow",k);case"submit":return l("green",k)}},Ye=(e,t,r,i,n,a=!1)=>{let s=t,o=0;if(a)for(let u=i-1;u>=r&&(s-=e[u].length,o++,!(s<=n));u--);else for(let u=r;u<i&&(s-=e[u].length,o++,!(s<=n));u++);return{lineCount:s,removals:o}},Kt=({cursor:e,options:t,style:r,output:i=process.stdout,maxItems:n=Number.POSITIVE_INFINITY,columnPadding:a=0,rowPadding:s=4})=>{const o=Se(i)-a,u=He(i),c=l("dim","..."),v=Math.max(u-s,0),m=Math.max(Math.min(n,v),5);let p=0;e>=m-3&&(p=Math.max(Math.min(e-m+3,t.length-m),0));let w=m<t.length&&p>0,f=m<t.length&&p+m<t.length;const h=Math.min(p+m,t.length),g=[];let E=0;w&&E++,f&&E++;const j=p+(w?1:0),R=h-(f?1:0);for(let _=j;_<R;_++){const y=ee(r(t[_],_===e),o,{hard:!0,trim:!1}).split(`
|
|
15
|
+
`);g.push(y),E+=y.length}if(E>v){let _=0,y=0,d=E;const b=e-j;let x=v;const $=()=>Ye(g,d,0,b,x),C=()=>Ye(g,d,b+1,g.length,x,!0);w?({lineCount:d,removals:_}=$(),d>x&&(f||(x-=1),{lineCount:d,removals:y}=C())):(f||(x-=1),{lineCount:d,removals:y}=C(),d>x&&(x-=1,{lineCount:d,removals:_}=$())),_>0&&(w=!0,g.splice(0,_)),y>0&&(f=!0,g.splice(g.length-y,y))}const S=[];w&&S.push(c);for(const _ of g)for(const y of _)S.push(y);return f&&S.push(c),S},Je=e=>{const t=e.active??"Yes",r=e.inactive??"No";return new Ot({active:t,inactive:r,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){const i=e.withGuide??H.withGuide,n=`${Te(this.state)} `,a=i?`${l("gray",k)} `:"",s=pe(e.output,e.message,a,n),o=`${i?`${l("gray",k)}
|
|
16
16
|
`:""}${s}
|
|
17
|
-
`,
|
|
18
|
-
${
|
|
19
|
-
${
|
|
20
|
-
`:` ${
|
|
17
|
+
`,u=this.value?t:r;switch(this.state){case"submit":{const c=i?`${l("gray",k)} `:"";return`${o}${c}${l("dim",u)}`}case"cancel":{const c=i?`${l("gray",k)} `:"";return`${o}${c}${l(["strikethrough","dim"],u)}${i?`
|
|
18
|
+
${l("gray",k)}`:""}`}default:{const c=i?`${l("cyan",k)} `:"",v=i?l("cyan",te):"";return`${o}${c}${this.value?`${l("green",ke)} ${t}`:`${l("dim",he)} ${l("dim",t)}`}${e.vertical?i?`
|
|
19
|
+
${l("cyan",k)} `:`
|
|
20
|
+
`:` ${l("dim","/")} `}${this.value?`${l("dim",he)} ${l("dim",r)}`:`${l("green",ke)} ${r}`}
|
|
21
21
|
${v}
|
|
22
|
-
`}}}}).prompt()},
|
|
23
|
-
`);if(m.length>0){const[p,...
|
|
22
|
+
`}}}}).prompt()},P={message:(e=[],{symbol:t=l("gray",k),secondarySymbol:r=l("gray",k),output:i=process.stdout,spacing:n=1,withGuide:a}={})=>{const s=[],o=a??H.withGuide,u=o?r:"",c=o?`${t} `:"",v=o?`${r} `:"";for(let p=0;p<n;p++)s.push(u);const m=Array.isArray(e)?e:e.split(`
|
|
23
|
+
`);if(m.length>0){const[p,...w]=m;p.length>0?s.push(`${c}${p}`):s.push(o?t:"");for(const f of w)f.length>0?s.push(`${v}${f}`):s.push(o?r:"")}i.write(`${s.join(`
|
|
24
24
|
`)}
|
|
25
|
-
`)},info:(e,t)=>{
|
|
25
|
+
`)},info:(e,t)=>{P.message(e,{...t,symbol:l("blue",Ut)})},success:(e,t)=>{P.message(e,{...t,symbol:l("green",Pt)})},step:(e,t)=>{P.message(e,{...t,symbol:l("green",xe)})},warn:(e,t)=>{P.message(e,{...t,symbol:l("yellow",Gt)})},warning:(e,t)=>{P.warn(e,t)},error:(e,t)=>{P.message(e,{...t,symbol:l("red",Wt)})}},F=(e="",t)=>{const r=process.stdout,i=`${l("gray",te)} `;r.write(`${i}${l("red",e)}
|
|
26
26
|
|
|
27
|
-
`)},
|
|
28
|
-
`)},
|
|
29
|
-
${
|
|
27
|
+
`)},Ht=(e="",t)=>{const r=process.stdout,i=`${l("gray",Vt)} `;r.write(`${i}${e}
|
|
28
|
+
`)},zt=(e="",t)=>{const r=process.stdout,i=`${l("gray",k)}
|
|
29
|
+
${l("gray",te)} `;r.write(`${i}${e}
|
|
30
30
|
|
|
31
|
-
`)},
|
|
32
|
-
`);const
|
|
33
|
-
`);
|
|
34
|
-
`);let W=0,
|
|
35
|
-
`):
|
|
36
|
-
`)),d(),v()};return{start:
|
|
31
|
+
`)},qt=e=>l("magenta",e),Yt=({indicator:e="dots",onCancel:t,output:r=process.stdout,cancelMessage:i,errorMessage:n,frames:a=Fe?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:s=Fe?80:120,signal:o,...u}={})=>{const c=Dt();let v,m,p=!1,w=!1,f="",h,g=performance.now();const E=Se(r),j=u?.styleFrame??qt,R=T=>{const W=T>1?n??H.messages.error:i??H.messages.cancel;w=T===1,p&&(U(W,T),w&&typeof t=="function"&&t())},S=()=>R(2),_=()=>R(1),y=()=>{process.on("uncaughtExceptionMonitor",S),process.on("unhandledRejection",S),process.on("SIGINT",_),process.on("SIGTERM",_),process.on("exit",R),o&&o.addEventListener("abort",_)},d=()=>{process.removeListener("uncaughtExceptionMonitor",S),process.removeListener("unhandledRejection",S),process.removeListener("SIGINT",_),process.removeListener("SIGTERM",_),process.removeListener("exit",R),o&&o.removeEventListener("abort",_)},b=()=>{if(h===void 0)return;c&&r.write(`
|
|
32
|
+
`);const T=ee(h,E,{hard:!0,trim:!1}).split(`
|
|
33
|
+
`);T.length>1&&r.write(L.cursor.up(T.length-1)),r.write(L.cursor.to(0)),r.write(L.erase.down())},x=T=>T.replace(/\.+$/,""),$=T=>{const W=(performance.now()-T)/1e3,q=Math.floor(W/60),Y=Math.floor(W%60);return q>0?`[${q}m ${Y}s]`:`[${Y}s]`},C=u.withGuide??H.withGuide,V=(T="")=>{p=!0,v=Rt({output:r}),f=x(T),g=performance.now(),C&&r.write(`${l("gray",k)}
|
|
34
|
+
`);let W=0,q=0;y(),m=setInterval(()=>{if(c&&f===h)return;b(),h=f;const Y=j(a[W]);let ae;if(c)ae=`${Y} ${f}...`;else if(e==="timer")ae=`${Y} ${f} ${$(g)}`;else{const ot=".".repeat(Math.floor(q)).slice(0,3);ae=`${Y} ${f}${ot}`}const at=ee(ae,E,{hard:!0,trim:!1});r.write(at),W=W+1<a.length?W+1:0,q=q<4?q+.125:0},s)},U=(T="",W=0,q=!1)=>{if(!p)return;p=!1,clearInterval(m),b();const Y=W===0?l("green",xe):W===1?l("red",ze):l("red",qe);f=T??f,q||(e==="timer"?r.write(`${Y} ${f} ${$(g)}
|
|
35
|
+
`):r.write(`${Y} ${f}
|
|
36
|
+
`)),d(),v()};return{start:V,stop:(T="")=>U(T,0),message:(T="")=>{f=x(T??f)},cancel:(T="")=>U(T,1),error:(T="")=>U(T,2),clear:()=>U("",0,!0),get isCancelled(){return w}}},fe=(e,t)=>e.includes(`
|
|
37
37
|
`)?e.split(`
|
|
38
|
-
`).map(
|
|
39
|
-
`):t(e),
|
|
40
|
-
`:""}${
|
|
41
|
-
`;switch(this.state){case"submit":{const o=
|
|
42
|
-
${
|
|
43
|
-
`).length,v=
|
|
38
|
+
`).map(r=>t(r)).join(`
|
|
39
|
+
`):t(e),X=e=>{const t=(r,i)=>{const n=r.label??String(r.value);switch(i){case"disabled":return`${l("gray",he)} ${fe(n,a=>l("gray",a))}${r.hint?` ${l("dim",`(${r.hint??"disabled"})`)}`:""}`;case"selected":return`${fe(n,a=>l("dim",a))}`;case"active":return`${l("green",ke)} ${n}${r.hint?` ${l("dim",`(${r.hint})`)}`:""}`;case"cancelled":return`${fe(n,a=>l(["strikethrough","dim"],a))}`;default:return`${l("dim",he)} ${fe(n,a=>l("dim",a))}`}};return new Lt({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){const r=e.withGuide??H.withGuide,i=`${Te(this.state)} `,n=`${Bt(this.state)} `,a=pe(e.output,e.message,n,i),s=`${r?`${l("gray",k)}
|
|
40
|
+
`:""}${a}
|
|
41
|
+
`;switch(this.state){case"submit":{const o=r?`${l("gray",k)} `:"",u=pe(e.output,t(this.options[this.cursor],"selected"),o);return`${s}${u}`}case"cancel":{const o=r?`${l("gray",k)} `:"",u=pe(e.output,t(this.options[this.cursor],"cancelled"),o);return`${s}${u}${r?`
|
|
42
|
+
${l("gray",k)}`:""}`}default:{const o=r?`${l("cyan",k)} `:"",u=r?l("cyan",te):"",c=s.split(`
|
|
43
|
+
`).length,v=r?2:1;return`${s}${o}${Kt({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:o.length,rowPadding:c+v,style:(m,p)=>t(m,m.disabled?"disabled":p?"active":"inactive")}).join(`
|
|
44
44
|
${o}`)}
|
|
45
|
-
${
|
|
46
|
-
`}}}}).prompt()};`${
|
|
47
|
-
`:""}${
|
|
48
|
-
`,
|
|
49
|
-
${o}${
|
|
50
|
-
${
|
|
51
|
-
`}case"submit":{const s=
|
|
52
|
-
${o}`:""}`}default:{const s=t?`${
|
|
45
|
+
${u}
|
|
46
|
+
`}}}}).prompt()};`${l("gray",k)}`;const de=async(e,t)=>{for(const r of e){if(r.enabled===!1)continue;const i=Yt(t);i.start(r.title);const n=await r.task(i.message);i.stop(n||r.title)}},se=e=>new Nt({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){const t=e?.withGuide??H.withGuide,r=`${`${t?`${l("gray",k)}
|
|
47
|
+
`:""}${Te(this.state)} `}${e.message}
|
|
48
|
+
`,i=e.placeholder?l("inverse",e.placeholder[0])+l("dim",e.placeholder.slice(1)):l(["inverse","hidden"],"_"),n=this.userInput?this.userInputWithCursor:i,a=this.value??"";switch(this.state){case"error":{const s=this.error?` ${l("yellow",this.error)}`:"",o=t?`${l("yellow",k)} `:"",u=t?l("yellow",te):"";return`${r.trim()}
|
|
49
|
+
${o}${n}
|
|
50
|
+
${u}${s}
|
|
51
|
+
`}case"submit":{const s=a?` ${l("dim",a)}`:"",o=t?l("gray",k):"";return`${r}${o}${s}`}case"cancel":{const s=a?` ${l(["strikethrough","dim"],a)}`:"",o=t?l("gray",k):"";return`${r}${o}${s}${a.trim()?`
|
|
52
|
+
${o}`:""}`}default:{const s=t?`${l("cyan",k)} `:"",o=t?l("cyan",te):"";return`${r}${s}${n}
|
|
53
53
|
${o}
|
|
54
|
-
`}}}}).prompt();let Q=!0;const
|
|
55
|
-
GitHub Desktop: https://github.com/apps/desktop`)}}var re=(e=>(e.VisualStudioCode="vscode",e.Cursor="cursor",e.VSCodium="codium",e.Other="other",e))(re||{});async function Xt({rootFolder:e,fileToOpen:t}){const i=await Z({message:"Which IDE do you want to use?",options:[{value:re.VisualStudioCode,label:"Visual Studio Code"},{value:re.Cursor,label:"Cursor"},{value:re.VSCodium,label:"VSCodium"},{value:re.Other,label:"Other"}],initialValue:re.VisualStudioCode});if(L(i)&&(D("Operation cancelled."),process.exit(0)),i===void 0)return;let r,a;switch(i){case"vscode":a="Opening in Visual Studio Code...",r="code";break;case"cursor":a="Opening in Cursor...",r="cursor";break;case"codium":a="Opening in VSCodium...",r="codium";break;default:return}await ge([{title:a,task:async n=>{try{await je(r);const s=await J(r,[e]);n(s.stdout);const o=await J(r,[`${e}/README.md`]);if(n(o.stdout),t){const c=await J(r,[`${e}/${t}`]);n(c.stdout)}return`Opened project using ${i}`}catch{return`Could not open project using ${i}, since ${i} was not in your PATH`}}}])}var H=(e=>(e[e.VisualNovel=0]="VisualNovel",e[e.TextStory=1]="TextStory",e[e.PointAndClick=2]="PointAndClick",e[e.GameEngine=3]="GameEngine",e[e.Library=4]="Library",e))(H||{}),B=(e=>(e[e.Ink=0]="Ink",e[e.Renpy=1]="Renpy",e[e.Typescript=2]="Typescript",e))(B||{}),M=(e=>(e[e.React=0]="React",e[e.Vue=1]="Vue",e[e.Angular=2]="Angular",e))(M||{});const tt="My Game",it="my-game",X=[{type:H.VisualNovel,name:"Visual Novel",availableUI:[M.React],availableNarrativeLanguages:[B.Ink,B.Typescript],isMultidevice:!0},{type:H.TextStory,name:"Text-based Story",availableUI:[M.React],availableNarrativeLanguages:[B.Ink,B.Typescript],isMultidevice:!0},{type:H.PointAndClick,name:"Point & Click Adventure",availableUI:[M.React],availableNarrativeLanguages:[B.Ink,B.Typescript],isMultidevice:!0},{type:H.GameEngine,name:"Game Engine",availableUI:[],availableNarrativeLanguages:[],isMultidevice:!1},{type:H.Library,name:"Library",availableUI:[],availableNarrativeLanguages:[],isMultidevice:!1}];async function ei({packageName:e}){const t=await Z({message:"Select the type of game you want to create:",options:X.map(l=>({label:l.name,value:l.type})),initialValue:X[0].type});L(t)&&(D("Operation cancelled."),process.exit(0));const i=X.find(l=>l.type===t)?.availableUI.map(l=>{let v="";switch(l){case M.React:v=be("React");break;case M.Vue:v=Kt("Vue");break;case M.Angular:v=Ht("Angular");break}return{label:v,value:l}})||[];let r;i.length===1?(U.warning(`Only one UI framework available: ${i[0].label}. Using it by default.`),r=i[0].value):i.length>0?(r=await Z({message:"Select the UI framework you want to use:",options:i,initialValue:X.find(l=>l.type===t)?.availableUI[0]}),L(r)&&(D("Operation cancelled."),process.exit(0))):r=void 0;const a=X.find(l=>l.type===t)?.availableNarrativeLanguages.map(l=>{let v="";switch(l){case B.Ink:v="Ink + Typescript";break;case B.Renpy:v=qt("Renpy");break;case B.Typescript:v=be("Typescript");break}return{label:v,value:l}})||[];let n;a.length===1?(U.warning(`Only one narrative language available: ${a[0].label}. Using it by default.`),n=a[0].value):a.length>0?(n=await Z({message:"Select the narrative language you want to use:",options:a,initialValue:X.find(l=>l.type===t)?.availableNarrativeLanguages[0]}),L(n)&&(D("Operation cancelled."),process.exit(0))):n=void 0;const s=X.find(l=>l.type===t)?.isMultidevice;let o=!1,c="";return s&&(o=await Z({message:"Which devices is the project intended for?",options:[{label:"Web page",value:!1},{label:"Web page + Desktop + Mobile (Tauri)",value:!0}],initialValue:!1}),L(o)&&(D("Operation cancelled."),process.exit(0)),o?(c=await se({message:"Project identifier:",initialValue:`com.${e}.app`,validate:l=>{if(!l)return"Identifier is required.";if(!/^[a-zA-Z0-9_.\-]+$/.test(l))return"Identifier can only contain letters, numbers, underscores, dots and dashes."}}),L(c)&&(D("Operation cancelled."),process.exit(0))):c=""),{gameType:t,UIFramework:r,narrativeLanguage:n,multidevice:o,identifier:c}}var O=(e=>(e.Delete="delete",e.Overwrite="overwrite",e.Skip="skip",e.Ask="ask",e.Cancel="cancel",e))(O||{});function ti(e){const t=C.readdirSync(e);return t.length===0||t.length===1&&t[0]===".git"}function rt(e,t,i){if(!C.existsSync(t))return;const r=C.statSync(t);if(r.isFile())(i===O.Overwrite||i===O.Delete)&&C.rmSync(t,{force:!0});else if(r.isDirectory()){const a=C.readdirSync(e);for(const n of a){const s=_.join(e,n),o=_.join(t,n);rt(s,o,i)}}}function Le(e,t,i){if(C.statSync(e).isDirectory()){C.mkdirSync(t,{recursive:!0});for(const r of C.readdirSync(e)){const a=_.join(e,r),n=_.join(t,r);Le(a,n,i)}}else{if(i!==void 0&&C.existsSync(t)){if(i===O.Skip)return;(i===O.Overwrite||i===O.Delete)&&C.rmSync(t,{force:!0})}C.copyFileSync(e,t)}}function ii(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function st(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}async function ri(){const e=await se({message:"Project name:",defaultValue:tt,placeholder:tt,validate:s=>{if(!s)return"Project name cannot be empty"}});L(e)&&(D("Operation cancelled."),process.exit(0));const t=await se({message:"Project description:",defaultValue:"A new game project",placeholder:"A new game project",validate:s=>{if(!s)return"Project description cannot be empty"}});L(t)&&(D("Operation cancelled."),process.exit(0));const i=await se({message:"Package name:",defaultValue:st(it),placeholder:st(it),validate:s=>{if(!s)return"Package name cannot be empty";if(!ii(s))return"Invalid package name. The name can only include URL-friendly characters."}});L(i)&&(D("Operation cancelled."),process.exit(0));const r=_.basename(_.resolve()),a=await se({message:"Target directory:",defaultValue:i,placeholder:`${i} (If is equal to ".", the current directory (${r}) will be used)`});L(a)&&(D("Operation cancelled."),process.exit(0));let n;return C.existsSync(a)&&!ti(a)?(n=await Z({message:"Overwrite existing files?",options:[{hint:"Delete all existing files and create a new project",label:"Delete all",value:O.Delete},{hint:"Overwrite existing conflicting files",label:"Overwrite",value:O.Overwrite},{hint:"Skip existing conflicting files",label:"Skip",value:O.Skip},{hint:"Ask for each file",label:"Ask",value:O.Ask},{hint:"Cancel operation",label:"Cancel",value:O.Cancel}],initialValue:O.Overwrite}),(L(n)||n===O.Cancel)&&(D("Operation cancelled."),process.exit(0))):n=void 0,{projectName:e,foltderName:a,description:t,packageName:i,overwrite:n}}const nt={_gitignore:".gitignore"};async function si({rootFolder:e,overwrite:t,template:i,packageName:r,description:a,projectName:n,identifier:s}){const o=await ge([{title:`Creating project in ${e}...`,task:async()=>{C.existsSync(e)||C.mkdirSync(e,{recursive:!0});const c=_.resolve(lt(import.meta.url),"../..",`${i}`),l=(b,f)=>{const u=_.join(e,nt[b]??b);f?C.writeFileSync(u,f):Le(_.join(c,b),u,t)},v=C.readdirSync(c).map(async b=>{const f=_.join(c,b),u=_.join(e,nt[b]??b);if(C.existsSync(u))switch(t){case O.Ask:if(C.statSync(u).isFile()){const F=await Qe({message:`File ${u} already exists. Do you want to overwrite it?`,initialValue:!1});if(L(F)&&(D("Operation cancelled."),process.exit(0)),!F)return;C.rmSync(u,{force:!0})}else{const F=C.readdirSync(f);for(const y of F){const k=_.join(f,y),I=_.join(u,y);if(C.existsSync(I)){const E=await Qe({message:`File ${I} already exists. Do you want to overwrite it?`,initialValue:!1});if(L(E)&&(D("Operation cancelled."),process.exit(0)),!E)continue;C.rmSync(I,{force:!0})}Le(k,I,t)}return}break;case O.Skip:return;case O.Overwrite:case O.Delete:rt(f,u,t);break}switch(b){case"package.json":case"vite.config.ts":case"index.html":let F=C.readFileSync(f,"utf-8");F=F.replace(/my-app-package-name/g,r),F=F.replace(/my-app-description/g,a),F=F.replace(/my-app-project-name/g,n),l(b,F);break;case".git":case"package-lock.json":break;default:l(b)}});await Promise.all(v);const m=_.join(e,"src-tauri");if(C.existsSync(m)){const b=C.readdirSync(m).map(async f=>{switch(f){case"Cargo.lock":case"Cargo.toml":case"tauri.conf.json":let u=C.readFileSync(_.join(m,f),"utf-8");u=u.replace(/my-app-package-name/g,r),u=u.replace(/my-app-description/g,a),u=u.replace(/my-app-project-name/g,n),u=u.replace(/com.my-app-project-name.app/g,s),l(_.join("src-tauri",f),u)}});await Promise.all(b)}const p=_.join(e,"_github");return C.existsSync(p)&&C.renameSync(p,_.join(e,".github")),"Project created"}}]);L(o)&&(D("Operation cancelled."),process.exit(0))}const ni=process.cwd();async function ai(){let e,{description:t,overwrite:i,packageName:r,projectName:a,foltderName:n}=await ri(),{UIFramework:s,gameType:o,narrativeLanguage:c,multidevice:l,identifier:v}=await ei({packageName:r});const m=_.join(ni,n);let p;switch(o){case H.VisualNovel:switch(s){case M.React:switch(c){case B.Typescript:l?p="template-react-vite-muijoy-tauri":p="template-react-vite-muijoy",e="src/labels/startLabel.ts";break;case B.Ink:l?p="template-react-vite-muijoy-ink-tauri":p="template-react-vite-muijoy-ink",e="src/ink/start.ink";break;case B.Renpy:D("Error: There are no templates for this narrative language"),process.exit(0);default:D("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:D("Error: There are no templates for this game type and UI framework"),process.exit(0);default:D("Error: Unknown UI framework"),process.exit(0)}break;case H.TextStory:switch(s){case M.React:switch(c){case B.Typescript:l?p="template-story-react-vite-muijoy-tauri":p="template-story-react-vite-muijoy",e="src/labels/startLabel.ts";break;case B.Ink:l?p="template-story-react-vite-muijoy-ink-tauri":p="template-story-react-vite-muijoy-ink",e="src/ink/start.ink";break;case B.Renpy:D("Error: There are no templates for this narrative language"),process.exit(0);default:D("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:D("Error: There are no templates for this game type and UI framework"),process.exit(0);default:D("Error: Unknown UI framework"),process.exit(0)}break;case H.PointAndClick:switch(s){case M.React:switch(c){case B.Typescript:l?p="template-nqtr-react-vite-muijoy-tauri":p="template-nqtr-react-vite-muijoy",e="src/labels/startLabel.ts";break;case B.Ink:l?p="template-nqtr-react-vite-muijoy-ink-tauri":p="template-nqtr-react-vite-muijoy-ink",e="src/ink/variousActionsLabels.ink";break;case B.Renpy:D("Error: There are no templates for this narrative language"),process.exit(0);default:D("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:D("Error: There are no templates for this game type and UI framework"),process.exit(0);default:D("Error: Unknown UI framework"),process.exit(0)}break;case H.GameEngine:p="template-game-engine",e="src/index.ts";break;case H.Library:p="template-lib",e="src/index.ts";break;default:D("Error: Unknown game type"),process.exit(0)}return await si({rootFolder:m,template:p,packageName:r,description:t,projectName:a,overwrite:i,identifier:v}),{rootFolder:m,fileToOpen:e}}function oi(){console.info(`
|
|
54
|
+
`}}}}).prompt();let Q=!0;const re=typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{};let ne=0;if(re.process&&re.process.env&&re.process.stdout){const{FORCE_COLOR:e,NODE_DISABLE_COLORS:t,NO_COLOR:r,TERM:i,COLORTERM:n}=re.process.env;t||r||e==="0"?Q=!1:e==="1"||e==="2"||e==="3"?Q=!0:i==="dumb"?Q=!1:"CI"in re.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(a=>a in re.process.env)?Q=!0:Q=process.stdout.isTTY,Q&&(process.platform==="win32"||n&&(n==="truecolor"||n==="24bit")?ne=3:i&&(i.endsWith("-256color")||i.endsWith("256"))?ne=2:ne=1)}let Ze={enabled:Q,supportLevel:ne};function me(e,t,r=1){const i=`\x1B[${e}m`,n=`\x1B[${t}m`,a=new RegExp(`\\x1b\\[${t}m`,"g");return s=>Ze.enabled&&Ze.supportLevel>=r?i+(""+s).replace(a,i)+n:""+s}const Jt=me(31,39),ge=me(36,39),Zt=me(90,39),Xt=me(91,39);var Ae,Xe;function Qt(){if(Xe)return Ae;Xe=1;function e(i,n){var a=i;n.slice(0,-1).forEach(function(o){a=a[o]||{}});var s=n[n.length-1];return s in a}function t(i){return typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function r(i,n){return n==="constructor"&&typeof i[n]=="function"||n==="__proto__"}return Ae=function(i,n){n||(n={});var a={bools:{},strings:{},unknownFn:null};typeof n.unknown=="function"&&(a.unknownFn=n.unknown),typeof n.boolean=="boolean"&&n.boolean?a.allBools=!0:[].concat(n.boolean).filter(Boolean).forEach(function(d){a.bools[d]=!0});var s={};function o(d){return s[d].some(function(b){return a.bools[b]})}Object.keys(n.alias||{}).forEach(function(d){s[d]=[].concat(n.alias[d]),s[d].forEach(function(b){s[b]=[d].concat(s[d].filter(function(x){return b!==x}))})}),[].concat(n.string).filter(Boolean).forEach(function(d){a.strings[d]=!0,s[d]&&[].concat(s[d]).forEach(function(b){a.strings[b]=!0})});var u=n.default||{},c={_:[]};function v(d,b){return a.allBools&&/^--[^=]+$/.test(b)||a.strings[d]||a.bools[d]||s[d]}function m(d,b,x){for(var $=d,C=0;C<b.length-1;C++){var V=b[C];if(r($,V))return;$[V]===void 0&&($[V]={}),($[V]===Object.prototype||$[V]===Number.prototype||$[V]===String.prototype)&&($[V]={}),$[V]===Array.prototype&&($[V]=[]),$=$[V]}var U=b[b.length-1];r($,U)||(($===Object.prototype||$===Number.prototype||$===String.prototype)&&($={}),$===Array.prototype&&($=[]),$[U]===void 0||a.bools[U]||typeof $[U]=="boolean"?$[U]=x:Array.isArray($[U])?$[U].push(x):$[U]=[$[U],x])}function p(d,b,x){if(!(x&&a.unknownFn&&!v(d,x)&&a.unknownFn(x)===!1)){var $=!a.strings[d]&&t(b)?Number(b):b;m(c,d.split("."),$),(s[d]||[]).forEach(function(C){m(c,C.split("."),$)})}}Object.keys(a.bools).forEach(function(d){p(d,u[d]===void 0?!1:u[d])});var w=[];i.indexOf("--")!==-1&&(w=i.slice(i.indexOf("--")+1),i=i.slice(0,i.indexOf("--")));for(var f=0;f<i.length;f++){var h=i[f],g,E;if(/^--.+=/.test(h)){var j=h.match(/^--([^=]+)=([\s\S]*)$/);g=j[1];var R=j[2];a.bools[g]&&(R=R!=="false"),p(g,R,h)}else if(/^--no-.+/.test(h))g=h.match(/^--no-(.+)/)[1],p(g,!1,h);else if(/^--.+/.test(h))g=h.match(/^--(.+)/)[1],E=i[f+1],E!==void 0&&!/^(-|--)[^-]/.test(E)&&!a.bools[g]&&!a.allBools&&(!s[g]||!o(g))?(p(g,E,h),f+=1):/^(true|false)$/.test(E)?(p(g,E==="true",h),f+=1):p(g,a.strings[g]?"":!0,h);else if(/^-[^-]+/.test(h)){for(var S=h.slice(1,-1).split(""),_=!1,y=0;y<S.length;y++){if(E=h.slice(y+2),E==="-"){p(S[y],E,h);continue}if(/[A-Za-z]/.test(S[y])&&E[0]==="="){p(S[y],E.slice(1),h),_=!0;break}if(/[A-Za-z]/.test(S[y])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(E)){p(S[y],E,h),_=!0;break}if(S[y+1]&&S[y+1].match(/\W/)){p(S[y],h.slice(y+2),h),_=!0;break}else p(S[y],a.strings[S[y]]?"":!0,h)}g=h.slice(-1)[0],!_&&g!=="-"&&(i[f+1]&&!/^(-|--)[^-]/.test(i[f+1])&&!a.bools[g]&&(!s[g]||!o(g))?(p(g,i[f+1],h),f+=1):i[f+1]&&/^(true|false)$/.test(i[f+1])?(p(g,i[f+1]==="true",h),f+=1):p(g,a.strings[g]?"":!0,h))}else if((!a.unknownFn||a.unknownFn(h)!==!1)&&c._.push(a.strings._||!t(h)?h:Number(h)),n.stopEarly){c._.push.apply(c._,i.slice(f+1));break}}return Object.keys(u).forEach(function(d){e(c,d.split("."))||(m(c,d.split("."),u[d]),(s[d]||[]).forEach(function(b){m(c,b.split("."),u[d])}))}),n["--"]?c["--"]=w.slice():w.forEach(function(d){c._.push(d)}),c},Ae}var er=Qt();const tr=Ft(er);async function rr({rootFolder:e}){const t=A.join(e,".git");try{if(I.existsSync(t)){P.warn("Git repository already exists.");return}}catch(i){P.error(`Error checking git folder: ${i}`);return}const r=await X({message:"Do you want to initialize a git repository? (recommended)",options:[{value:!0,label:"Yes",hint:"You can use GitHub to track changes and collaborate with others."},{value:!1,label:"No",hint:"It is not recommended to skip this step."}],initialValue:!0});if(D(r)&&(F("Operation cancelled."),process.exit(0)),r){const i=await de([{title:"Initializing git repository...",task:async n=>{const a=await K("git",["init","-b","main"],{cwd:e});n(a.stdout);const s=await K("git",["add","."],{cwd:e});n(s.stdout);const o=await K("git",["config","user.name"]).then(c=>c.stdout.trim()).catch(()=>""),u=await K("git",["config","user.email"]).then(c=>c.stdout.trim()).catch(()=>"");return o&&u&&(await K("git",["commit","-m","Initial commit"],{cwd:e}),n("Initial commit created.")),"Git repository initialized."}}]);D(i)&&(F("Operation cancelled."),process.exit(0)),P.message(`Now, you can use GitHub Desktop upload your project to GitHub.
|
|
55
|
+
GitHub Desktop: https://github.com/apps/desktop`)}}var ie=(e=>(e.VisualStudioCode="vscode",e.Cursor="cursor",e.VSCodium="codium",e.Other="other",e))(ie||{});async function ir({rootFolder:e,fileToOpen:t}){const r=await X({message:"Which IDE do you want to use?",options:[{value:ie.VisualStudioCode,label:"Visual Studio Code"},{value:ie.Cursor,label:"Cursor"},{value:ie.VSCodium,label:"VSCodium"},{value:ie.Other,label:"Other"}],initialValue:ie.VisualStudioCode});if(D(r)&&(F("Operation cancelled."),process.exit(0)),r===void 0)return;let i,n;switch(r){case"vscode":n="Opening in Visual Studio Code...",i="code";break;case"cursor":n="Opening in Cursor...",i="cursor";break;case"codium":n="Opening in VSCodium...",i="codium";break;default:return}await de([{title:n,task:async a=>{try{await Le(i);const s=await K(i,[e]);if(a(s.stdout),t){const o=await K(i,[`${e}/${t}`]);a(o.stdout)}return`Opened project using ${r}`}catch{return`Could not open project using ${r}, since ${r} was not in your PATH`}}}])}var z=(e=>(e[e.VisualNovel=0]="VisualNovel",e[e.TextStory=1]="TextStory",e[e.PointAndClick=2]="PointAndClick",e[e.GameEngine=3]="GameEngine",e[e.Library=4]="Library",e))(z||{}),O=(e=>(e[e.Ink=0]="Ink",e[e.Renpy=1]="Renpy",e[e.Typescript=2]="Typescript",e))(O||{}),M=(e=>(e[e.React=0]="React",e[e.Vue=1]="Vue",e[e.Angular=2]="Angular",e))(M||{});const Qe="My Game",Z=[{type:z.VisualNovel,name:"Visual Novel",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!0},{type:z.TextStory,name:"Text-based Story",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!1},{type:z.PointAndClick,name:"Point & Click Adventure",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!1},{type:z.GameEngine,name:"Game Engine",availableUI:[],availableNarrativeLanguages:[],isMultidevice:!1,canReplaceUI:!1},{type:z.Library,name:"Library",availableUI:[],availableNarrativeLanguages:[],isMultidevice:!1,canReplaceUI:!1}];async function sr({packageName:e}){const t=await X({message:"Select the type of game you want to create:",options:Z.map(c=>({label:c.name,value:c.type})),initialValue:Z[0].type});D(t)&&(F("Operation cancelled."),process.exit(0));const r=Z.find(c=>c.type===t)?.availableUI.map(c=>{let v="";switch(c){case M.React:v=ge("React");break;case M.Vue:v=Zt("Vue");break;case M.Angular:v=Jt("Angular");break}return{label:v,value:c}})||[];let i;r.length===1?(P.warning(`Only one UI framework available: ${r[0].label}. Using it by default.`),i=r[0].value):r.length>0?(i=await X({message:"Select the UI framework you want to use:",options:r,initialValue:Z.find(c=>c.type===t)?.availableUI[0]}),D(i)&&(F("Operation cancelled."),process.exit(0))):i=void 0;const n=Z.find(c=>c.type===t)?.availableNarrativeLanguages.map(c=>{let v="";switch(c){case O.Ink:v="Ink + Typescript";break;case O.Renpy:v=Xt("Renpy");break;case O.Typescript:v=ge("Typescript");break}return{label:v,value:c}})||[];let a;n.length===1?(P.warning(`Only one narrative language available: ${n[0].label}. Using it by default.`),a=n[0].value):n.length>0?(a=await X({message:"Select the narrative language you want to use:",options:n,initialValue:Z.find(c=>c.type===t)?.availableNarrativeLanguages[0]}),D(a)&&(F("Operation cancelled."),process.exit(0))):a=void 0;const s=Z.find(c=>c.type===t)?.isMultidevice;let o=!1,u="";return s&&(o=await X({message:"Which devices is the project intended for?",options:[{label:"Web page",value:!1},{label:"Web page + Desktop + Mobile (Tauri)",value:!0}],initialValue:!1}),D(o)&&(F("Operation cancelled."),process.exit(0)),o?(u=await se({message:"Project identifier:",initialValue:`com.${e}.app`,validate:c=>{if(!c)return"Identifier is required.";if(!/^[a-zA-Z0-9_.\-]+$/.test(c))return"Identifier can only contain letters, numbers, underscores, dots and dashes."}}),D(u)&&(F("Operation cancelled."),process.exit(0))):u=""),{gameType:t,UIFramework:i,narrativeLanguage:a,multidevice:o,identifier:u}}var N=(e=>(e.Delete="delete",e.Overwrite="overwrite",e.Skip="skip",e.Ask="ask",e.Cancel="cancel",e))(N||{});function nr(e){const t=I.readdirSync(e);return t.length===0||t.length===1&&t[0]===".git"}function et(e,t,r){if(!I.existsSync(t))return;const i=I.statSync(t);if(i.isFile())(r===N.Overwrite||r===N.Delete)&&I.rmSync(t,{force:!0});else if(i.isDirectory()){const n=I.readdirSync(e);for(const a of n){const s=A.join(e,a),o=A.join(t,a);et(s,o,r)}}}function Re(e,t,r){if(I.statSync(e).isDirectory()){I.mkdirSync(t,{recursive:!0});for(const i of I.readdirSync(e)){const n=A.join(e,i),a=A.join(t,i);Re(n,a,r)}}else{if(r!==void 0&&I.existsSync(t)){if(r===N.Skip)return;(r===N.Overwrite||r===N.Delete)&&I.rmSync(t,{force:!0})}I.copyFileSync(e,t)}}function ar(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function tt(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}async function or(){const e=await se({message:"Project name:",defaultValue:Qe,placeholder:Qe,validate:s=>{if(!s)return"Project name cannot be empty"}});D(e)&&(F("Operation cancelled."),process.exit(0));const t=await se({message:"Project description:",defaultValue:"A new game project",placeholder:"A new game project"});D(t)&&(F("Operation cancelled."),process.exit(0));const r=await se({message:"Package name:",defaultValue:tt(e),placeholder:tt(e),validate:s=>{if(s&&!ar(s))return"Invalid package name. The name can only include URL-friendly characters."}});D(r)&&(F("Operation cancelled."),process.exit(0));const i=A.basename(A.resolve()),n=await se({message:"Target directory:",defaultValue:r,placeholder:`${r} (If is equal to ".", the current directory (${i}) will be used)`});D(n)&&(F("Operation cancelled."),process.exit(0));let a;return I.existsSync(n)&&!nr(n)?(a=await X({message:"Overwrite existing files?",options:[{hint:"Delete all existing files and create a new project",label:"Delete all",value:N.Delete},{hint:"Overwrite existing conflicting files",label:"Overwrite",value:N.Overwrite},{hint:"Skip existing conflicting files",label:"Skip",value:N.Skip},{hint:"Ask for each file",label:"Ask",value:N.Ask},{hint:"Cancel operation",label:"Cancel",value:N.Cancel}],initialValue:N.Overwrite}),(D(a)||a===N.Cancel)&&(F("Operation cancelled."),process.exit(0))):a=void 0,{projectName:e,foltderName:n,description:t,packageName:r,overwrite:a}}const rt={_gitignore:".gitignore"};function it(e,t,r,i,n){return e=e.replace(/my-app-package-name/g,t),e=e.replace(/my-app-description/g,r),e=e.replace(/my-app-project-name/g,i),n&&(e=e.replace(/com\.my-app-project-name\.app/g,n)),e}function st(e,t,r,i,n){I.existsSync(e)&&I.writeFileSync(e,it(I.readFileSync(e,"utf-8"),t,r,i,n))}async function ur({rootFolder:e,overwrite:t,template:r,packageName:i,description:n,projectName:a,identifier:s}){const o=await de([{title:`Creating project in ${e}...`,task:async()=>{I.existsSync(e)||I.mkdirSync(e,{recursive:!0});const u=A.resolve(lt(import.meta.url),"../..",`${r}`),c=(w,f)=>{const h=A.join(e,rt[w]??w);f?I.writeFileSync(h,f):Re(A.join(u,w),h,t)},v=I.readdirSync(u).map(async w=>{const f=A.join(u,w),h=A.join(e,rt[w]??w);if(I.existsSync(h))switch(t){case N.Ask:if(I.statSync(h).isFile()){const g=await Je({message:`File ${h} already exists. Do you want to overwrite it?`,initialValue:!1});if(D(g)&&(F("Operation cancelled."),process.exit(0)),!g)return;I.rmSync(h,{force:!0})}else{const g=I.readdirSync(f);for(const E of g){const j=A.join(f,E),R=A.join(h,E);if(I.existsSync(R)){const S=await Je({message:`File ${R} already exists. Do you want to overwrite it?`,initialValue:!1});if(D(S)&&(F("Operation cancelled."),process.exit(0)),!S)continue;I.rmSync(R,{force:!0})}Re(j,R,t)}return}break;case N.Skip:return;case N.Overwrite:case N.Delete:et(f,h,t);break}switch(w){case"package.json":case"vite.config.ts":case"index.html":case"README.md":{c(w,it(I.readFileSync(f,"utf-8"),i,n,a));break}case".git":case"package-lock.json":break;default:c(w)}});await Promise.all(v),st(A.join(e,".vscode","launch.json"),i,n,a);const m=A.join(e,"src-tauri");if(I.existsSync(m))for(const w of["Cargo.toml","tauri.conf.json"])st(A.join(m,w),i,n,a,s);const p=A.join(e,"_github");return I.existsSync(p)&&I.renameSync(p,A.join(e,".github")),"Project created"}}]);D(o)&&(F("Operation cancelled."),process.exit(0))}const cr=process.cwd();async function lr(){let e,{description:t,overwrite:r,packageName:i,projectName:n,foltderName:a}=await or(),{UIFramework:s,gameType:o,narrativeLanguage:u,multidevice:c,identifier:v}=await sr({packageName:i});const m=A.join(cr,a);let p;switch(o){case z.VisualNovel:switch(s){case M.React:switch(u){case O.Typescript:c?p="template-react-vite-muijoy-tauri":p="template-react-vite-muijoy",e="src/content/labels/start.label.ts";break;case O.Ink:c?p="template-react-vite-muijoy-ink-tauri":p="template-react-vite-muijoy-ink",e="ink/start.ink";break;case O.Renpy:F("Error: There are no templates for this narrative language"),process.exit(0);default:F("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:F("Error: There are no templates for this game type and UI framework"),process.exit(0);default:F("Error: Unknown UI framework"),process.exit(0)}break;case z.TextStory:switch(s){case M.React:switch(u){case O.Typescript:c?p="template-story-react-vite-muijoy-tauri":p="template-story-react-vite-muijoy",e="src/labels/startLabel.ts";break;case O.Ink:c?p="template-story-react-vite-muijoy-ink-tauri":p="template-story-react-vite-muijoy-ink",e="src/ink/start.ink";break;case O.Renpy:F("Error: There are no templates for this narrative language"),process.exit(0);default:F("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:F("Error: There are no templates for this game type and UI framework"),process.exit(0);default:F("Error: Unknown UI framework"),process.exit(0)}break;case z.PointAndClick:switch(s){case M.React:switch(u){case O.Typescript:c?p="template-nqtr-react-vite-muijoy-tauri":p="template-nqtr-react-vite-muijoy",e="src/labels/startLabel.ts";break;case O.Ink:c?p="template-nqtr-react-vite-muijoy-ink-tauri":p="template-nqtr-react-vite-muijoy-ink",e="src/ink/variousActionsLabels.ink";break;case O.Renpy:F("Error: There are no templates for this narrative language"),process.exit(0);default:F("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:F("Error: There are no templates for this game type and UI framework"),process.exit(0);default:F("Error: Unknown UI framework"),process.exit(0)}break;case z.GameEngine:p="template-game-engine",e="src/index.ts";break;case z.Library:p="template-lib",e="src/index.ts";break;default:F("Error: Unknown game type"),process.exit(0)}await ur({rootFolder:m,template:p,packageName:i,description:t,projectName:n,overwrite:r,identifier:v});const w=Z.find(f=>f.type===o)?.canReplaceUI??!1;return{rootFolder:m,fileToOpen:e,canReplaceUI:w}}function pr(){console.info(`
|
|
56
56
|
\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2557
|
|
57
57
|
\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551
|
|
58
58
|
\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551
|
|
59
59
|
\u2588\u2588\u2554\u2550\u2550\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u255A\u2550\u2550\u2550\u2550\u255D\u255A\u2588\u2588\u2557 \u2588\u2588\u2554\u255D\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551
|
|
60
60
|
\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u255D \u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551
|
|
61
61
|
\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D
|
|
62
|
-
`)}function
|
|
62
|
+
`)}function hr(e){if(!e)return;const t=e.split(" ")[0].split("/");return{name:t[0],version:t[1]}}const fr=tr(process.argv.slice(2),{default:{help:!1},alias:{h:"help",t:"template"},string:["_"]}),nt=process.cwd(),dr=`Usage: create-pixi-vn [OPTION]... [DIRECTORY]
|
|
63
63
|
|
|
64
64
|
Create a new Pixi\u2019VN project.
|
|
65
65
|
With no arguments, start the CLI in interactive mode.
|
|
@@ -68,7 +68,9 @@ Options:
|
|
|
68
68
|
-t, --template NAME use a specific template
|
|
69
69
|
|
|
70
70
|
Available templates:
|
|
71
|
-
${
|
|
72
|
-
cd ${
|
|
73
|
-
yarn
|
|
74
|
-
|
|
71
|
+
${ge("basic-visual-novel react")}`;async function mr(){try{if(pr(),Ht(`Welcome to ${ge("Pixi\u2019VN")}! \u{1F3A8}\u2728`),fr.help){console.log(dr);return}const{rootFolder:e,fileToOpen:t,canReplaceUI:r}=await lr(),i=A.join(e,"package-lock.json");I.existsSync(i)&&I.rmSync(i);const n=hr(process.env.npm_config_user_agent),a=n?n.name:"npm",s=A.relative(nt,e);r&&(P.info("You will need to select a UI theme for your project."),await de([{title:"Installing shadcn globally...",task:async()=>{try{await Le(a),a==="yarn"?await K("yarn",["global","add","shadcn@latest"]):await K(a,["install","-g","shadcn@latest"])}catch{return"Could not install shadcn globally"}return"shadcn installed globally."}}]),P.step("Running ui:reinit..."),a==="yarn"?await K("yarn",["ui:reinit"],{cwd:e,stdio:"inherit"}):await K(a,["run","ui:reinit"],{cwd:e,stdio:"inherit"})),await rr({rootFolder:e}),await ir({rootFolder:e,fileToOpen:t});let o="To run the game:";switch(e!==nt&&(o+=`
|
|
72
|
+
cd ${s.includes(" ")?`"${s}"`:s}`),a){case"yarn":o+=`
|
|
73
|
+
yarn`,o+=`
|
|
74
|
+
yarn dev`;break;default:o+=`
|
|
75
|
+
${a} install`,o+=`
|
|
76
|
+
${a} run start`;break}P.message(o),zt("You're all set! \u{1F389} Now go build your game! \u{1F680}"),await ct("https://pixi-vn.com/start/templates"),console.log()}catch(e){console.error(e)}}mr().catch(e=>{console.error(e)});
|
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": "
|
|
4
|
+
"version": "2.0.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0",
|
|
7
7
|
"author": "DRincs-Productions",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"dist"
|
|
30
30
|
],
|
|
31
31
|
"scripts": {
|
|
32
|
-
"start": "node index.js",
|
|
32
|
+
"start": "npm run build && node index.js",
|
|
33
33
|
"dev": "unbuild --stub",
|
|
34
34
|
"build": "unbuild",
|
|
35
35
|
"typecheck": "tsc --noEmit",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@clack/prompts": "^1.0.0",
|
|
52
52
|
"@types/minimist": "^1.2.5",
|
|
53
|
+
"@types/node": "^25.9.1",
|
|
53
54
|
"@types/which": "^3.0.4",
|
|
54
55
|
"inquirer": "^13.2.2",
|
|
55
56
|
"kolorist": "^1.8.0",
|
|
@@ -58,6 +59,7 @@
|
|
|
58
59
|
},
|
|
59
60
|
"dependencies": {
|
|
60
61
|
"execa": "^9.6.1",
|
|
62
|
+
"open": "^10.1.0",
|
|
61
63
|
"which": "^6.0.1"
|
|
62
64
|
}
|
|
63
65
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AssetPackConfig } from "@assetpack/core";
|
|
2
|
+
import { pixiPipes } from "@assetpack/core/pixi";
|
|
3
|
+
|
|
4
|
+
const config: AssetPackConfig = {
|
|
5
|
+
entry: "./src/assets",
|
|
6
|
+
output: "./public/assets",
|
|
7
|
+
ignore: ["**/*.ts", "**/*.js", "**/*.gen.*"],
|
|
8
|
+
pipes: [
|
|
9
|
+
...pixiPipes({
|
|
10
|
+
manifest: {
|
|
11
|
+
output: "src/assets/manifest.gen.json",
|
|
12
|
+
createShortcuts: true,
|
|
13
|
+
},
|
|
14
|
+
}),
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default config;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"recommendations": [
|
|
3
|
+
"ms-vscode.vscode-typescript-next",
|
|
4
|
+
"anseki.vscode-color",
|
|
5
|
+
"pflannery.vscode-versionlens",
|
|
6
|
+
"biomejs.biome"
|
|
7
|
+
]
|
|
8
|
+
}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"configurations": [
|
|
4
|
+
{
|
|
5
|
+
"name": "Debug Game",
|
|
6
|
+
"request": "launch",
|
|
7
|
+
"type": "editor-browser",
|
|
8
|
+
"url": "http://localhost:5173",
|
|
9
|
+
"webRoot": "${workspaceFolder}",
|
|
10
|
+
"preLaunchTask": "Start Vite Dev Server",
|
|
11
|
+
"postDebugTask": "Stop Vite Dev Server"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "Debug Game Preview",
|
|
15
|
+
"request": "launch",
|
|
16
|
+
"type": "editor-browser",
|
|
17
|
+
"url": "http://localhost:4173",
|
|
18
|
+
"webRoot": "${workspaceFolder}",
|
|
19
|
+
"preLaunchTask": "Start Vite Preview Server",
|
|
20
|
+
"postDebugTask": "Stop Vite Preview Server"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|