Files
ruvnet--RuView/v2/crates/ruview-unified/src/synth/mod.rs
T
rUv 2e018f4f19 feat(ruview-unified): Unified RF spatial world model — ADR-273..282 (#1437)
Native frame contract, universal RF encoder, RF-aware Gaussian spatial memory, physics-guided synthetic RF worlds, edge sensing control plane, BLE-CS + factorized pose. All 10 ADRs (273-282) fully implemented and tested (99 tests); ADR-278 (radar inverse rendering) honestly gated with zero code as a future research program.

Deep-reviewed and hardware-tested against a live ESP32-C6 CSI node before merge: fixed a reachable panic, a silent NaN-corruption path, a cross-entity Gaussian conflation bug, and a wrong-center-frequency bug in the WiFi adapter (confirmed live: was misreporting channel 4 as 2437 MHz, now correctly reports 2427 MHz matching the hardware parser exactly). Added a standing hardware-in-the-loop test (examples/esp32_live_hardware_test.rs). Also fixed unrelated pre-existing issues surfaced during validation (wifi-densepose-core clippy warnings, a ruview-auth Windows build break, a sensing-server test flake).

Full review: https://gist.github.com/ruvnet/89795f3c4b8ea166cff5ac35ae4c7651
2026-07-26 14:37:56 -07:00

28 lines
1.3 KiB
Rust
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//! Physics-guided synthetic RF world generator (ADR-276).
//!
//! Generates labeled CSI windows from first-principles multipath physics —
//! shoebox rooms via the AllenBerkley image method (reflection order ≤ 2),
//! Fresnel wall materials with complex permittivity, moving people as
//! bistatic point scatterers (Doppler emerges from path-length change, it is
//! never injected), plus domain randomization of the *physics* parameters
//! (materials, geometry, chipset gain/phase/noise, CFO, packet loss,
//! interference) rather than cosmetic noise.
//!
//! Everything is seeded ChaCha20-deterministic, and every tensor produced
//! here is stamped [`crate::tensor::RfModality::Synthetic`] — the honest
//! label ADR-276 requires until results are validated on measured data.
//!
//! Physics anchors proven in tests:
//! - direct path amplitude ≡ Friis (`raytrace::tests::direct_path_is_exact_friis`)
//! - reciprocity `H(a→b) = H(b→a)`
//! - first-order reflection delay ≡ mirror-image geometry
//! - a walking person produces the analytically expected Doppler phase rate
pub mod generator;
pub mod raytrace;
pub mod room;
pub use generator::{LabeledWindow, SynthConfig, SynthGenerator};
pub use raytrace::{enumerate_paths, synthesize_csi, PathContribution};
pub use room::{Material, PersonSpec, RoomSpec};