8.1 KiB
8.1 KiB
EU-Utility V3 Implementation Plan
Based on original Python/PyQt6 EU-Utility analysis.
Original Features Analysis
1. Architecture
- Original: Python 3.11 + PyQt6
- New: Rust + Tauri + React + TypeScript
- Plugin System: 25+ built-in plugins
2. UI Structure
Main Overlay (Semi-transparent, always on top)
├── Left Sidebar: Plugin tabs/icons
├── Center: Active plugin content
└── Bottom: Quick actions bar
Floating Icon (Screen overlay)
├── Double-click: Toggle main overlay
├── Right-click: Context menu
└── Draggable position
3. Plugin Categories
Dashboard & Utility
- Dashboard - Customizable start page with stats
- Calculator - Standard calculator
- Settings - Preferences configuration
- Plugin Store - Community marketplace
Search & Information
- Universal Search - Nexus entities (items, mobs, locations)
- Nexus Search - Items and market data
- TP Runner - Teleporter route planner
Calculators
- DPP Calculator - Damage Per PEC, weapon efficiency
- Crafting Calc - Blueprint calculator with success rates
- Enhancer Calc - Break rates and costs
Trackers
- Loot Tracker - Hunting loot with ROI analysis
- Skill Scanner - OCR-based skill tracking
- Codex Tracker - Creature challenge progress
- Mission Tracker - Mission and objective tracking
- Global Tracker - Globals, HOFs, ATHs tracking
- Mining Helper - Claims and hotspot tracking
- Auction Tracker - Price and markup tracking
- Inventory Manager - TT value and item management
- Profession Scanner - Profession rank tracking
Game Integration
- Game Reader - OCR for in-game menus/text
- Chat Logger - Log, search, filter chat
External Integration
- Spotify Controller - Control playback
Hotkey Mapping
| Hotkey | Action | Plugin |
|---|---|---|
| Ctrl+Shift+U | Toggle main overlay | Global |
| Ctrl+Shift+H | Hide all overlays | Global |
| Ctrl+Shift+F | Universal Search | Search |
| Ctrl+Shift+N | Nexus Search | Search |
| Ctrl+Shift+C | Calculator | Utility |
| Ctrl+Shift+D | DPP Calculator | Calculator |
| Ctrl+Shift+E | Enhancer Calc | Calculator |
| Ctrl+Shift+B | Crafting Calc | Calculator |
| Ctrl+Shift+L | Loot Tracker | Tracker |
| Ctrl+Shift+S | Skill Scanner | Tracker |
| Ctrl+Shift+X | Codex Tracker | Tracker |
| Ctrl+Shift+R | Game Reader | Scanner |
| Ctrl+Shift+M | Spotify Controller | Media |
| Ctrl+Shift+Home | Dashboard | Overview |
| Ctrl+Shift+, | Settings | Configuration |
New UI Design (Windows Start Menu Style)
Main Overlay (Bottom Center)
┌─────────────────────────────────────────────────────────┐
│ [Logo] Search plugins, items... [Timer] [Expand] │
├─────────────────────────────────────────────────────────┤
│ │
│ Quick Access [Session: 02:34:12] │
│ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │
│ │Calc│ │Loot│ │Skill│ │Price│ │Search│ │Settings│ │
│ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ │
│ │
│ Pinned Plugins │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ [Icon] Loot Tracker [On] [Pin] │
│ [Icon] Skill Scanner [On] [Pin] │
│ [Icon] DPP Calculator [Off] [Pin] │
│ │
│ All Plugins │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ [Icon] Codex Tracker [Off] [Pin] │
│ [Icon] Game Reader [Off] [Pin] │
│ [Icon] Mining Helper [Off] [Pin] │
│ │
├─────────────────────────────────────────────────────────┤
│ [Status: Online] Ctrl+Shift+U to toggle │
└─────────────────────────────────────────────────────────┘
Design Elements
- Background: Dark glassmorphism (rgba(32, 32, 32, 0.95))
- Blur: 32px backdrop blur
- Border: 1px rgba(255, 255, 255, 0.08)
- Shadow: 0 8px 32px rgba(0, 0, 0, 0.4)
- Border Radius: 32px (collapsed), 12px (expanded)
- Position: Bottom center of screen
- Width: 640px (compact), 720px (expanded)
Features
- Collapsible - Click logo to expand/collapse
- Search - Type to filter plugins instantly
- Pin System - Pin favorite plugins to top
- Quick Access - 6 shortcut icons always visible
- Plugin List - All plugins with toggle switches
- Session Timer - Live hunt duration
- Status Bar - Online/offline indicator
Implementation Phases
Phase 1: Core Framework (COMPLETE)
- Rust + Tauri setup
- React + TypeScript frontend
- Plugin system architecture
- Event bus
- Settings persistence
- Hotkey system
- Window management
Phase 2: UI Redesign (IN PROGRESS)
- Windows Start Menu overlay
- Collapsible search bar
- Plugin grid/list view
- Pin/unpin functionality
- Quick access icons
- Session timer display
Phase 3: Essential Plugins
- Dashboard
- Universal Search
- Calculator
- Loot Tracker
- Settings
Phase 4: Advanced Plugins
- DPP Calculator
- Skill Scanner (OCR)
- Codex Tracker
- Game Reader (OCR)
Phase 5: Full Feature Set
- All 25+ plugins
- Spotify integration
- Chat logger
- Plugin marketplace
Technical Decisions
Plugin System
interface Plugin {
id: string;
name: string;
description: string;
category: 'dashboard' | 'search' | 'calculator' | 'tracker' | 'game' | 'media';
icon: string;
version: string;
author: string;
hotkey?: string;
pinned: boolean;
active: boolean;
component: React.ComponentType;
}
Data Storage
- SQLite for local data
- Tauri settings API
- Plugin data isolation
OCR Integration
- Tesseract for Windows (static link)
- EasyOCR fallback
- Screen region capture
- Text recognition pipeline
Screen Reading
- Window capture (game window)
- Region selection (drag to define)
- OCR text extraction
- HP bar detection
- Coordinate reading
- Mob name recognition
File Structure
src/
├── components/
│ ├── Layout.tsx
│ ├── Sidebar.tsx
│ ├── PluginGrid.tsx
│ ├── PluginList.tsx
│ ├── SearchBar.tsx
│ ├── QuickAccess.tsx
│ └── PinnedPlugins.tsx
├── plugins/
│ ├── dashboard/
│ ├── search/
│ ├── calculator/
│ ├── tracker/
│ └── game/
├── pages/
│ ├── Dashboard.tsx
│ ├── Plugins.tsx
│ ├── Settings.tsx
│ └── Overlay.tsx
└── store/
├── appStore.ts
└── pluginStore.ts
Next Steps
- Implement new overlay UI (Windows Start Menu style)
- Add pin/unpin functionality
- Create plugin grid component
- Build essential plugins (Dashboard, Search, Calculator)
- Add OCR integration for Game Reader
Implementation Plan - EU-Utility V3