Files
orbithub/docs/OrbitHub_v0_Spec_CPP_QtWidgets.md
2026-03-01 09:21:57 -07:00

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