[package] name = "wifi-densepose-signal" version = "0.3.4" edition.workspace = true description = "WiFi CSI signal processing for DensePose estimation" license.workspace = true authors = ["rUv ", "WiFi-DensePose Contributors"] repository.workspace = true documentation = "https://docs.rs/wifi-densepose-signal" keywords = ["wifi", "csi", "signal-processing", "densepose", "rust"] categories = ["science", "computer-vision"] readme = "README.md" [features] default = ["eigenvalue"] ## Enable eigenvalue-based person counting (requires BLAS via ndarray-linalg). ## Disable with --no-default-features to use the diagonal fallback instead. eigenvalue = ["ndarray-linalg"] ## ADR-134: CIR sparse recovery module (default-on; zero-cost if never instantiated). ## ruvector-solver is already a mandatory dep so no additional dep needed here. cir = [] [dependencies] # Core utilities thiserror.workspace = true serde = { workspace = true } serde_json.workspace = true chrono = { version = "0.4", features = ["serde"] } # Signal processing ndarray = { workspace = true } ndarray-linalg = { workspace = true, optional = true } rustfft.workspace = true num-complex.workspace = true num-traits.workspace = true # Graph algorithms ruvector-mincut = { workspace = true } ruvector-attn-mincut = { workspace = true } # Attention and solver integrations (ADR-017) ruvector-attention = { workspace = true } ruvector-solver = { workspace = true } # Midstreamer integrations (ADR-032a) midstreamer-temporal-compare = { workspace = true } midstreamer-attractor = { workspace = true } # ADR-136: deterministic calibration-id → FrameMeta.calibration_id (ADR-135 link) uuid = { version = "1.6", features = ["v4"] } # Internal wifi-densepose-core = { version = "0.3.0", path = "../wifi-densepose-core" } # ADR-084 Pass 2: sketch-prefilter for the EmbeddingHistory search loop. wifi-densepose-ruvector = { version = "0.3.0", path = "../wifi-densepose-ruvector", default-features = false } [dev-dependencies] criterion = { version = "0.5", features = ["html_reports"] } proptest.workspace = true [[bench]] name = "signal_bench" harness = false [[bench]] name = "aether_prefilter_bench" harness = false ## ADR-154: FFT-planner caching (PSD) + DTW Sakoe-Chiba band perf benches. [[bench]] name = "features_bench" harness = false ## ADR-154 Milestone-2: P2 "bench-first" perf items (§7.4 #5/#6/#7/#8/#20). ## #8 (field_model eigendecompose) is measured only under the eigenvalue feature. [[bench]] name = "dsp_perf_bench" harness = false ## ADR-134: CIR estimator throughput benchmarks [[bench]] name = "cir_bench" harness = false required-features = ["cir"] # ADR-134: CIR deterministic proof runner binary. [[bin]] name = "cir_proof_runner" path = "src/bin/cir_proof_runner.rs" # sha2 added for cir_proof_runner (ADR-134). In workspace root since v2/Cargo.toml:145. # Appended here to avoid touching existing [dependencies] entries owned by the # implementation agent; this addition is purely additive. [dependencies.sha2] workspace = true ## ADR-135: calibration module throughput benchmarks [[bench]] name = "calibration_bench" harness = false # ADR-135: calibration deterministic proof runner binary. [[bin]] name = "calibration_proof_runner" path = "src/bin/calibration_proof_runner.rs"