feat(anime): auto-open Jimaku for Anime Browser playback

- Add hot-reloadable `anime.autoOpenJimaku` setting
- Pause and resume playback around subtitle selection
- Brand Anime Browser surfaces with the SubMiner logo
This commit is contained in:
2026-09-02 23:04:39 -07:00
parent 18beac13f4
commit 516fadd530
27 changed files with 403 additions and 11 deletions
+2
View File
@@ -6,6 +6,7 @@ import { fileURLToPath } from 'node:url';
const scriptDir = path.dirname(fileURLToPath(import.meta.url));
const repoRoot = path.resolve(scriptDir, '..');
const assetsSourceDir = path.join(repoRoot, 'assets');
const rendererSourceDir = path.join(repoRoot, 'src', 'renderer');
const rendererOutputDir = path.join(repoRoot, 'dist', 'renderer');
const settingsSourceDir = path.join(repoRoot, 'src', 'settings');
@@ -58,6 +59,7 @@ function copyAnimeUiAssets() {
'detail.css',
'panels.css',
]);
copyFile(path.join(assetsSourceDir, 'SubMiner.png'), path.join(animeUiOutputDir, 'SubMiner.png'));
}
function fallbackToMacosSource() {
+4
View File
@@ -33,6 +33,10 @@ test('anime UI stylesheet files exist and are all staged', () => {
source,
/copyAssets\(animeUiSourceDir, animeUiOutputDir, 'animeui', \[\s*'style\.css',\s*'detail\.css',\s*'panels\.css',?\s*\]\)/,
);
assert.match(
source,
/copyFile\(\s*path\.join\(assetsSourceDir, 'SubMiner\.png'\),\s*path\.join\(animeUiOutputDir, 'SubMiner\.png'\),?\s*\)/,
);
});
// Regression guard for #213: an untargeted swiftc stamps the build machine's OS