EU-Utility-V3/IMPLEMENTATION_PLAN.md

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

  1. Collapsible - Click logo to expand/collapse
  2. Search - Type to filter plugins instantly
  3. Pin System - Pin favorite plugins to top
  4. Quick Access - 6 shortcut icons always visible
  5. Plugin List - All plugins with toggle switches
  6. Session Timer - Live hunt duration
  7. 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

  1. Implement new overlay UI (Windows Start Menu style)
  2. Add pin/unpin functionality
  3. Create plugin grid component
  4. Build essential plugins (Dashboard, Search, Calculator)
  5. Add OCR integration for Game Reader

Implementation Plan - EU-Utility V3