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

2.9 KiB

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)