# EnvoyOS — Feature Roadmap EnvoyOS is a multi-PC, multi-monitor productivity dashboard built in Godot 4.6. It combines clipboard sync, AI assistance, timers, inventory, web tab sessions, media controls, theme building, and a modular tab/engine architecture into a single desktop app. The roadmap below prioritizes: 1. Stabilizing the existing core product. 2. Completing the highest-value multi-PC productivity features. 3. Expanding AI and developer workflows. 4. Building a polished, cross-platform desktop suite. --- ## 1. Feature Inventory ### 1.1 Implemented / Stable | Feature | Module(s) | Notes | |---------|-----------|-------| | Cross-PC clipboard sync | `clipboard_engine.gd` | ENet + AES-256, client/server, auto-reconnect | | AI chat | `ai_engine.gd`, `ai_ui.gd` | Ollama HTTP streaming, multi-turn context | | Markdown editor | `editor_engine.gd`, `editor_ui.gd` | Autosave, debounce, theme-aware typography | | Timer panel | `time_engine.gd`, `time_ui.gd` | Up to 12 timers, background tick, config persistence | | Inventory tracking | `inventory_engine.gd`, `inventory_ui.gd` | Slot-based UI, expiration tracking | | Tab management | `tab_engine.gd`, `tab_ui.gd` | Custom tab bar, session persistence | | Theme builder | `ui_engine.gd`, `ui_ui.gd` | bg/font/accent/shade/transparency, light/dark adaptivity | | Video / display settings | `video_engine.gd`, `video_ui.gd` | FPS, DPI, window mode, position, size | | OS grid layout | `grid_engine.gd`, `grid_ui.gd` | Configurable rows × columns dashboard | | User AFK detection | `user_active_engine.gd` | Cross-platform idle time | | System tray | `systemtray.gd` | Minimize-to-tray, app-level tray integration | | Ship game | `ship_engine.gd`, `ship_ui.gd` | 2D physics mini-game, object pooling | | Web tab session viewer | `web_engine.gd`, `web_ui.gd` | Loads Tab Session Manager JSON, tree view | | VoIP scaffolding | `voip_engine.gd`, `voip_ui.gd` | UDP, VAD, jitter buffer; still in progress | | Audio settings | `audio_engine.gd`, `audio_ui.gd` | Master volume, mute, mic level | ### 1.2 Partial / In Progress | Feature | Module(s) | Missing | |---------|-----------|---------| | System monitor | `system_engine.gd`, `system_ui.gd` | Empty; needs CPU/RAM/disk/GPU stats and dashboard UI | | AI code assistant | `ai_code_engine.gd`, `ai_code_ui.gd` | Empty; needs code-gen, review, explain, diff view | | Music / media player | `music_engine.gd`, `music_ui.gd` | `extends Node` only; needs playback queue, seeking, shuffle | | VoIP | `voip_engine.gd`, `voip_ui.gd` | Needs input validation, UI polish, reliability tests | | OS grid layout | `grid_engine.gd`, `grid_ui.gd` | Broken references to clipboard engine state | ### 1.3 Stubs / Missing | Feature | Notes | |---------|-------| | Command palette | No `Ctrl+K` action search | | Global hotkeys | No OS-level hotkey registration | | Monitor layout memory | No per-monitor window position/size persistence | | Floating overlays | No always-on-top widgets | | P2P file transfer | No chunked ENet file streaming UI | | Shared workspace / Kanban | No cross-PC synced task board | | Notification mirroring | No cross-PC toasts | | Clipboard history ring buffer | No searchable past clipboard picker | | Snippet library | No saved snippets with sync | | Screen recording / capture | No per-monitor GPU capture | | Voice commands | No local voice-to-action pipeline | | In-app updater | No auto-update mechanism | | Unit tests / CI | No GUT test suite or automated checks | --- ## 2. Roadmap ### Phase 1 — Stabilize & Finish Core Gaps (Weeks 1–3) Goal: make every existing tab useful and remove obvious technical debt. | # | Feature / Task | Description | |---|----------------|-------------| | 1.1 | System monitor | Implement `system_engine.gd` (CPU %, RAM, disk, GPU, network) and `system_ui.gd` dashboard with live gauges. | | 1.2 | Music player | Build `music_engine.gd` playback queue, seeking, shuffle/repeat; wire `music_ui.gd`. | | 1.3 | AI code tab | Implement `ai_code_engine.gd` for explain/refactor/generate and `ai_code_ui.gd` with side-by-side editor + diff view. | | 1.4 | Fix grid engine refs | Replace `is_connected_to_network` / `is_reconnecting` with valid clipboard engine properties. | | 1.5 | Input validation | Validate VoIP port, timer/inventory `hh:mm:ss` fields, and all numeric inputs. | | 1.6 | Merge duplicate engines | Consolidate `tab_engine.gd` and `top_engine.gd` into one base class. | | 1.7 | Testing foundation | Add GUT unit tests for theme serializer, tab engine, timer, inventory, clipboard crypto. | | 1.8 | CI pipeline | GitHub Actions: `godot --headless --check-only` + GUT on push. | | 1.9 | Bug bash | Systematic pass over known technical debt list. | **Exit criteria:** No empty tabs, no broken references, CI green, basic test coverage. ### Phase 2 — Multi-PC Power Features (Weeks 4–7) Goal: make EnvoyOS the primary productivity bridge between the user’s PCs. | # | Feature | Description | |---|---------|-------------| | 2.1 | Clipboard history ring buffer | Last 100 text/image items with timestamp, source PC, app name. Searchable picker. | | 2.2 | Snippet library | Save frequently used snippets/templates, sync to all peers, one-click paste. | | 2.3 | Cross-PC clipboard search | Type keyword → RPC search across all peers’ history. | | 2.4 | P2P file transfer | Drag-and-drop file onto network tab → AES-256 → chunked ENet stream → progress bar. | | 2.5 | Shared workspace folder | Synced directory with chunked transfer; edit on one PC, open on another. | | 2.6 | Shared Kanban board | To-Do / In-Progress / Done, RPC-synced in real time; cards with title, tags, due date, assigned PC. | | 2.7 | Notification mirroring | Broadcast system/app notifications to all peers; timer expiry → alert all PCs. | | 2.8 | Command palette | `Ctrl+K` fuzzy-search actions: tabs, theme, timers, connections, mute, etc. | | 2.9 | Global OS-level hotkeys | Clipboard history, screenshot, quick paste, show/hide app. | | 2.10 | Offline queue | Queue clipboard/file/task changes while disconnected; auto-sync on reconnect. | **Exit criteria:** User can copy/paste, transfer files, and track tasks across PCs without leaving EnvoyOS. ### Phase 3 — Multi-Monitor & AI (Weeks 8–11) Goal: exploit multi-monitor setups and deepen AI assistance. | # | Feature | Description | |---|---------|-------------| | 3.1 | Monitor layout memory | Detect monitors, save per-monitor window positions/sizes, restore on launch. | | 3.2 | Floating overlays | Always-on-top widgets: timer countdown, clipboard dock, AFK glow, assigned to monitors. | | 3.3 | Window tiling / snapping | `Ctrl+1..4` quadrant, `Ctrl+Shift+Left/Right` half, named layouts. | | 3.4 | Per-monitor contrast | Different shade/brightness per monitor; auto time-of-day adjustment. | | 3.5 | AI code review | Explain selected code, refactor with diff, generate from prompt, review PR diff. | | 3.6 | AI meeting notes | Stream mic audio → local Whisper/Ollama → bullet summary → sync to peers. | | 3.7 | Cross-PC input mirroring | Type on PC-A → keystrokes stream to PC-B; relative mouse deltas; per-peer toggle. | | 3.8 | AI suggestion engine | Context-aware “Smart Suggestions” on clipboard/tab/editor. | | 3.9 | Screenshot + AI annotate | Capture region → send to local model → written description. | **Exit criteria:** Multi-monitor setup feels native; AI handles coding and documentation tasks with low friction. ### Phase 4 — Polish, Packaging & Release (Weeks 12–14) Goal: ship a polished, discoverable, cross-platform product. | # | Feature | Description | |---|---------|-------------| | 4.1 | Auto-start with OS | Windows registry, Linux `.desktop`, macOS `LaunchAgent`. | | 4.2 | System tray menu | Show, Mute, Disconnect, Open Timer, Open Kanban, Exit. | | 4.3 | Backup / restore | Export/import all `user://` settings as `.zip`. | | 4.4 | Accessibility pass | High-contrast mode, font scaling, screen-reader labels. | | 4.5 | Session replay | Record short UI interaction replay for bug reports. | | 4.6 | User documentation | Full user manual, keyboard shortcut reference, per-OS setup guide. | | 4.7 | Export / packaging | Release builds for Windows / Linux / macOS; in-app updater (optional). | | 4.8 | Localization scaffold | String externalization for future i18n. | | 4.9 | Error reporting | Opt-in crash/telemetry with minimal PII. | **Exit criteria:** Stable release builds, onboarding experience, accessible UI. ### Phase 5 — Differentiators & Platform Expansion (Ongoing) Goal: make EnvoyOS a complete second OS layer for power users. | # | Feature | Description | |---|---------|-------------| | 5.1 | Screen recording per monitor | GPU capture, “record this monitor” toggle, export to file. | | 5.2 | Voice commands | “Hey, paste the last email” → VAD → snippet match → paste. | | 5.3 | Pomodoro focus mode | 25/5 preset; auto-pauses AI streaming and sync during focus. | | 5.4 | Dark-light auto-switch | Theme tied to system clock or ambient light. | | 5.5 | Peer presence bar | Avatar strip showing online PCs via `multiplayer.get_peers()`. | | 5.6 | Shared timer countdown | Timer on PC-A visible live on PC-B; sync `end_timestamp`. | | 5.7 | Calendar view | Timers/inventory deadlines on mini monthly calendar. | | 5.8 | CSV export | Timer/inventory state to CSV. | | 5.9 | Low-stock alerts | Inventory item below threshold → red flag on all PCs. | | 5.10 | Browser extension | Sync tabs/bookmarks/clipboard from browser to EnvoyOS. | | 5.11 | Mobile companion | System-tray / applet / browser-extension views; remote status. | | 5.12 | Plugin / extension system | Load custom GDScript panels into the tab grid. | | 5.13 | App manifest / RBAC | JSON manifest for per-panel permissions, resource limits, data classification. | | 5.14 | Power management UI | Per-tab/applet status, bandwidth throttle, CPU/GPU allocation. | --- ## 3. Non-Functional Requirements | Area | Requirement | |------|-------------| | Performance | Inactive engines must not consume CPU; active tabs < 10 ms frame budget on mid-range hardware. | | Reliability | Network sync must survive peer disconnects and auto-reconnect without data loss. | | Security | All network payloads encrypted (AES-256); no secrets in logs; configurable trust model. | | Accessibility | WCAG-conscious contrast, full keyboard navigation, font scaling, screen-reader labels. | | Portability | Windows, Linux, macOS desktop; optional WebAssembly build for applet view. | | Testability | Unit tests for engines, integration tests for network sync, smoke tests for UI tabs. | | Observability | Structured logs, error reporting, session replay for debugging. | | Packaging | Signed release binaries per platform; in-app updater (optional). | --- ## 4. Success Metrics | Metric | Target | |--------|--------| | Core stability | Zero empty tabs; no broken references; CI green | | Cross-PC utility | User can copy, transfer, and track work across ≥ 2 PCs without external tools | | AI value | ≥ 3 AI-powered workflows (chat, code review, meeting notes) usable daily | | Multi-monitor | ≥ 3 per-monitor layout features working out of the box | | Release readiness | Signed builds for 3 platforms; documented onboarding; < 5 min setup time | | Extensibility | Third-party panels can be loaded via manifest / plugin API | --- ## 5. Immediate Next Steps 1. Complete Phase 1 items (system monitor, music player, AI code tab, grid refs, tests, CI). 2. Pick one Phase 2 multi-PC feature to prototype (clipboard history or P2P file transfer). 3. Define the JSON manifest schema for panels / RBAC (informs Phase 5 but can be designed now). 4. Establish a release cadence and changelog process.