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 movement;
|
||||||
mod pipeline;
|
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 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 movement::{MovementClassifier, MovementClassifierConfig};
|
||||||
pub use pipeline::{DetectionPipeline, DetectionConfig, VitalSignsDetector, CsiDataBuffer};
|
pub use pipeline::{DetectionPipeline, DetectionConfig, VitalSignsDetector, CsiDataBuffer};
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ mod triangulation;
|
|||||||
mod depth;
|
mod depth;
|
||||||
mod fusion;
|
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 depth::{DepthEstimator, DepthEstimatorConfig};
|
||||||
pub use fusion::{PositionFuser, LocalizationService};
|
pub use fusion::{PositionFuser, LocalizationService};
|
||||||
|
|||||||
@@ -380,7 +380,9 @@ mod tests {
|
|||||||
// Integration 5: Multi-AP TDoA triangulation via NeumannSolver
|
// Integration 5: Multi-AP TDoA triangulation via NeumannSolver
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#[cfg(feature = "ruvector")]
|
||||||
use ruvector_solver::neumann::NeumannSolver;
|
use ruvector_solver::neumann::NeumannSolver;
|
||||||
|
#[cfg(feature = "ruvector")]
|
||||||
use ruvector_solver::types::CsrMatrix;
|
use ruvector_solver::types::CsrMatrix;
|
||||||
|
|
||||||
/// Solve multi-AP TDoA survivor localization using NeumannSolver.
|
/// Solve multi-AP TDoA survivor localization using NeumannSolver.
|
||||||
@@ -396,6 +398,7 @@ use ruvector_solver::types::CsrMatrix;
|
|||||||
///
|
///
|
||||||
/// # Returns
|
/// # Returns
|
||||||
/// Some((x, y)) estimated survivor position in metres, or None if underdetermined
|
/// Some((x, y)) estimated survivor position in metres, or None if underdetermined
|
||||||
|
#[cfg(feature = "ruvector")]
|
||||||
pub fn solve_tdoa_triangulation(
|
pub fn solve_tdoa_triangulation(
|
||||||
tdoa_measurements: &[(usize, usize, f32)],
|
tdoa_measurements: &[(usize, usize, f32)],
|
||||||
ap_positions: &[(f32, f32)],
|
ap_positions: &[(f32, f32)],
|
||||||
@@ -466,7 +469,7 @@ pub fn solve_tdoa_triangulation(
|
|||||||
Some((x_sol + x_ref, y_sol + y_ref))
|
Some((x_sol + x_ref, y_sol + y_ref))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(all(test, feature = "ruvector"))]
|
||||||
mod triangulation_tests {
|
mod triangulation_tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user