67 lines
1.3 KiB
Markdown
67 lines
1.3 KiB
Markdown
# OrbitHub v0 Specification (Pure C++ / Qt6 Widgets)
|
|
|
|
## Overview
|
|
|
|
OrbitHub is a cross-platform native desktop application for managing and launching remote sessions.
|
|
|
|
Platforms:
|
|
- Windows 11
|
|
- Linux (Mint/Ubuntu-family)
|
|
- macOS
|
|
|
|
Implementation:
|
|
- 100% C++
|
|
- Qt 6 Widgets (no Qt Quick)
|
|
- CMake build system
|
|
- MIT License
|
|
|
|
This replaces the earlier Python-based architecture.
|
|
|
|
---
|
|
|
|
## UX Model
|
|
|
|
OrbitHub uses a two-window model:
|
|
|
|
1) Profiles Window (single instance)
|
|
- List of saved profiles
|
|
- Search box
|
|
- New / Edit / Delete
|
|
- Double-click connects
|
|
|
|
2) Session Window(s)
|
|
- QTabWidget
|
|
- One tab per session
|
|
- Close tab destroys session
|
|
- Placeholder view widget displays:
|
|
"OrbitHub Native Surface"
|
|
|
|
---
|
|
|
|
## Milestone 0
|
|
|
|
- Fresh C++/Qt repo scaffold
|
|
- App builds
|
|
- Profiles window launches
|
|
- Session window opens with placeholder tab
|
|
- Tag: v0-m0-done
|
|
|
|
---
|
|
|
|
## Milestone 1
|
|
|
|
- SQLite integration
|
|
- Profiles CRUD
|
|
- Connect loads profile name into tab
|
|
- Tag: v0-m1-done
|
|
|
|
---
|
|
|
|
## Milestone 2
|
|
|
|
- Extend profiles schema (`host`, `port`, `username`, `protocol`, `auth_mode`)
|
|
- Replace prompt-based create/edit with a structured profile dialog form
|
|
- Connect loads full profile details into session tab
|
|
- Session lifecycle states in UI (`Connecting`, `Connected`, `Failed`) with non-blocking updates
|
|
- Tag: v0-m2-done
|