//! WiFi-DensePose CLI //! //! Command-line interface for WiFi-DensePose system, including the //! Mass Casualty Assessment Tool (MAT) for disaster response. //! //! # Features //! //! - **mat**: Disaster survivor detection and triage management //! - **version**: Display version information //! //! # Usage //! //! ```bash //! # Start scanning for survivors //! wifi-densepose mat scan --zone "Building A" //! //! # View current scan status //! wifi-densepose mat status //! //! # List detected survivors //! wifi-densepose mat survivors --sort-by triage //! //! # View and manage alerts //! wifi-densepose mat alerts //! ``` use clap::{Parser, Subcommand}; pub mod calibrate; pub mod calibrate_api; pub mod room; #[cfg(feature = "mat")] pub mod mat; /// WiFi-DensePose Command Line Interface #[derive(Parser, Debug)] #[command(name = "wifi-densepose")] #[command( author, version, about = "WiFi-based pose estimation and disaster response" )] #[command(propagate_version = true)] pub struct Cli { /// Command to execute #[command(subcommand)] pub command: Commands, } /// Top-level commands #[derive(Subcommand, Debug)] pub enum Commands { /// Empty-room baseline calibration (ADR-135). /// Captures CSI frames via UDP and saves a per-subcarrier statistical /// baseline used for real-time motion z-scoring and CIR reference. Calibrate(calibrate::CalibrateArgs), /// Run the calibration HTTP API (ADR-135/151) for a UI to drive. /// Receives ESP32 CSI over UDP and exposes start/status/stop/result /// endpoints at `/api/v1/calibration/*` (CORS-enabled). CalibrateServe(calibrate_api::CalibrateServeArgs), /// Guided per-room enrollment (ADR-151 Stage 2) — walk the anchor sequence /// against a baseline, writing labelled features. Enroll(room::EnrollArgs), /// Train the per-room specialist bank from an enrollment (ADR-151 Stage 4). TrainRoom(room::TrainRoomArgs), /// Show a trained specialist bank's summary. RoomStatus(room::RoomStatusArgs), /// Live mixture-of-specialists readout from the CSI stream (ADR-151 Stage 5). RoomWatch(room::RoomWatchArgs), /// Mass Casualty Assessment Tool commands #[cfg(feature = "mat")] #[command(subcommand)] Mat(mat::MatCommand), /// Display version information Version, }