EU-Utility/memory/2026-02-13.md

89 lines
2.9 KiB
Markdown

# 2026-02-13 - EU-Utility Major Update
## UI Fixes Applied
- **Removed decorative lines** from header (user complaint about "weird lines")
- **Added scroll area** to sidebar - prevents expanding out of screen
- **Added drag functionality** - click and drag header to move window
- **Removed ALL emojis** from all plugins (replaced with text only)
## New Features Implemented
### 1. Resizable Window
- Removed `FramelessWindowHint`
- Window now fully resizable with minimum size 600x400
- Shows in taskbar properly
### 2. Plugin Index Bug Fix
- **Fixed**: Clicking Spotify opened TP Runner instead
- Root cause: Plugin index tracking was incorrect
- Solution: Track buttons in list, store correct index in UserRole data
### 3. Skill Scanner v2.0 (Complete Rewrite)
**OCR Features:**
- Screenshot capture of skills window
- EasyOCR/Pytesseract fallback
- Parses skill names, ranks, points
**Log Watching:**
- Real-time chat.log monitoring
- Automatic skill gain detection
- Patterns: "Aim has improved by 5.2 points", "You gained 10 points in Rifle"
- Automatically adds gains to total values
- Real-time gain display in UI
### 4. Profession Scanner (NEW PLUGIN)
- OCR scan of professions window
- Tracks profession ranks (Elite, Champion, etc.)
- Progress percentage with visual bars
- 21st plugin added to EU-Utility
### 5. Customizable Dashboard
- Click "Customize" to select widgets
- Available widgets:
- PED Balance
- Skills Tracked
- Inventory Items
- Current DPP
- Today's Skill Gains
- Professions Count
- Active Missions
- Codex Progress
- Globals/HOFs
- Session Time
- Auto-refresh every 5 seconds
- Reads data from all plugin JSON files
### 6. Core Services (NOT Plugins!)
Following user's requirement - OCR and Log are core services, not plugins.
**Log Reader (`core/log_reader.py`):**
- Real-time chat.log monitoring in background thread
- Event parsing: skill_gains, loot, globals, damage, heals, missions, etc.
- Publisher/subscriber pattern for plugins
- Auto-detects EU log file location
- Cache of recent 1000 lines
**OCR Service (`core/ocr_service.py`):**
- Multi-backend support: EasyOCR → Tesseract → PaddleOCR
- Auto-fallback if primary backend unavailable
- Screen capture (full or region)
- Returns structured results with bounding boxes
- `quick_ocr()` convenience function
**PluginAPI Integration:**
- `api.ocr_capture(region)` - All plugins can use OCR
- `api.read_log(lines, filter)` - All plugins can read log
- Services auto-initialized on app startup
- Registered with PluginAPI for universal access
## Commits Made
- `5b127cf` - UI fixes (drag, scroll, no emojis)
- `72c3c13` - Resizable window, OCR scanners, customizable dashboard
- `bcd4574` - All plugins disabled by default with enable/disable UI
- `7f6547f` - Fixed box-in-box UI, added Settings button to header
- `8ee0e56` - Fixed window taskbar visibility
- `f6c4971` - Core OCR and Log services with API integration
## Total Plugins: 21
## Core Services: 2 (OCR, Log Reader)