Files
ruvnet--RuView/v2/crates/wifi-densepose-mat
ruv bc6ab800d8 fix: public-PR review findings — privacy-path honesty, gate holes, mesh-guard cliff
- sensing-server: engine errors logged+counted (no silent swallow), trust
  state exposed via status surface, privacy-demotion claims aligned with
  the actual parallel-audit-path behavior
- occupancy_bench: vacuous-F1 hole closed (degenerate test sets fail with
  their own criterion); CI-lower-bound test made probative
- mesh_guard: quantization scaled to observed coupling range — >=65-node
  balanced meshes no longer permanently at_risk (regression test)
- engine: both wiring tests made probative (same-topology witness compare,
  deterministic risk-crossing fixture)
- mat: axum/tokio optional behind api; real serde feature (api enables it)
- core: canonical decoder strict (non-zero reserved bytes and nil UUID
  rejected — injective on accepted domain, forged-bytes tests)
- CHANGELOG: un-spliced the FFT/adapter bullet mangle

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-06-11 15:33:25 -04:00
..

wifi-densepose-mat

Crates.io Documentation License

Mass Casualty Assessment Tool for WiFi-based disaster survivor detection and localization.

Overview

wifi-densepose-mat uses WiFi Channel State Information (CSI) to detect and locate survivors trapped in rubble, debris, or collapsed structures. The crate follows Domain-Driven Design (DDD) with event sourcing, organized into three bounded contexts -- detection, localization, and alerting -- plus a machine learning layer for debris penetration modeling and vital signs classification.

Use cases include earthquake search and rescue, building collapse response, avalanche victim location, flood rescue operations, and mine collapse detection.

Features

  • Vital signs detection -- Breathing patterns, heartbeat signatures, and movement classification with ensemble classifier combining all three modalities.
  • Survivor localization -- 3D position estimation through debris via triangulation, depth estimation, and position fusion.
  • Triage classification -- Automatic START protocol-compatible triage with priority-based alert generation and dispatch.
  • Event sourcing -- All state changes emitted as domain events (DetectionEvent, AlertEvent, ZoneEvent) stored in a pluggable EventStore.
  • ML debris model -- Debris material classification, signal attenuation prediction, and uncertainty-aware vital signs classification.
  • REST + WebSocket API -- axum-based HTTP API for real-time monitoring dashboards.
  • ruvector integration -- ruvector-solver for triangulation math, ruvector-temporal-tensor for compressed CSI buffering.

Feature flags

Flag Default Description
std yes Standard library support
api yes REST + WebSocket API (enables serde for all types)
ruvector yes ruvector-solver and ruvector-temporal-tensor
serde no Serialization (also enabled by api)
portable no Low-power mode for field-deployable devices
distributed no Multi-node distributed scanning
drone no Drone-mounted scanning (implies distributed)

Quick Start

use wifi_densepose_mat::{
    DisasterResponse, DisasterConfig, DisasterType,
    ScanZone, ZoneBounds,
};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let config = DisasterConfig::builder()
        .disaster_type(DisasterType::Earthquake)
        .sensitivity(0.8)
        .build();

    let mut response = DisasterResponse::new(config);

    // Define scan zone
    let zone = ScanZone::new(
        "Building A - North Wing",
        ZoneBounds::rectangle(0.0, 0.0, 50.0, 30.0),
    );
    response.add_zone(zone)?;

    // Start scanning
    response.start_scanning().await?;

    Ok(())
}

Architecture

wifi-densepose-mat/src/
  lib.rs            -- DisasterResponse coordinator, config builder, MatError
  domain/
    survivor.rs     -- Survivor aggregate root
    disaster_event.rs -- DisasterEvent, DisasterType
    scan_zone.rs    -- ScanZone, ZoneBounds
    alert.rs        -- Alert, Priority
    vital_signs.rs  -- VitalSignsReading, BreathingPattern, HeartbeatSignature
    triage.rs       -- TriageStatus, TriageCalculator (START protocol)
    coordinates.rs  -- Coordinates3D, LocationUncertainty
    events.rs       -- DomainEvent, EventStore, InMemoryEventStore
  detection/        -- BreathingDetector, HeartbeatDetector, MovementClassifier, EnsembleClassifier
  localization/     -- Triangulator, DepthEstimator, PositionFuser
  alerting/         -- AlertGenerator, AlertDispatcher, TriageService
  ml/               -- DebrisPenetrationModel, VitalSignsClassifier, UncertaintyEstimate
  api/              -- axum REST + WebSocket router
  integration/      -- SignalAdapter, NeuralAdapter, HardwareAdapter
Crate Role
wifi-densepose-core Foundation types and traits
wifi-densepose-signal CSI preprocessing for detection pipeline
wifi-densepose-nn Neural inference for ML models
wifi-densepose-hardware Hardware sensor data ingestion
ruvector-solver Triangulation and position math
ruvector-temporal-tensor Compressed CSI buffering

License

MIT OR Apache-2.0