mirror of
https://github.com/ruvnet/RuView
synced 2026-06-19 11:53:19 +00:00
f49c722764
The Rust port lived two directories deep (rust-port/wifi-densepose-rs/) without any sibling under rust-port/ that warranted the extra level. Move the whole workspace up to v2/ to match v1/ (Python) at the same depth and shorten every cd / build command across the repo. git mv preserves history for all tracked files. 60 files updated for path references (CI workflows, ADRs, docs, scripts, READMEs, internal .claude-flow state). Two manual fixes for relative-cd paths in CLAUDE.md and ADR-043 that became wrong after the depth change (cd ../.. → cd ..). Validated: - cargo check --workspace --no-default-features → clean (after target/ nuke; the gitignored target/ was carried by the OS rename and had hard-coded old paths in build scripts) - cargo test --workspace --no-default-features → 1,539 passed, 0 failed, 8 ignored (same totals as pre-rename) - ESP32-S3 on COM7 → still streaming live CSI (cb #40300, RSSI -64 dBm) After-merge follow-up: contributors should `rm -rf v2/target` once and let cargo regenerate from the new path.
1.3 KiB
1.3 KiB
ADR-002: Signal Processing Library Selection
Status
Accepted
Context
CSI signal processing requires FFT operations, complex number handling, and matrix operations. We need to select appropriate Rust libraries that provide Python/NumPy equivalent functionality.
Decision
We will use the following libraries:
| Library | Purpose | Python Equivalent |
|---|---|---|
ndarray |
N-dimensional arrays | NumPy |
rustfft |
FFT operations | numpy.fft |
num-complex |
Complex numbers | complex |
num-traits |
Numeric traits | - |
Key Implementations
- Phase Sanitization: Multiple unwrapping methods (Standard, Custom, Itoh, Quality-Guided)
- CSI Processing: Amplitude/phase extraction, temporal smoothing, Hamming windowing
- Feature Extraction: Doppler, PSD, amplitude, phase, correlation features
- Motion Detection: Variance-based with adaptive thresholds
Consequences
Positive
- Pure Rust implementation (no FFI overhead)
- WASM compatible (rustfft is pure Rust)
- NumPy-like API with ndarray
- High performance with SIMD optimizations
Negative
- ndarray-linalg requires BLAS backend for advanced operations
- Learning curve for ndarray patterns