Skip to content

Commit cab98df

Browse files
committed
feat: add Tauri v2 desktop crate with React frontend (Phase 1 skeleton)
Rust backend (wifi-densepose-desktop): - 14 Tauri commands across 6 groups: discovery, flash, OTA, WASM, server, provision - Domain types: Node, NodeRegistry, FlashSession, OtaSession, BatchOtaSession - AppState with DiscoveryState and ServerState behind Mutex - Workspace Cargo.toml updated with new member - cargo check passes cleanly React/TypeScript frontend: - TypeScript types matching Rust domain model - Hooks: useNodes (discovery polling), useServer (start/stop/status) - Components: StatusBadge, NodeCard, Sidebar - Pages: Dashboard, Nodes (table + expandable details), FlashFirmware (3-step wizard with progress bar), Settings (server/security/discovery) - App.tsx with sidebar navigation routing - Vite 6 + React 18 + @tauri-apps/api v2 Implements ADR-052 Phase 1 skeleton. All commands return stub data. Co-Authored-By: claude-flow <ruv@ruv.net>
1 parent 79aaf2d commit cab98df

45 files changed

Lines changed: 11779 additions & 191 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

rust-port/wifi-densepose-rs/Cargo.lock

Lines changed: 3252 additions & 191 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust-port/wifi-densepose-rs/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ members = [
1616
"crates/wifi-densepose-wifiscan",
1717
"crates/wifi-densepose-vitals",
1818
"crates/wifi-densepose-ruvector",
19+
"crates/wifi-densepose-desktop",
1920
]
2021
# ADR-040: WASM edge crate targets wasm32-unknown-unknown (no_std),
2122
# excluded from workspace to avoid breaking `cargo test --workspace`.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
[package]
2+
name = "wifi-densepose-desktop"
3+
version.workspace = true
4+
edition.workspace = true
5+
description = "Tauri v2 desktop frontend for RuView WiFi DensePose"
6+
license.workspace = true
7+
authors.workspace = true
8+
9+
[lib]
10+
name = "wifi_densepose_desktop"
11+
crate-type = ["staticlib", "cdylib", "rlib"]
12+
13+
[build-dependencies]
14+
tauri-build = { version = "2", features = [] }
15+
16+
[dependencies]
17+
tauri = { version = "2", features = [] }
18+
tauri-plugin-shell = "2"
19+
tauri-plugin-dialog = "2"
20+
21+
serde = { workspace = true }
22+
serde_json = { workspace = true }
23+
tokio = { workspace = true }
24+
thiserror = { workspace = true }
25+
chrono = { version = "0.4", features = ["serde"] }
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fn main() {
2+
tauri_build::build();
3+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"identifier": "default",
3+
"description": "RuView default capability set",
4+
"windows": ["main"],
5+
"permissions": [
6+
"core:default",
7+
"shell:allow-execute",
8+
"shell:allow-open",
9+
"dialog:allow-open",
10+
"dialog:allow-save"
11+
]
12+
}

rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/gen/schemas/acl-manifests.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"default":{"identifier":"default","description":"RuView default capability set","local":true,"windows":["main"],"permissions":["core:default","shell:allow-execute","shell:allow-open","dialog:allow-open","dialog:allow-save"]}}

rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/gen/schemas/desktop-schema.json

Lines changed: 2630 additions & 0 deletions
Large diffs are not rendered by default.

rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/gen/schemas/windows-schema.json

Lines changed: 2630 additions & 0 deletions
Large diffs are not rendered by default.
306 Bytes
Loading

0 commit comments

Comments
 (0)