-
Notifications
You must be signed in to change notification settings - Fork 0
Phase 5 — UI, Settings, Profiles, and Model Manager #5
Copy link
Copy link
Open
Description
Phase 5 — UI, Settings, Profiles, and Model Manager
Purpose
Provide a settings UI (PyQt6) to manage regions, model settings, profiles, and to expose model loading operations to users. Implement model manager with VRAM monitoring.
Tasks
-
5.1 PyQt6 settings window scaffold
- File:
src/ui/settings.py - Work: Create a settings window that loads/saves JSON config and exposes toggles:
mode(terminal/overlay), VRAM ceiling, quantized models toggle. - DoD: settings persist to disk and loaded at app start.
- File:
-
5.2 Region selector UI
- File:
src/ui/region_selector.py - Work: UI component to create/edit/save region rectangles with preview capture. Integrate with
src/capture/regions.pyprofiles. - DoD: user can create a region and save as profile from GUI.
- File:
-
5.3 Command editor UI
- File:
src/ui/command_editor.py - Work: UI to list and edit voice command aliases and mapping to actions.
- DoD: changes saved and visible to command parser.
- File:
-
5.4 Model manager registry
- File:
src/models/model_manager.py - Work: Registry that loads/unloads models (Vosk, CRAFT, Manga OCR, Sugoi, Whisper) with named handles and reference counting.
- Tests:
tests/test_model_manager.pymocking model loads/unloads. - DoD: models managed by a single interface.
- File:
-
5.5 VRAM monitor and allocation safeguard
- File:
src/models/vram_monitor.py - Work: Monitor VRAM usage (use
pynvmloptional). Exposecan_load(size_mb) -> booland enforce VRAM ceiling from settings. - Tests:
tests/test_vram_monitor.pywith simulated values. - DoD: model manager refuses loads when VRAM budget exceeded.
- File:
Notes
- Keep the UI minimal and functional; advanced polish is Phase 8.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels