Commit Graph

33 Commits

Author SHA1 Message Date
ruv
50f0fc955b docs: Replace ASCII architecture with Mermaid diagrams
Replace the single ASCII box diagram with 3 styled Mermaid diagrams:

1. End-to-End Pipeline — full data flow from WiFi routers through
   signal processing (6 stages with ruvector crate labels), neural
   pipeline (graph transformer + SONA), vital signs, to output layer
   (REST, WebSocket, Analytics, UI). Dark theme with color-coded
   subsystem groups.

2. Signal Processing Detail — zoomed-in CSI cleanup pipeline showing
   conjugate multiply, phase unwrap, Hampel filter, min-cut partition,
   attention gate, STFT, Fresnel, and BVP stages.

3. Deployment Topology — ESP32 mesh (edge) → Rust sensing server
   (3 ports) → clients (browser, mobile, dashboard, IoT).

Component table expanded from 7 to 11 entries with crate/module
column linking each component to its source.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:48:57 -05:00
ruv
0afd9c5434 docs: Expand Use Cases into visible intro + 4 collapsed verticals
Restructure Use Cases & Applications as a visible section with:
- Intro paragraph + scaling note (always visible)
- "Why WiFi wins" comparison table vs cameras/PIR (always visible)
- 4 collapsed tiers: Everyday (8 use cases), Specialized (9),
  Robotics & Industrial (8, new), Extreme (8)
- Each row now includes a Key Metric column
- New robotics section: cobots, AMR navigation, android spatial
  awareness, manufacturing, construction, agricultural, drones,
  clean rooms

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:45:21 -05:00
ruv
965a1ccef2 docs: Enrich Models & Training section with RuVector repo links
- ToC: Add ruvector GitHub link and integration point count
- RVF Container: Add deployment targets table (ESP32 0.7MB to server
  50MB), link to rvf crate family on GitHub
- Training: Add RuVector column to pipeline table showing which crate
  powers each phase, add SONA component breakdown table, link arXiv
- RuVector Crates: Split into 5 directly-used (with integration
  points mapped to exact .rs files) and 6 additional vendored, add
  crates.io and GitHub source links for all 11

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:41:05 -05:00
ruv
b5ca361f0e docs: Add use cases section and fix multi-person limit accuracy
Add collapsible Use Cases & Applications section organized from
practical (elderly care, hospitals, retail) to specialized (events,
warehouses) to extreme (search & rescue, through-wall). Includes
hardware requirements and scaling notes per category.

Fix multi-person description to reflect reality: no hard software
limit, practical ceiling is signal physics (~3-5 per AP at 56
subcarriers, linear scaling with multi-AP).

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:36:53 -05:00
ruv
e2ce250dba docs: Fix multi-person limit — configurable default, not hard cap
The 10-person limit is just the default setting (pose_max_persons=10).
The API accepts 1-50, docs show configs up to 50, and Rust uses Option<u8>.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:34:02 -05:00
ruv
50acbf7f0a docs: Move Installation and Quick Start above Table of Contents
Promotes Installation and Quick Start to top-level sections placed
between Key Features and Table of Contents for faster onboarding.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:31:59 -05:00
ruv
0ebd6be43f docs: Collapse Rust Implementation and Performance Metrics sections
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:27:50 -05:00
ruv
528b3948ab docs: Add CSI hardware requirement notice to README
Consumer WiFi does not expose Channel State Information — clarify that
pose estimation, vital signs, and through-wall sensing require ESP32-S3
or a research NIC. Added Full CSI column to hardware options table.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:27:20 -05:00
ruv
99ec9803ae docs: Collapse System Architecture into details element
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:25:46 -05:00
ruv
478d9647ac docs: Improve README sections with rich detail, emoji features, and collapsed groups
- Add emoji key features table above ToC in plain language
- Expand WiFi-Mat section: START triage table, deployment modes, safety guarantees, performance targets
- Expand SOTA Signal Processing: math formulas, why-it-matters explanations, processing pipeline order
- Expand RVF Container: ASCII structure diagram, 20+ segment types, size examples
- Expand Training: 8-phase pipeline table with line counts, best-epoch snapshotting, three-tier strategy table
- Collapse Architecture, Testing, Changelog, and Release History sections
- Fix date in Meta section (March 2025)
- All 22 anchor links and 27 file links verified

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:24:57 -05:00
ruv
e8e4bf6da9 fix: Update project development start date in README 2026-03-01 00:19:46 -05:00
ruv
3621baf290 docs: Reorganize README with collapsible ToC, ADR doc links, and verified anchors
- Improve introduction: bold tagline, capability summary table, updated badges
- Restructure ToC into 6 collapsible groups with introductions and ADR doc links
- Add explicit HTML anchors for <details> subsections (22 internal links verified)
- Remove dead doc links (api_reference.md, deployment.md, user_guide.md)
- Fix ADR-018 filename (esp32-csi-streaming → esp32-dev-implementation)
- Organize sections: Signal Processing, Models, Architecture, Install, Quick Start, CLI, Testing, Deployment, Performance, Contributing, Changelog
- Expand changelog entries with release context and feature details
- Net reduction of 109 lines (264 insertions, 373 deletions)

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-01 00:19:26 -05:00
ruv
3e245ca8a4 Implement feature X to enhance user experience and optimize performance 2026-03-01 00:08:44 -05:00
ruv
add9f192aa feat: Docker images, RVF export, and README update
- Add docker/ folder with Dockerfile.rust (132MB), Dockerfile.python (569MB),
  and docker-compose.yml
- Remove stale root-level Dockerfile and docker-compose files
- Implement --export-rvf CLI flag for standalone RVF package generation
- Generate wifi-densepose-v1.rvf (13KB) with model weights, vital config,
  SONA profile, and training provenance
- Update README with Docker pull/run commands and RVF export instructions
- Update test count to 542+ and fix Docker port mappings
- Reply to issues #43, #44, #45 with Docker/RVF availability

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-28 23:44:30 -05:00
ruv
1192de951a feat: ADR-021 vital sign detection + RVF container format (closes #45)
Implement WiFi CSI-based vital sign detection and RVF model container:

- Pure-Rust radix-2 DIT FFT with Hann windowing and parabolic interpolation
- FIR bandpass filter (windowed-sinc, Hamming) for breathing (0.1-0.5 Hz)
  and heartbeat (0.8-2.0 Hz) band isolation
- VitalSignDetector with rolling buffers (30s breathing, 15s heartbeat)
- RVF binary container with 64-byte SegmentHeader, CRC32 integrity,
  6 segment types (Vec, Manifest, Quant, Meta, Witness, Profile)
- RvfBuilder/RvfReader with file I/O and VitalSignConfig support
- Server integration: --benchmark, --load-rvf, --save-rvf CLI flags
- REST endpoint /api/v1/vital-signs and WebSocket vital_signs field
- 98 tests (32 unit + 16 RVF integration + 18 vital signs integration)
- Benchmark: 7,313 frames/sec (136μs/frame), 365x real-time at 20 Hz

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-28 22:52:19 -05:00
rUv
696a72625f docs(readme): Add pre-built binary and NVS provisioning quick start
Update ESP32 section with download-flash-provision workflow that
requires no build toolchain. Links to release v0.1.0-esp32 and
tutorial issue #34.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-28 13:48:44 -05:00
rUv
92a5182dc3 feat(adr-018): ESP32-S3 firmware, Rust aggregator, and live CSI pipeline
Complete end-to-end WiFi CSI capture pipeline verified on real hardware:

- ESP32-S3 firmware: WiFi STA + promiscuous mode CSI collection,
  ADR-018 binary serialization, UDP streaming at ~20 Hz
- Rust aggregator CLI binary (clap): receives UDP frames, parses with
  Esp32CsiParser, prints per-frame summary (node, seq, rssi, amp)
- UDP aggregator module with per-node sequence tracking and drop detection
- CsiFrame bridge to detection pipeline (amplitude/phase/SNR conversion)
- Python ESP32 binary parser with UDP reader
- Presence detection confirmed: motion score 10/10 from live CSI variance

Hardware verified: ESP32-S3-DevKitC-1 (CP2102, MAC 3C:0F:02:EC:C2:28),
Docker ESP-IDF v5.2 build, esptool 5.1.0 flash, 20 Rust + 6 Python tests pass.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-02-28 13:22:04 -05:00
Claude
792d5e201a docs: Add ADR-014, WiFi-Mat, and ESP32 parser to changelog
https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
2026-02-28 14:38:25 +00:00
Claude
fcb93ccb2d feat: Implement ADR-014 SOTA signal processing (6 algorithms, 83 tests)
Add six research-grade signal processing algorithms to wifi-densepose-signal:

- Conjugate Multiplication: CFO/SFO cancellation via antenna ratio (SpotFi)
- Hampel Filter: Robust median/MAD outlier detection (50% contamination resistant)
- Fresnel Zone Model: Physics-based breathing detection from chest displacement
- CSI Spectrogram: STFT time-frequency generation with 4 window functions
- Subcarrier Selection: Variance-ratio ranking for top-K motion-sensitive subcarriers
- Body Velocity Profile: Domain-independent Doppler velocity mapping (Widar 3.0)

All 313 workspace tests pass, 0 failures. Updated README with new capabilities.

https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
2026-02-28 14:34:16 +00:00
Claude
8583f3e3b5 feat: Add guided installer with hardware detection and RVF build profiles
- install.sh: 7-step interactive installer detecting system, toolchains,
  WiFi hardware (interfaces, ESP32 USB, Intel CSI debug), and recommending
  the best build profile (verify/python/rust/browser/iot/docker/field/full)
- Rust is the primary recommended runtime (810x faster than Python)
- Makefile: 15+ targets including make install, make check, make build-rust,
  make build-wasm, make bench, make run-api, make run-viz
- README: Updated installation section with Rust-primary ordering, removed
  mock testing references, added v2.2.0 changelog entry

https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
2026-02-28 13:41:47 +00:00
Claude
6e0e539443 feat: Rust hardware adapters return errors instead of silent empty data, add changelog
- densepose.rs: forward() returns NnError when no weights loaded instead of zeros
- translator.rs: forward/encode/decode require loaded weights, error otherwise
- fusion.rs: remove rand_range() RNG, RSSI reads return empty with warning log
- hardware_adapter.rs: ESP32/Intel/Atheros/UDP/PCAP adapters return AdapterError
  explaining hardware not connected instead of silent empty readings
- csi_receiver.rs: PicoScenes parser returns error instead of empty amplitudes
- README.md: add v2.1.0 changelog with all recent changes

https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
2026-02-28 06:31:11 +00:00
Claude
dd382824fe feat: Add hardware requirement notice to README, additional Three.js viz components
Add prominent hardware requirements table at top of README documenting
the three paths to real CSI data (ESP32, research NIC, commodity WiFi).
Include remaining Three.js visualization components for dashboard.

https://claude.ai/code/session_01Ki7pvEZtJDvqJkmyn6B714
2026-02-28 06:26:10 +00:00
Claude
cd877f87c2 docs: Add comprehensive wifi-Mat user guide and fix compilation
- Add detailed wifi-Mat user guide covering:
  - Installation and setup
  - Detection capabilities (breathing, heartbeat, movement)
  - Localization system (triangulation, depth estimation)
  - START protocol triage classification
  - Alert system with priority escalation
  - Field deployment guide
  - Hardware setup requirements
  - API reference and troubleshooting

- Update main README.md with wifi-Mat section and links

- Fix compilation issues:
  - Add missing deadline field in AlertPayload
  - Fix type ambiguity in powi calls
  - Resolve borrow checker issues in scan_cycle
  - Export CsiDataBuffer from detection module
  - Add missing imports in test modules

- All 83 tests now passing
2026-01-13 17:55:50 +00:00
Claude
3ccb301737 feat: Add comprehensive benchmarks and validation tests for Rust signal processing
- Add signal_bench.rs with Criterion benchmarks for all signal components
- Add validation_test.rs proving mathematical correctness of algorithms
- Update README.md with validated benchmark results (810x-5400x speedup)
- Fix benchmark API usage (sanitize_phase, extract methods)

Benchmark Results (4x64 CSI data):
- CSI Preprocessing: 5.19 µs (~49 Melem/s)
- Phase Sanitization: 3.84 µs (~67 Melem/s)
- Feature Extraction: 9.03 µs (~7 Melem/s)
- Motion Detection: 186 ns (~5.4 Melem/s)
- Full Pipeline: 18.47 µs (~54K fps)

Validation Tests (all passing):
- Phase unwrapping: 0.0 radians max error
- Doppler estimation: 33.33 Hz exact match
- Correlation: 1.0 for identical signals
- Phase coherence: 1.0 for coherent signals
2026-01-13 03:38:38 +00:00
Claude
6ed69a3d48 feat: Complete Rust port of WiFi-DensePose with modular crates
Major changes:
- Organized Python v1 implementation into v1/ subdirectory
- Created Rust workspace with 9 modular crates:
  - wifi-densepose-core: Core types, traits, errors
  - wifi-densepose-signal: CSI processing, phase sanitization, FFT
  - wifi-densepose-nn: Neural network inference (ONNX/Candle/tch)
  - wifi-densepose-api: Axum-based REST/WebSocket API
  - wifi-densepose-db: SQLx database layer
  - wifi-densepose-config: Configuration management
  - wifi-densepose-hardware: Hardware abstraction
  - wifi-densepose-wasm: WebAssembly bindings
  - wifi-densepose-cli: Command-line interface

Documentation:
- ADR-001: Workspace structure
- ADR-002: Signal processing library selection
- ADR-003: Neural network inference strategy
- DDD domain model with bounded contexts

Testing:
- 69 tests passing across all crates
- Signal processing: 45 tests
- Neural networks: 21 tests
- Core: 3 doc tests

Performance targets:
- 10x faster CSI processing (~0.5ms vs ~5ms)
- 5x lower memory usage (~100MB vs ~500MB)
- WASM support for browser deployment
2026-01-13 03:11:16 +00:00
rUv
078c5d8957 minor updates 2025-06-07 17:11:45 +00:00
rUv
7b5df5c077 updates 2025-06-07 13:55:28 +00:00
rUv
6dd89f2ada docs: Revamp README and UI documentation; enhance CLI usage instructions and API configuration details 2025-06-07 13:40:52 +00:00
rUv
b15e2b7182 docs: Update installation instructions and enhance API documentation in README 2025-06-07 13:35:43 +00:00
rUv
94f0a60c10 fix: Update badge links in README for PyPI and Docker 2025-06-07 13:34:06 +00:00
rUv
6fe0d42f90 Add comprehensive CSS styles for UI components and dark mode support 2025-06-07 13:28:02 +00:00
rUv
f3c77b1750 Add WiFi DensePose implementation and results
- Implemented the WiFi DensePose model in PyTorch, including CSI phase processing, modality translation, and DensePose prediction heads.
- Added a comprehensive training utility for the model, including loss functions and training steps.
- Created a CSV file to document hardware specifications, architecture details, training parameters, performance metrics, and advantages of the model.
2025-06-07 05:23:07 +00:00
rUv
6cab230908 Initial commit 2025-06-07 00:32:31 -04:00