[feat](trx-frontend-appkit): add native macOS AppKit frontend
Add a new trx-frontend-appkit crate using objc2 + AppKit as a replacement for the removed Qt/QML frontend. The frontend provides the same feature set: frequency/mode/band display, PTT/power/VFO/lock controls, signal/TX metering, and frequency/mode/TX-limit input. Architecture splits platform-agnostic model (model.rs) from AppKit UI (ui.rs) to facilitate future UIKit porting. State flows from the async tokio watcher via std::sync::mpsc to the AppKit main thread; button actions flow back through a channel to stay on the UI thread. Feature-gated behind `appkit-frontend` cargo feature. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
| Backend/frontend registry | Implemented |
|
||||
| TCP CAT transport | Partial (config wiring only) |
|
||||
| JSON TCP control (line-delimited) | Implemented (configurable frontend) |
|
||||
| AppKit GUI frontend | Implemented (macOS only, optional) |
|
||||
| Plugin registry loading | Implemented (shared libraries) |
|
||||
| Configuration file (TOML) | Implemented |
|
||||
| Rig state machine | Implemented |
|
||||
@@ -80,6 +81,7 @@
|
||||
| `trx-frontend` | Frontend trait (`FrontendSpawner`) |
|
||||
| `trx-frontend-http` | Web UI with REST API and SSE |
|
||||
| `trx-frontend-http-json` | JSON-over-TCP control frontend |
|
||||
| `trx-frontend-appkit` | AppKit GUI frontend (macOS only, optional) |
|
||||
| `trx-frontend-rigctl` | Hamlib rigctl-compatible TCP interface |
|
||||
| `trx-server` | Server binary — connects to rig backend, exposes JSON TCP control |
|
||||
| `trx-client` | Client binary — connects to server, runs frontends (HTTP, rigctl) |
|
||||
|
||||
Reference in New Issue
Block a user