How kawaakar1/noveltl works
NovelTL captures dialogue from a running visual novel, translates it, and displays it in an overlay; it also provides a game library, setup, Japanese-learning tools, and app controls. The graph combines explicit README capabilities with the sampled controller, UI, and translation code. Some subsystems are represented at their exact source paths but were not sampled, so their internal links are shown only where documented or directly evidenced.
Main entry points: controller.rs Session controller · pipeline.rs Translation pipeline · mod.rs Application UI · translators.rs Translation engines
Components 27
Capture and overlay
- Session controller
noveltl-rs/noveltl/src/controller.rs - LunaHook source
noveltl-rs/noveltl/src/lunahost.rs - Screen OCR
noveltl-rs/noveltl/src/ocr.rs - Clipboard source
noveltl-rs/noveltl/src/clipboard.rs - Translation overlay
noveltl-rs/noveltl/src/overlay.rs
Translation core
- Translation pipeline
noveltl-rs/noveltl-core/src/pipeline.rs - Text cleanup
noveltl-rs/noveltl-core/src/cleaner.rs - Language detection
noveltl-rs/noveltl-core/src/langdetect.rs - Translation engines
noveltl-rs/noveltl-core/src/translators.rs - Translation cache
noveltl-rs/noveltl-core/src/cache.rs - Network settings
noveltl-rs/noveltl-core/src/net.rs
Library and learning
- Game library
noveltl-rs/noveltl/src/ui/main_window.rs - Game profiles
noveltl-rs/noveltl-core/src/profiles.rs - VNDB artwork
noveltl-rs/noveltl-core/src/vndb.rs - Glossary
noveltl-rs/noveltl/src/ui/glossary.rs - Japanese dictionary
noveltl-rs/noveltl-core/src/dict.rs - Anki export
noveltl-rs/noveltl-core/src/anki.rs
App interface
- Application UI
noveltl-rs/noveltl/src/ui/mod.rs - Settings window
noveltl-rs/noveltl/src/ui/settings.rs - Setup wizard
noveltl-rs/noveltl/src/ui/wizard.rs - Hotkeys
noveltl-rs/noveltl/src/hotkeys.rs - System tray
noveltl-rs/noveltl/src/tray.rs - Themes and style
noveltl-rs/noveltl/src/ui/theme.rs - Update checks
noveltl-rs/noveltl-core/src/updates.rs
Other components
- Player
- Running game
- Translation services
Connections 28
- Player → Running game: plays
- Running game → LunaHook source: provides dialogue
- LunaHook source → Session controller: sends text events
noveltl-rs/noveltl/src/controller.rs - Screen OCR → Session controller: provides recognized text
noveltl-rs/noveltl/src/controller.rs - Clipboard source → Session controller: provides copied text
noveltl-rs/noveltl/src/controller.rs - Session controller → Translation pipeline: translates dialogue
- Session controller → Translation overlay: updates overlay
noveltl-rs/noveltl/src/controller.rs - Translation pipeline → Text cleanup: cleans text
noveltl-rs/noveltl-core/src/pipeline.rs - Translation pipeline → Language detection: resolves language
noveltl-rs/noveltl-core/src/pipeline.rs - Translation pipeline → Translation engines: dispatches translation
noveltl-rs/noveltl-core/src/pipeline.rs - Translation pipeline → Translation cache: uses cache
noveltl-rs/noveltl-core/src/pipeline.rs - Translation engines → Translation cache: reads and writes
noveltl-rs/noveltl-core/src/translators.rs - Translation engines → Translation services: requests translations
- Settings window → Network settings: configures access
- Game library → Game profiles: manages games
- Session controller → Game profiles: loads game profile
- Session controller → VNDB artwork: fetches artwork
noveltl-rs/noveltl/src/controller.rs - Player → Glossary: edits terms
- Glossary → Translation pipeline: supplies term rules
- Player → Japanese dictionary: looks up words
- Player → Anki export: adds dialogue
- Application UI → Session controller: polls session
noveltl-rs/noveltl/src/ui/mod.rs - Application UI → Settings window: opens window
noveltl-rs/noveltl/src/ui/mod.rs - Application UI → Setup wizard: opens setup
noveltl-rs/noveltl/src/ui/mod.rs - Settings window → Themes and style: previews style
noveltl-rs/noveltl/src/ui/settings.rs - Player → Hotkeys: uses shortcuts
- Player → System tray: uses tray controls
- Application UI → Update checks: shows notices