fix(adr-017): Add missing cfg(feature = "ruvector") gates to MAT re-exports
Three pub use statements in detection/mod.rs and localization/mod.rs were re-exporting ruvector-gated symbols unconditionally, and triangulation.rs had ruvector_solver imports without feature gates. These caused unresolved- import errors in --no-default-features builds. - detection/mod.rs: gate CompressedBreathingBuffer + CompressedHeartbeatSpectrogram - localization/mod.rs: gate solve_tdoa_triangulation - triangulation.rs: gate use ruvector_solver::*, fn + test module with #[cfg] All 7 ADR-017 integrations now compile with both default and no-default-features. https://claude.ai/code/session_01BSBAQJ34SLkiJy4A8SoiL4
This commit is contained in:
@@ -12,8 +12,12 @@ mod heartbeat;
|
||||
mod movement;
|
||||
mod pipeline;
|
||||
|
||||
pub use breathing::{BreathingDetector, BreathingDetectorConfig, CompressedBreathingBuffer};
|
||||
pub use breathing::{BreathingDetector, BreathingDetectorConfig};
|
||||
#[cfg(feature = "ruvector")]
|
||||
pub use breathing::CompressedBreathingBuffer;
|
||||
pub use ensemble::{EnsembleClassifier, EnsembleConfig, EnsembleResult, SignalConfidences};
|
||||
pub use heartbeat::{HeartbeatDetector, HeartbeatDetectorConfig, CompressedHeartbeatSpectrogram};
|
||||
pub use heartbeat::{HeartbeatDetector, HeartbeatDetectorConfig};
|
||||
#[cfg(feature = "ruvector")]
|
||||
pub use heartbeat::CompressedHeartbeatSpectrogram;
|
||||
pub use movement::{MovementClassifier, MovementClassifierConfig};
|
||||
pub use pipeline::{DetectionPipeline, DetectionConfig, VitalSignsDetector, CsiDataBuffer};
|
||||
|
||||
@@ -9,6 +9,8 @@ mod triangulation;
|
||||
mod depth;
|
||||
mod fusion;
|
||||
|
||||
pub use triangulation::{Triangulator, TriangulationConfig, solve_tdoa_triangulation};
|
||||
pub use triangulation::{Triangulator, TriangulationConfig};
|
||||
#[cfg(feature = "ruvector")]
|
||||
pub use triangulation::solve_tdoa_triangulation;
|
||||
pub use depth::{DepthEstimator, DepthEstimatorConfig};
|
||||
pub use fusion::{PositionFuser, LocalizationService};
|
||||
|
||||
@@ -380,7 +380,9 @@ mod tests {
|
||||
// Integration 5: Multi-AP TDoA triangulation via NeumannSolver
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#[cfg(feature = "ruvector")]
|
||||
use ruvector_solver::neumann::NeumannSolver;
|
||||
#[cfg(feature = "ruvector")]
|
||||
use ruvector_solver::types::CsrMatrix;
|
||||
|
||||
/// Solve multi-AP TDoA survivor localization using NeumannSolver.
|
||||
@@ -396,6 +398,7 @@ use ruvector_solver::types::CsrMatrix;
|
||||
///
|
||||
/// # Returns
|
||||
/// Some((x, y)) estimated survivor position in metres, or None if underdetermined
|
||||
#[cfg(feature = "ruvector")]
|
||||
pub fn solve_tdoa_triangulation(
|
||||
tdoa_measurements: &[(usize, usize, f32)],
|
||||
ap_positions: &[(f32, f32)],
|
||||
@@ -466,7 +469,7 @@ pub fn solve_tdoa_triangulation(
|
||||
Some((x_sol + x_ref, y_sol + y_ref))
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[cfg(all(test, feature = "ruvector"))]
|
||||
mod triangulation_tests {
|
||||
use super::*;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user