This commit is contained in:
@@ -8,7 +8,9 @@ Keep the same broad product shape as Tabby—terminal tabs, nested split panes,
|
||||
|
||||
## Current implementation
|
||||
|
||||
- `rabby-core`: dependency-light Rust domain model for profiles, tabs, split panes, session restore primitives, and feature coverage tests.
|
||||
- `rabby-core`: dependency-light Rust domain model for profiles, tabs, split panes, session restore primitives, and Tabby feature coverage tests.
|
||||
- `rabby-core/src/feature`: structured Tabby-vs-Rabby feature catalog with honest status (`Modeled`, `UiPrototype`, `Planned`).
|
||||
- `rabby-core/src/workspace`: refactored workspace/profile/pane domain state.
|
||||
- `src-tauri`: Tauri v2 desktop backend exposing the Rust feature matrix to the UI.
|
||||
- `ui`: static responsive UI mock/prototype matching Tabby-style terminal UX without a JavaScript build chain.
|
||||
- `docs/rabby-screenshot.svg`: screenshot artifact of the UI/UX direction.
|
||||
@@ -16,21 +18,38 @@ Keep the same broad product shape as Tabby—terminal tabs, nested split panes,
|
||||
## Verification
|
||||
|
||||
```bash
|
||||
cargo fmt --all -- --check
|
||||
cargo test -p rabby-core
|
||||
cargo check -p rabby
|
||||
cargo build --release -p rabby
|
||||
```
|
||||
|
||||
The core crate is intentionally testable without launching the desktop shell.
|
||||
|
||||
## Tabby feature mapping
|
||||
## Tabby feature comparison
|
||||
|
||||
| Tabby feature | Rabby implementation direction |
|
||||
| --- | --- |
|
||||
| Terminal emulator | Rust core models terminal sessions; Tauri UI presents panes/tabs. |
|
||||
| SSH/Telnet/Serial | Typed connection profiles with validation and command boundaries. |
|
||||
| Split panes/tabs | Recursive pane tree with tested split bounds and leaf counting. |
|
||||
| Theming/shortcuts | Static UI theme now; config surface reserved in core. |
|
||||
| Session restore | Workspace struct stores profiles, tabs, active tab, and quake mode. |
|
||||
| Smaller footprint | No Electron/Angular runtime in this scaffold; static assets + Tauri. |
|
||||
This table is based on Tabby's README and top-level modules (`tabby-terminal`, `tabby-local`, `tabby-ssh`, `tabby-telnet`, `tabby-serial`, `tabby-plugin-manager`, `tabby-settings`, `tabby-web`, etc.). The scaffold does **not** claim every production implementation is finished; it verifies that each class is represented in the Rust catalog and tests.
|
||||
|
||||
| Tabby feature class | Rabby coverage now | Status |
|
||||
| --- | --- | --- |
|
||||
| VT terminal emulation | Terminal session/pane surface requirement in Rust catalog | Planned |
|
||||
| Nested split panes | Recursive `PaneNode` with bounds and leaf-count tests | Modeled |
|
||||
| Remembered tabs | `Workspace` stores tabs and active tab | Modeled |
|
||||
| Quake console/global hotkey | `quake_mode` state plus UI control | Modeled |
|
||||
| Progress/process notifications | `Tab.progress` state with validation | Modeled |
|
||||
| Bracketed/multiline paste, RMB paste, copy-on-select | Terminal preference requirement in catalog | Planned |
|
||||
| Unicode/double-width/ligatures | Renderer requirement in catalog | Planned |
|
||||
| Local shell profiles | Typed `LocalShell` profile command | Modeled |
|
||||
| SSH connection manager | Typed `Ssh` profile command boundary | Modeled |
|
||||
| SSH forwarding/jump hosts/agent forwarding/login scripts | Advanced SSH backlog entry in catalog | Planned |
|
||||
| Telnet | Typed `Telnet` profile | Modeled |
|
||||
| Serial terminal | Typed `Serial` profile plus serial option backlog | Modeled |
|
||||
| Zmodem/SFTP transfers | Transfer surface reserved for SSH sessions | Planned |
|
||||
| Encrypted SSH secrets/config | Tauri/Rust secret-store boundary in catalog | Planned |
|
||||
| Themes/color schemes | `Profile.color_scheme` plus UI theme prototype | Modeled |
|
||||
| Configurable multi-chord shortcuts | Command palette/shortcut UX prototype entry | UI prototype |
|
||||
| Plugin manager/ecosystem | Extension boundary reserved outside core | Planned |
|
||||
| Portable/web surfaces | Static UI + Tauri shell; web surface tracked as platform backlog | UI prototype |
|
||||
|
||||
## Screenshot
|
||||
|
||||
|
||||
Reference in New Issue
Block a user