mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-05-26 00:55:16 -07:00
c02edc90cc
Cross-check every config key, shortcut, default, and command against the current source and fix the drift (mpv.socketPath, auto_start_overlay default, AniSkip TAB key, JLPT N4 color, secondary-sub font/defaults, secondary-sub language behavior, modular mpv plugin layout, and more). Add plain-language intros and first-use definitions across onboarding and integration pages so non-technical readers can follow along. Internal docs/: fix stale module paths in architecture/domains.md, add missing contract entry points and catalog rows, and bump verified dates. Remove the obsolete docs/plans/ directory (its only plan shipped in 0.15.0) and reframe planning.md so plans live with the work, not in docs/.
2.4 KiB
2.4 KiB
Domain Ownership
Status: active Last verified: 2026-05-23 Owner: Kyle Yasuda Read when: you need to find the owner module for a behavior or test surface
Runtime Domains
- Desktop app runtime:
src/main.ts,src/main/,src/core/services/ - Overlay renderer:
src/renderer/ - Launcher CLI:
launcher/ - mpv plugin:
plugin/subminer/
Product / Integration Domains
- Config system:
src/config/ - Overlay/window state:
src/core/services/overlay-*,src/main/overlay-*.ts - MPV runtime and protocol:
src/core/services/mpv*.ts - Subtitle/token pipeline:
src/core/services/subtitle-*.ts,src/core/services/tokenizer*,src/core/services/tokenizer/,src/subsync/ - Anki workflow:
src/anki-integration/,src/core/services/anki-jimaku*.ts - Immersion tracking:
src/core/services/immersion-tracker/Includes stats storage/query schema such asimm_videos,imm_media_art, andimm_youtube_videosfor per-video and YouTube-specific library metadata. - AniList tracking + character dictionary:
src/core/services/anilist/,src/main/runtime/composers/anilist-*,src/main/character-dictionary-runtime.ts,src/main/character-dictionary-runtime/ - Jellyfin integration:
src/core/services/jellyfin*.ts,src/main/runtime/composers/jellyfin-* - Window trackers:
src/window-trackers/ - Stats app:
stats/ - Public docs site:
docs-site/
Shared Contract Entry Points
- Config + app-state contracts:
src/types/config.ts - Subtitle/token/media annotation contracts:
src/types/subtitle.ts - Runtime/window/controller/Electron bridge contracts:
src/types/runtime.ts - Anki-specific contracts:
src/types/anki.ts - External integration contracts:
src/types/integrations.ts - Runtime-option contracts:
src/types/runtime-options.ts - Settings UI contracts:
src/types/settings.ts - Session-binding contracts:
src/types/session-bindings.ts - Compatibility-only barrel:
src/types.ts
Ownership Heuristics
- Runtime wiring or dependency setup: start in
src/main/ - Business logic or service behavior: start in
src/core/services/ - UI interaction or overlay DOM behavior: start in
src/renderer/ - Command parsing or mpv launch flow: start in
launcher/ - Shared contract changes: add or edit the narrowest
src/types/<domain>.tsentrypoint; only touchsrc/types.tsfor compatibility exports. - User-facing docs:
docs-site/ - Internal process/docs:
docs/