Files
SubMiner/docs/architecture/domains.md
T
sudacode c02edc90cc docs: audit and refresh user-facing and internal docs
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/.
2026-05-23 21:21:16 -07:00

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 as imm_videos, imm_media_art, and imm_youtube_videos for 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>.ts entrypoint; only touch src/types.ts for compatibility exports.
  • User-facing docs: docs-site/
  • Internal process/docs: docs/