How remesis/rivenlens works
RivenLens is a local Windows desktop companion that reads visible Riven cards without accessing game or account data. The main workflow is user-started monitor capture, local OCR and card interpretation, roll tracking, then display of current and proposed grades. The planner adds splice, lock and odds stages; settings, alerts and optional GitHub updates are supporting branches. The worker and window excerpts establish the capture/display coordination; some subsystem links reflect README-documented capabilities where implementation excerpts were unavailable.
Main entry points: window.py Main window · worker.py Capture worker · reader.py Frame reader · planner.py Planner logic
Components 24
Desktop experience
- Main window
native/window.py - Roll cards
native/widgets.py
Screen reading
- Capture worker
native/worker.py - Monitor capture
app/capture.py - Frame reader
app/reader.py - Local OCR
app/ocr_engine.py - Card parser
app/parser.py - Roll tracker
app/tracker.py - Read warning
app/stat_warning.py
Grades and planning
- Riven catalog
native/catalog.py - Roll grading
native/grading.py - Target planner
native/planner_view.py - Planner logic
native/planner.py - Final odds
native/odds.py
Preferences and alerts
- Saved preferences
native/preferences.py - Settings dialog
native/settings_view.py - Audio presets
native/audio.py - Grade alerts
native/alerts.py
Optional updates
- Release config
native/releases.py - Startup updates
native/updates.py - Update network
native/update_network.py - Install session
native/update_session.py
Other components
- Player
- GitHub releases
Connections 26
- Player → Main window: controls
- Main window → Capture worker: configures
- Capture worker → Monitor capture: grabs pixels
- Capture worker → Frame reader: reads frames
- Frame reader → Local OCR: recognizes text
- Frame reader → Card parser: parses lines
- Capture worker → Roll tracker: tracks rolls
- Roll tracker → Read warning: checks stats
- Capture worker → Main window: publishes readings
- Main window → Roll cards: renders grades
- Main window → Roll grading: requests grades
- Roll grading → Riven catalog: reads references
- Main window → Target planner: opens planner
- Target planner → Planner logic: updates targets
- Planner logic → Riven catalog: reads catalog
- Planner logic → Final odds: calculates odds
- Main window → Settings dialog: opens settings
- Main window → Saved preferences: loads and saves
- Settings dialog → Saved preferences: saves choices
- Main window → Grade alerts: checks matches
- Grade alerts → Audio presets: plays sounds
- Main window → Release config: loads release
- Main window → Startup updates: schedules check
- Startup updates → Update network: checks release
- Update network → GitHub releases: requests releases
- Startup updates → Install session: starts install