mirror of
https://github.com/ruvnet/RuView.git
synced 2026-04-26 13:10:40 +00:00
mat, sensing-server, and train all depended on signal with default features enabled, which pulled ndarray-linalg → openblas-src → vcpkg/system-BLAS through the entire workspace. --no-default-features at the workspace root could not opt out of BLAS, breaking cargo build / cargo test on Windows without vcpkg. Set default-features = false on the signal dep in all three consumers so the flag actually propagates. Also gate signal::ruvsense::field_model::tests ::test_estimate_occupancy_noise_only with #[cfg(feature = "eigenvalue")] — the test unwraps a NotCalibrated stub when eigenvalue is compiled out. Validated: cargo test --workspace --no-default-features → 1,538 passed, 0 failed, 8 ignored. ESP32-S3 on COM7 still streams live CSI.
This commit is contained in:
parent
79477c17a9
commit
58a63d6bdf
6 changed files with 26 additions and 4 deletions
15
CHANGELOG.md
15
CHANGELOG.md
|
|
@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
- **Rust workspace build with `--no-default-features` on Windows** (#366, #415) —
|
||||
`wifi-densepose-mat`, `wifi-densepose-sensing-server`, and `wifi-densepose-train`
|
||||
all depended on `wifi-densepose-signal` with default features enabled, which
|
||||
pulled `ndarray-linalg` → `openblas-src` → vcpkg/system-BLAS through the entire
|
||||
workspace. `--no-default-features` at the workspace root then could not opt out
|
||||
of BLAS, breaking `cargo build` / `cargo test` on Windows without vcpkg. All
|
||||
three consumers now declare `wifi-densepose-signal = { ..., default-features = false }`,
|
||||
so `cargo test --workspace --no-default-features` builds cleanly without
|
||||
vcpkg/openblas. Validated: 1,538 tests pass, 0 fail, 8 ignored.
|
||||
- **`signal` test `test_estimate_occupancy_noise_only` failed without `eigenvalue`** —
|
||||
The test unwrapped the `NotCalibrated` stub returned when the BLAS-backed
|
||||
`estimate_occupancy` is compiled out. Gated with `#[cfg(feature = "eigenvalue")]`
|
||||
so it only runs when the real implementation is available.
|
||||
|
||||
## [v0.6.2-esp32] — 2026-04-20
|
||||
|
||||
Firmware release cutting ADR-081 and the Timer Svc stack fix discovered during
|
||||
|
|
|
|||
1
rust-port/wifi-densepose-rs/Cargo.lock
generated
1
rust-port/wifi-densepose-rs/Cargo.lock
generated
|
|
@ -7979,6 +7979,7 @@ dependencies = [
|
|||
"chrono",
|
||||
"clap",
|
||||
"futures-util",
|
||||
"ruvector-mincut",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"tempfile",
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ serde = ["dep:serde", "chrono/serde", "geo/use-serde"]
|
|||
[dependencies]
|
||||
# Workspace dependencies
|
||||
wifi-densepose-core = { version = "0.3.0", path = "../wifi-densepose-core" }
|
||||
wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal" }
|
||||
wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal", default-features = false }
|
||||
wifi-densepose-nn = { version = "0.3.0", path = "../wifi-densepose-nn" }
|
||||
ruvector-solver = { workspace = true, optional = true }
|
||||
ruvector-temporal-tensor = { workspace = true, optional = true }
|
||||
|
|
|
|||
|
|
@ -44,8 +44,11 @@ clap = { workspace = true }
|
|||
# Multi-BSSID WiFi scanning pipeline (ADR-022 Phase 3)
|
||||
wifi-densepose-wifiscan = { version = "0.3.0", path = "../wifi-densepose-wifiscan" }
|
||||
|
||||
# Signal processing with RuvSense pose tracker (accuracy sprint)
|
||||
wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal" }
|
||||
# Signal processing with RuvSense pose tracker (accuracy sprint).
|
||||
# default-features = false drops the optional ndarray-linalg/BLAS chain so that
|
||||
# `--no-default-features` at the workspace root can produce a Windows-friendly
|
||||
# build without vcpkg/openblas (issue #366, #415).
|
||||
wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal", default-features = false }
|
||||
|
||||
[dev-dependencies]
|
||||
tempfile = "3.10"
|
||||
|
|
|
|||
|
|
@ -1232,6 +1232,9 @@ mod tests {
|
|||
}
|
||||
}
|
||||
|
||||
// estimate_occupancy() falls back to a NotCalibrated stub without the
|
||||
// `eigenvalue` feature, so this test only makes sense with BLAS enabled.
|
||||
#[cfg(feature = "eigenvalue")]
|
||||
#[test]
|
||||
fn test_estimate_occupancy_noise_only() {
|
||||
let config = FieldModelConfig {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ cuda = ["tch-backend"]
|
|||
|
||||
[dependencies]
|
||||
# Internal crates
|
||||
wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal" }
|
||||
wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal", default-features = false }
|
||||
wifi-densepose-nn = { version = "0.3.0", path = "../wifi-densepose-nn" }
|
||||
|
||||
# Core
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue