258 lines
8.1 KiB
Markdown
258 lines
8.1 KiB
Markdown
# 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)
|
|
- [x] Rust + Tauri setup
|
|
- [x] React + TypeScript frontend
|
|
- [x] Plugin system architecture
|
|
- [x] Event bus
|
|
- [x] Settings persistence
|
|
- [x] Hotkey system
|
|
- [x] 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
|
|
```typescript
|
|
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*
|