create-pixi-vn 2.0.12 → 2.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/package.json +1 -1
  2. package/template-react-vite-muijoy-ink/.vscode/extensions.json +2 -1
  3. package/template-react-vite-muijoy-ink/.vscode/settings.json +6 -1
  4. package/template-react-vite-muijoy-ink/_gitignore +1 -0
  5. package/template-react-vite-muijoy-ink/ink/second_part.ink +571 -0
  6. package/template-react-vite-muijoy-ink/ink/start.ink +214 -0
  7. package/template-react-vite-muijoy-ink/package-lock.json +230 -4
  8. package/template-react-vite-muijoy-ink/package.json +3 -1
  9. package/template-react-vite-muijoy-ink/src/App.tsx +25 -25
  10. package/template-react-vite-muijoy-ink/src/assets/index.ts +2 -4
  11. package/template-react-vite-muijoy-ink/src/assets/ink-manifest.gen.json +4 -1
  12. package/template-react-vite-muijoy-ink/src/content/ink/hashtag-commands.ts +38 -0
  13. package/template-react-vite-muijoy-ink/src/content/ink/text-replaces.ts +19 -0
  14. package/template-react-vite-muijoy-ink/src/lib/hooks/ink-hooks.tsx +12 -0
  15. package/template-react-vite-muijoy-ink/src/lib/i18n.ts +22 -1
  16. package/template-react-vite-muijoy-ink/src/pixi-vn-keys.gen.d.ts +2 -0
  17. package/template-react-vite-muijoy-ink/src/routes/__root.tsx +4 -0
  18. package/template-react-vite-muijoy-ink/vite.config.ts +6 -0
  19. package/template-react-vite-muijoy-ink-tauri/.assetpack.ts +9 -0
  20. package/template-react-vite-muijoy-ink-tauri/.vscode/extensions.json +5 -1
  21. package/template-react-vite-muijoy-ink-tauri/.vscode/launch.json +11 -0
  22. package/template-react-vite-muijoy-ink-tauri/.vscode/settings.json +6 -1
  23. package/template-react-vite-muijoy-ink-tauri/.vscode/tasks.json +47 -0
  24. package/template-react-vite-muijoy-ink-tauri/README.md +3 -3
  25. package/template-react-vite-muijoy-ink-tauri/_github/workflows/desktop.yml +188 -0
  26. package/template-react-vite-muijoy-ink-tauri/_github/workflows/mobile.yml +270 -0
  27. package/template-react-vite-muijoy-ink-tauri/_gitignore +11 -0
  28. package/template-react-vite-muijoy-ink-tauri/ink/second_part.ink +571 -0
  29. package/template-react-vite-muijoy-ink-tauri/ink/start.ink +214 -0
  30. package/template-react-vite-muijoy-ink-tauri/package-lock.json +480 -4
  31. package/template-react-vite-muijoy-ink-tauri/package.json +13 -2
  32. package/template-react-vite-muijoy-ink-tauri/src/App.tsx +25 -25
  33. package/template-react-vite-muijoy-ink-tauri/src/assets/index.ts +2 -4
  34. package/template-react-vite-muijoy-ink-tauri/src/assets/ink-manifest.gen.json +4 -1
  35. package/template-react-vite-muijoy-ink-tauri/src/components/menus/main-menu.tsx +16 -1
  36. package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/quick-menus.tsx +17 -1
  37. package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/system-controls.tsx +11 -1
  38. package/template-react-vite-muijoy-ink-tauri/src/content/ink/hashtag-commands.ts +55 -0
  39. package/template-react-vite-muijoy-ink-tauri/src/content/ink/text-replaces.ts +19 -0
  40. package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/ink-hooks.tsx +12 -0
  41. package/template-react-vite-muijoy-ink-tauri/src/lib/hooks/quit-hooks.ts +24 -0
  42. package/template-react-vite-muijoy-ink-tauri/src/lib/i18n.ts +22 -1
  43. package/template-react-vite-muijoy-ink-tauri/src/lib/query/settings-query.ts +7 -1
  44. package/template-react-vite-muijoy-ink-tauri/src/lib/steam.ts +143 -0
  45. package/template-react-vite-muijoy-ink-tauri/src/pixi-vn-keys.gen.d.ts +2 -0
  46. package/template-react-vite-muijoy-ink-tauri/src/routes/__root.tsx +4 -0
  47. package/template-react-vite-muijoy-ink-tauri/src-tauri/Cargo.toml +50 -0
  48. package/template-react-vite-muijoy-ink-tauri/src-tauri/build.rs +46 -0
  49. package/template-react-vite-muijoy-ink-tauri/src-tauri/capabilities/default.json +21 -0
  50. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/128x128.png +0 -0
  51. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/128x128@2x.png +0 -0
  52. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/32x32.png +0 -0
  53. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square107x107Logo.png +0 -0
  54. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square142x142Logo.png +0 -0
  55. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square150x150Logo.png +0 -0
  56. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square284x284Logo.png +0 -0
  57. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square30x30Logo.png +0 -0
  58. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square310x310Logo.png +0 -0
  59. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square44x44Logo.png +0 -0
  60. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square71x71Logo.png +0 -0
  61. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/Square89x89Logo.png +0 -0
  62. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/StoreLogo.png +0 -0
  63. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/icon.icns +0 -0
  64. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/icon.ico +0 -0
  65. package/template-react-vite-muijoy-ink-tauri/src-tauri/icons/icon.png +0 -0
  66. package/template-react-vite-muijoy-ink-tauri/src-tauri/src/lib.rs +64 -0
  67. package/template-react-vite-muijoy-ink-tauri/src-tauri/src/main.rs +6 -0
  68. package/template-react-vite-muijoy-ink-tauri/src-tauri/src/steam.rs +238 -0
  69. package/template-react-vite-muijoy-ink-tauri/src-tauri/tauri.conf.json +50 -0
  70. package/template-react-vite-muijoy-ink-tauri/vite.config.ts +30 -0
  71. package/template-react-vite-muijoy-tauri/.assetpack.ts +9 -0
  72. package/template-react-vite-muijoy-tauri/.vscode/extensions.json +4 -1
  73. package/template-react-vite-muijoy-tauri/.vscode/launch.json +11 -0
  74. package/template-react-vite-muijoy-tauri/.vscode/tasks.json +47 -0
  75. package/template-react-vite-muijoy-tauri/README.md +3 -3
  76. package/template-react-vite-muijoy-tauri/_github/workflows/desktop.yml +188 -0
  77. package/template-react-vite-muijoy-tauri/_github/workflows/mobile.yml +270 -0
  78. package/template-react-vite-muijoy-tauri/_gitignore +10 -0
  79. package/template-react-vite-muijoy-tauri/package-lock.json +250 -0
  80. package/template-react-vite-muijoy-tauri/package.json +10 -1
  81. package/template-react-vite-muijoy-tauri/src/components/menus/main-menu.tsx +16 -1
  82. package/template-react-vite-muijoy-tauri/src/components/menus/settings/quick-menus.tsx +17 -1
  83. package/template-react-vite-muijoy-tauri/src/components/menus/settings/system-controls.tsx +11 -1
  84. package/template-react-vite-muijoy-tauri/src/lib/hooks/quit-hooks.ts +24 -0
  85. package/template-react-vite-muijoy-tauri/src/lib/query/settings-query.ts +7 -1
  86. package/template-react-vite-muijoy-tauri/src/lib/steam.ts +143 -0
  87. package/template-react-vite-muijoy-tauri/src-tauri/Cargo.toml +50 -0
  88. package/template-react-vite-muijoy-tauri/src-tauri/build.rs +46 -0
  89. package/template-react-vite-muijoy-tauri/src-tauri/capabilities/default.json +21 -0
  90. package/template-react-vite-muijoy-tauri/src-tauri/icons/128x128.png +0 -0
  91. package/template-react-vite-muijoy-tauri/src-tauri/icons/128x128@2x.png +0 -0
  92. package/template-react-vite-muijoy-tauri/src-tauri/icons/32x32.png +0 -0
  93. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square107x107Logo.png +0 -0
  94. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square142x142Logo.png +0 -0
  95. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square150x150Logo.png +0 -0
  96. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square284x284Logo.png +0 -0
  97. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square30x30Logo.png +0 -0
  98. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square310x310Logo.png +0 -0
  99. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square44x44Logo.png +0 -0
  100. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square71x71Logo.png +0 -0
  101. package/template-react-vite-muijoy-tauri/src-tauri/icons/Square89x89Logo.png +0 -0
  102. package/template-react-vite-muijoy-tauri/src-tauri/icons/StoreLogo.png +0 -0
  103. package/template-react-vite-muijoy-tauri/src-tauri/icons/icon.icns +0 -0
  104. package/template-react-vite-muijoy-tauri/src-tauri/icons/icon.ico +0 -0
  105. package/template-react-vite-muijoy-tauri/src-tauri/icons/icon.png +0 -0
  106. package/template-react-vite-muijoy-tauri/src-tauri/src/lib.rs +64 -0
  107. package/template-react-vite-muijoy-tauri/src-tauri/src/main.rs +6 -0
  108. package/template-react-vite-muijoy-tauri/src-tauri/src/steam.rs +238 -0
  109. package/template-react-vite-muijoy-tauri/src-tauri/tauri.conf.json +50 -0
  110. package/template-react-vite-muijoy-tauri/vite.config.ts +24 -0
  111. package/template-react-vite-muijoy-ink/src/content/labels/second.label.ts +0 -1207
  112. package/template-react-vite-muijoy-ink/src/content/labels/start.label.ts +0 -566
  113. package/template-react-vite-muijoy-ink-tauri/src/content/labels/second.label.ts +0 -1207
  114. package/template-react-vite-muijoy-ink-tauri/src/content/labels/start.label.ts +0 -566
@@ -0,0 +1,270 @@
1
+ name: 'Build Mobile App (Debug)'
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ # ── Create the release exactly once before the builds start ──────────────────
11
+ create-release:
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: write
15
+ outputs:
16
+ release_tag: ${{ github.ref_name }}
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: create release
21
+ run: |
22
+ gh release view "${{ github.ref_name }}" 2>/dev/null || \
23
+ gh release create "${{ github.ref_name }}" \
24
+ --title "App v$(jq -r '.version' src-tauri/tauri.conf.json)" \
25
+ --notes "See the assets to download this version and install." \
26
+ 2>/dev/null || \
27
+ gh release view "${{ github.ref_name }}" > /dev/null
28
+ env:
29
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30
+
31
+ # ---------------------------------------------------------------------------
32
+ # Android debug — unsigned APK uploaded to the release
33
+ # ---------------------------------------------------------------------------
34
+ build-android:
35
+ needs: create-release
36
+ runs-on: ubuntu-22.04
37
+ permissions:
38
+ contents: write
39
+ steps:
40
+ - uses: actions/checkout@v4
41
+
42
+ - name: setup node
43
+ uses: actions/setup-node@v4
44
+ with:
45
+ node-version: lts/*
46
+
47
+ - name: setup Java 17
48
+ uses: actions/setup-java@v4
49
+ with:
50
+ distribution: 'zulu'
51
+ java-version: '17'
52
+
53
+ - name: setup Android SDK
54
+ uses: android-actions/setup-android@v3
55
+
56
+ - name: install Android NDK r27
57
+ run: sdkmanager "ndk;27.0.12077973"
58
+
59
+ - name: install Rust stable + Android targets
60
+ uses: dtolnay/rust-toolchain@stable
61
+ with:
62
+ targets: aarch64-linux-android,armv7-linux-androideabi,i686-linux-android,x86_64-linux-android
63
+
64
+ - name: install Linux dependencies
65
+ run: |
66
+ sudo apt-get update
67
+ sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
68
+
69
+ - name: install frontend dependencies
70
+ run: npm i
71
+
72
+ - name: init Tauri Android project
73
+ run: npx tauri android init
74
+ env:
75
+ NDK_HOME: ${{ env.ANDROID_HOME }}/ndk/27.0.12077973
76
+
77
+ - name: patch Android manifest (landscape + fullscreen)
78
+ run: |
79
+ python3 << 'PYEOF'
80
+ import glob, re
81
+
82
+ manifest = glob.glob('src-tauri/gen/android/app/src/main/AndroidManifest.xml')[0]
83
+ with open(manifest) as f:
84
+ content = f.read()
85
+ # Remove any pre-existing screenOrientation to avoid duplicates
86
+ content = re.sub(r'\s+android:screenOrientation="[^"]*"', '', content)
87
+ # Insert screenOrientation directly on the first <activity tag (robust, independent
88
+ # of which other attributes Tauri generates)
89
+ patched, n = re.subn(
90
+ r'(<activity\b)',
91
+ r'\1\n android:screenOrientation="sensorLandscape"',
92
+ content,
93
+ count=1
94
+ )
95
+ if n == 0:
96
+ print('WARNING: <activity> tag not found in manifest — orientation NOT patched')
97
+ else:
98
+ content = patched
99
+ print(f'Patched {manifest} (screenOrientation=sensorLandscape)')
100
+ with open(manifest, 'w') as f:
101
+ f.write(content)
102
+
103
+ # Tauri may generate styles.xml or themes.xml depending on the version
104
+ styles_candidates = (
105
+ glob.glob('src-tauri/gen/android/app/src/main/res/values/styles.xml') +
106
+ glob.glob('src-tauri/gen/android/app/src/main/res/values/themes.xml')
107
+ )
108
+ if not styles_candidates:
109
+ print('Warning: no styles.xml/themes.xml found, skipping fullscreen patch')
110
+ else:
111
+ styles = styles_candidates[0]
112
+ with open(styles) as f:
113
+ content = f.read()
114
+ # Hide status bar (fullscreen)
115
+ content = content.replace(
116
+ '</style>',
117
+ ' <item name="android:windowFullscreen">true</item>\n </style>',
118
+ 1
119
+ )
120
+ with open(styles, 'w') as f:
121
+ f.write(content)
122
+ print(f'Patched {styles}')
123
+ PYEOF
124
+
125
+ - name: build Android app
126
+ run: npx tauri android build --debug
127
+ env:
128
+ NDK_HOME: ${{ env.ANDROID_HOME }}/ndk/27.0.12077973
129
+
130
+ - name: upload APK to release
131
+ env:
132
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
133
+ TAG: ${{ needs.create-release.outputs.release_tag }}
134
+ run: |
135
+ find src-tauri/gen/android -name "*.apk" | while IFS= read -r f; do
136
+ gh release upload "$TAG" "$f" --clobber
137
+ done
138
+
139
+ # ---------------------------------------------------------------------------
140
+ # iOS debug — unsigned build uploaded to the release (best-effort)
141
+ # ---------------------------------------------------------------------------
142
+ build-ios:
143
+ needs: create-release
144
+ runs-on: macos-latest
145
+ permissions:
146
+ contents: write
147
+ steps:
148
+ - uses: actions/checkout@v4
149
+
150
+ - name: setup node
151
+ uses: actions/setup-node@v4
152
+ with:
153
+ node-version: lts/*
154
+
155
+ - name: install Rust stable + iOS targets
156
+ uses: dtolnay/rust-toolchain@stable
157
+ with:
158
+ targets: aarch64-apple-ios,aarch64-apple-ios-sim,x86_64-apple-ios
159
+
160
+ - name: install frontend dependencies
161
+ run: npm i
162
+
163
+ - name: init Tauri iOS project
164
+ run: npx tauri ios init
165
+
166
+ - name: disable code signing in Xcode project
167
+ run: |
168
+ python3 << 'PYEOF'
169
+ import glob, re
170
+ pbxproj = glob.glob('src-tauri/gen/apple/*.xcodeproj/project.pbxproj')[0]
171
+ with open(pbxproj) as f:
172
+ content = f.read()
173
+ sign_off = (
174
+ '\n\t\t\t\tCODE_SIGN_IDENTITY = "";'
175
+ '\n\t\t\t\tCODE_SIGNING_REQUIRED = NO;'
176
+ '\n\t\t\t\tCODE_SIGNING_ALLOWED = NO;'
177
+ '\n\t\t\t\tDEVELOPMENT_TEAM = "";'
178
+ )
179
+ content = re.sub(r'(buildSettings = \{)', r'\1' + sign_off, content)
180
+ with open(pbxproj, 'w') as f:
181
+ f.write(content)
182
+ print(f'Patched {pbxproj}')
183
+ PYEOF
184
+
185
+ - name: patch iOS Info.plist (landscape + hide status bar)
186
+ run: |
187
+ python3 << 'PYEOF'
188
+ import glob, re
189
+
190
+ plists = glob.glob('src-tauri/gen/apple/*/Info.plist')
191
+ if not plists:
192
+ plists = glob.glob('src-tauri/gen/apple/*/*/Info.plist')
193
+ for plist in plists:
194
+ with open(plist) as f:
195
+ content = f.read()
196
+
197
+ # Remove any existing orientation / status bar keys so we can replace them
198
+ for key in [
199
+ 'UISupportedInterfaceOrientations',
200
+ 'UISupportedInterfaceOrientations~ipad',
201
+ 'UIStatusBarHidden',
202
+ 'UIViewControllerBasedStatusBarAppearance',
203
+ ]:
204
+ content = re.sub(
205
+ rf'\s*<key>{re.escape(key)}</key>\s*(<(true|false)/>|<array>.*?</array>)',
206
+ '', content, flags=re.DOTALL
207
+ )
208
+
209
+ additions = (
210
+ '\t<key>UIStatusBarHidden</key>\n'
211
+ '\t<true/>\n'
212
+ '\t<key>UIViewControllerBasedStatusBarAppearance</key>\n'
213
+ '\t<false/>\n'
214
+ '\t<key>UISupportedInterfaceOrientations</key>\n'
215
+ '\t<array>\n'
216
+ '\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n'
217
+ '\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n'
218
+ '\t</array>\n'
219
+ '\t<key>UISupportedInterfaceOrientations~ipad</key>\n'
220
+ '\t<array>\n'
221
+ '\t\t<string>UIInterfaceOrientationLandscapeLeft</string>\n'
222
+ '\t\t<string>UIInterfaceOrientationLandscapeRight</string>\n'
223
+ '\t</array>\n'
224
+ )
225
+ new_content, n = re.subn(
226
+ r'</dict>\s*</plist>\s*$',
227
+ additions + '</dict>\n</plist>\n',
228
+ content.rstrip(),
229
+ flags=re.DOTALL
230
+ )
231
+ if n == 0:
232
+ print(f'WARNING: </dict></plist> not found in {plist} — orientation NOT patched')
233
+ else:
234
+ content = new_content
235
+ print(f'Patched {plist}')
236
+ with open(plist, 'w') as f:
237
+ f.write(content)
238
+ PYEOF
239
+
240
+ - name: build iOS app
241
+ run: npx tauri ios build --debug
242
+ # Export step fails without a signing team; archive still succeeds.
243
+ # We extract the .app from the .xcarchive below instead.
244
+ continue-on-error: true
245
+
246
+ - name: package and upload iOS app from archive
247
+ env:
248
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
249
+ TAG: ${{ needs.create-release.outputs.release_tag }}
250
+ run: |
251
+ BIN_NAME=$(grep '^name = ' src-tauri/Cargo.toml | head -1 | cut -d'"' -f2)
252
+ VERSION=$(jq -r '.version' src-tauri/tauri.conf.json)
253
+
254
+ ARCHIVE=$(find src-tauri/gen/apple/build -name "*.xcarchive" 2>/dev/null | head -1)
255
+ if [ -z "$ARCHIVE" ]; then
256
+ echo "No .xcarchive found — build may have failed before archiving"
257
+ exit 1
258
+ fi
259
+
260
+ APP=$(find "$ARCHIVE/Products/Applications" -name "*.app" | head -1)
261
+ if [ -z "$APP" ]; then
262
+ echo "No .app found inside archive $ARCHIVE"
263
+ exit 1
264
+ fi
265
+
266
+ mkdir Payload
267
+ cp -r "$APP" Payload/
268
+ IPA="${BIN_NAME}_${VERSION}_ios-debug.ipa"
269
+ zip -r "$IPA" Payload/
270
+ gh release upload "$TAG" "$IPA" --clobber
@@ -13,6 +13,7 @@ dist-ssr
13
13
  *.local
14
14
  .assetpack
15
15
  public/assets
16
+ public/ink-json
16
17
 
17
18
  # Editor directories and files
18
19
  .idea
@@ -22,3 +23,13 @@ public/assets
22
23
  *.njsproj
23
24
  *.sln
24
25
  *.sw?
26
+
27
+ # Tauri
28
+ *Cargo.lock
29
+ src-tauri/target
30
+ src-tauri/gen
31
+
32
+ # Steam redistributable libraries (copied automatically by build.rs)
33
+ src-tauri/steam_api64.dll
34
+ src-tauri/libsteam_api.so
35
+ src-tauri/libsteam_api.dylib