wifi-densepose/rust-port/wifi-densepose-rs
rUv 5f3c90bf1c
fix(sensing-server): add real hysteresis to person count estimation (#295)
The person-count heuristic was causing widespread flickering (#237, #249,
#280, #292) because:

1. Threshold 0.50 for 2-persons was too low — multipath reflections in
   small rooms easily exceeded it
2. No actual hysteresis despite the comment claiming asymmetric thresholds
3. EMA smoothing (α=0.15) was too responsive to transient spikes

Changes:
- Raise up-thresholds: 1→2 persons at 0.65 (was 0.50), 2→3 at 0.85 (was 0.80)
- Add true hysteresis with asymmetric down-thresholds: 2→1 at 0.45, 3→2 at 0.70
- Track prev_person_count in SensingState for state-aware transitions
- Increase EMA smoothing to α=0.10 (~2s time constant at 20 Hz)
- Update all 4 call sites (ESP32, Windows WiFi, multi-BSSID, simulated)

Fixes #292, #280, #237

Co-authored-by: Reuven <cohen@ruv-mac-mini.local>
2026-03-23 21:37:52 -04:00
..
.claude-flow chore: add runtime artifacts to .gitignore and untrack them 2026-03-14 13:44:27 -04:00
crates fix(sensing-server): add real hysteresis to person count estimation (#295) 2026-03-23 21:37:52 -04:00
data docs: update README with ADR-045–048, Observatory, adaptive classifier, AMOLED display 2026-03-05 10:20:48 -05:00
docs feat: Complete Rust port of WiFi-DensePose with modular crates 2026-01-13 03:11:16 +00:00
examples feat: Add wifi-Mat disaster detection enhancements 2026-01-13 18:23:03 +00:00
patches/ruvector-crv feat: ADR-033 CRV signal-line integration + ruvector-crv 6-stage pipeline 2026-03-01 22:21:59 -05:00
Cargo.lock chore: update Cargo.lock 2026-03-10 10:02:02 -04:00
Cargo.toml feat: complete Tauri desktop frontend with all pages and enhanced design (#198) 2026-03-08 23:31:18 -04:00