mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
Add dev Make targets and tune macOS invisible subtitle spacing
This commit is contained in:
20
Makefile
20
Makefile
@@ -1,4 +1,4 @@
|
|||||||
.PHONY: help deps build install build-linux build-macos build-macos-unsigned install-linux install-macos install-plugin uninstall uninstall-linux uninstall-macos print-dirs pretty ensure-pnpm generate-config generate-example-config docs-dev docs docs-preview
|
.PHONY: help deps build install build-linux build-macos build-macos-unsigned install-linux install-macos install-plugin uninstall uninstall-linux uninstall-macos print-dirs pretty ensure-pnpm generate-config generate-example-config docs-dev docs docs-preview dev-start dev-start-macos dev-toggle dev-stop
|
||||||
|
|
||||||
APP_NAME := subminer
|
APP_NAME := subminer
|
||||||
THEME_FILE := subminer.rasi
|
THEME_FILE := subminer.rasi
|
||||||
@@ -48,6 +48,10 @@ help:
|
|||||||
" build-linux Build Linux AppImage" \
|
" build-linux Build Linux AppImage" \
|
||||||
" build-macos Build macOS DMG/ZIP (signed if configured)" \
|
" build-macos Build macOS DMG/ZIP (signed if configured)" \
|
||||||
" build-macos-unsigned Build macOS DMG/ZIP without signing/notarization" \
|
" build-macos-unsigned Build macOS DMG/ZIP without signing/notarization" \
|
||||||
|
" dev-start Build and launch local Electron app" \
|
||||||
|
" dev-start-macos Build and launch local Electron app with macOS tracker backend" \
|
||||||
|
" dev-toggle Toggle overlay in a running local Electron app" \
|
||||||
|
" dev-stop Stop a running local Electron app" \
|
||||||
" docs-dev Run VitePress docs dev server" \
|
" docs-dev Run VitePress docs dev server" \
|
||||||
" docs Build VitePress static docs" \
|
" docs Build VitePress static docs" \
|
||||||
" docs-preview Preview built VitePress docs" \
|
" docs-preview Preview built VitePress docs" \
|
||||||
@@ -143,6 +147,20 @@ docs: ensure-pnpm
|
|||||||
docs-preview: ensure-pnpm
|
docs-preview: ensure-pnpm
|
||||||
@pnpm run docs:preview
|
@pnpm run docs:preview
|
||||||
|
|
||||||
|
dev-start: ensure-pnpm
|
||||||
|
@pnpm run build
|
||||||
|
@pnpm exec electron . --start
|
||||||
|
|
||||||
|
dev-start-macos: ensure-pnpm
|
||||||
|
@pnpm run build
|
||||||
|
@pnpm exec electron . --start --backend macos
|
||||||
|
|
||||||
|
dev-toggle: ensure-pnpm
|
||||||
|
@pnpm exec electron . --toggle
|
||||||
|
|
||||||
|
dev-stop: ensure-pnpm
|
||||||
|
@pnpm exec electron . --stop
|
||||||
|
|
||||||
|
|
||||||
install-linux:
|
install-linux:
|
||||||
@printf '%s\n' "[INFO] Installing Linux wrapper/theme artifacts"
|
@printf '%s\n' "[INFO] Installing Linux wrapper/theme artifacts"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-11 15:45'
|
created_date: '2026-02-11 15:45'
|
||||||
updated_date: '2026-02-11 16:28'
|
updated_date: '2026-02-11 16:36'
|
||||||
labels:
|
labels:
|
||||||
- bug
|
- bug
|
||||||
- macos
|
- macos
|
||||||
@@ -41,4 +41,5 @@ Follow-up in progress after packaged app runtime showed fullscreen fallback beha
|
|||||||
- Added throttled tracker logging for helper execution failures to expose runtime errors without log spam.
|
- Added throttled tracker logging for helper execution failures to expose runtime errors without log spam.
|
||||||
- Updated Electron builder `extraResources` to ship `dist/scripts/get-mpv-window-macos` outside asar at `resources/scripts/get-mpv-window-macos`.
|
- Updated Electron builder `extraResources` to ship `dist/scripts/get-mpv-window-macos` outside asar at `resources/scripts/get-mpv-window-macos`.
|
||||||
- Added macOS-only invisible subtitle vertical nudge (`+5px`) in renderer layout to align interactive subtitles with mpv glyph baseline after bounds fix.
|
- Added macOS-only invisible subtitle vertical nudge (`+5px`) in renderer layout to align interactive subtitles with mpv glyph baseline after bounds fix.
|
||||||
|
- Increased macOS-only invisible subtitle line-height for multi-line text to improve separation as line count grows.
|
||||||
<!-- SECTION:NOTES:END -->
|
<!-- SECTION:NOTES:END -->
|
||||||
|
|||||||
41
backlog/tasks/task-18 - Add-remote-mac-mini-build-script.md
Normal file
41
backlog/tasks/task-18 - Add-remote-mac-mini-build-script.md
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
id: TASK-18
|
||||||
|
title: Add remote mac mini build script
|
||||||
|
status: Done
|
||||||
|
assignee:
|
||||||
|
- codex
|
||||||
|
created_date: '2026-02-11 16:48'
|
||||||
|
updated_date: '2026-02-11 16:48'
|
||||||
|
labels:
|
||||||
|
- build
|
||||||
|
- macos
|
||||||
|
- devex
|
||||||
|
dependencies: []
|
||||||
|
references:
|
||||||
|
- scripts/build-external.sh
|
||||||
|
priority: medium
|
||||||
|
---
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||||
|
Add a script that offloads macOS package builds to a remote Mac mini over SSH, then syncs release artifacts back to the local workspace.
|
||||||
|
<!-- SECTION:DESCRIPTION:END -->
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
<!-- AC:BEGIN -->
|
||||||
|
- [x] #1 Script supports remote host and path configuration.
|
||||||
|
- [x] #2 Script supports signed and unsigned macOS build modes.
|
||||||
|
- [x] #3 Script syncs project sources to remote and copies release artifacts back locally.
|
||||||
|
<!-- AC:END -->
|
||||||
|
|
||||||
|
## Implementation Notes
|
||||||
|
|
||||||
|
<!-- SECTION:NOTES:BEGIN -->
|
||||||
|
Added `scripts/build-external.sh` with:
|
||||||
|
- Defaults for host alias (`mac-mini`) and remote path (`~/build/SubMiner`)
|
||||||
|
- Argument flags: `--host`, `--remote-path`, `--signed`, `--unsigned`, `--skip-sync`, `--sync-only`
|
||||||
|
- Rsync-based upload excluding heavyweight build artifacts and local dependencies
|
||||||
|
- Remote build execution (`pnpm run build:mac` or `pnpm run build:mac:unsigned`)
|
||||||
|
- Artifact sync back into local `release/`
|
||||||
|
<!-- SECTION:NOTES:END -->
|
||||||
@@ -2,6 +2,9 @@ import type { MpvSubtitleRenderMetrics, SubtitlePosition } from "../types";
|
|||||||
import type { ModalStateReader, RendererContext } from "./context";
|
import type { ModalStateReader, RendererContext } from "./context";
|
||||||
|
|
||||||
const INVISIBLE_MACOS_VERTICAL_NUDGE_PX = 5;
|
const INVISIBLE_MACOS_VERTICAL_NUDGE_PX = 5;
|
||||||
|
const INVISIBLE_MACOS_LINE_HEIGHT_SINGLE = "0.92";
|
||||||
|
const INVISIBLE_MACOS_LINE_HEIGHT_MULTI = "1.2";
|
||||||
|
const INVISIBLE_MACOS_LINE_HEIGHT_MULTI_DENSE = "1.3";
|
||||||
|
|
||||||
function clampYPercent(yPercent: number): number {
|
function clampYPercent(yPercent: number): number {
|
||||||
return Math.max(2, Math.min(80, yPercent));
|
return Math.max(2, Math.min(80, yPercent));
|
||||||
@@ -297,10 +300,10 @@ export function createPositioningController(
|
|||||||
"line-height",
|
"line-height",
|
||||||
ctx.platform.isMacOSPlatform
|
ctx.platform.isMacOSPlatform
|
||||||
? lineCount >= 3
|
? lineCount >= 3
|
||||||
? "1.18"
|
? INVISIBLE_MACOS_LINE_HEIGHT_MULTI_DENSE
|
||||||
: multiline
|
: multiline
|
||||||
? "1.08"
|
? INVISIBLE_MACOS_LINE_HEIGHT_MULTI
|
||||||
: "0.86"
|
: INVISIBLE_MACOS_LINE_HEIGHT_SINGLE
|
||||||
: "normal",
|
: "normal",
|
||||||
ctx.platform.isMacOSPlatform ? "important" : "",
|
ctx.platform.isMacOSPlatform ? "important" : "",
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user