diff --git a/v2/crates/wifi-densepose-pointcloud/src/camera.rs b/v2/crates/wifi-densepose-pointcloud/src/camera.rs index 1ee83fac..ff150772 100644 --- a/v2/crates/wifi-densepose-pointcloud/src/camera.rs +++ b/v2/crates/wifi-densepose-pointcloud/src/camera.rs @@ -188,6 +188,8 @@ Thread.sleep(forTimeInterval: 3)"#, bail!("macOS camera capture requires GUI session with camera permission") } +// Used only by the macOS capture path above; dead on other targets. +#[allow(dead_code)] fn decode_jpeg_to_rgb(path: &PathBuf, _width: u32, _height: u32) -> Result { let data = std::fs::read(path)?; let _ = std::fs::remove_file(path); diff --git a/v2/crates/wifi-densepose-ruvector/src/viewpoint/coherence.rs b/v2/crates/wifi-densepose-ruvector/src/viewpoint/coherence.rs index 1c05bdbf..3543ed78 100644 --- a/v2/crates/wifi-densepose-ruvector/src/viewpoint/coherence.rs +++ b/v2/crates/wifi-densepose-ruvector/src/viewpoint/coherence.rs @@ -261,9 +261,15 @@ pub enum ClockGateDecision { /// Both terms pass: node admitted at full weight. Admit, /// Phase OK but clock degraded: evidence-only, NO environment/model update. - MonitorOnly { clock_quality: f32 }, + MonitorOnly { + /// Combined clock-quality score in [0, 1] (dispersion × age terms). + clock_quality: f32, + }, /// Either term fails hard: node excluded this cycle. - Reject { reason: ClockRejectReason }, + Reject { + /// Which hard term failed (phase, dispersion, or age). + reason: ClockRejectReason, + }, } /// Clock-quality gate: combines the phase [`CoherenceGate`] with clock diff --git a/v2/crates/wifi-densepose-sensing-server/src/matter/clusters.rs b/v2/crates/wifi-densepose-sensing-server/src/matter/clusters.rs index f5153871..51331b45 100644 --- a/v2/crates/wifi-densepose-sensing-server/src/matter/clusters.rs +++ b/v2/crates/wifi-densepose-sensing-server/src/matter/clusters.rs @@ -145,6 +145,8 @@ pub fn matter_mapping(entity: EntityKind) -> Option { } /// True iff the entity has a Matter exposure on a current spec cluster. +// P2 Matter-publisher API surface; real Matter exposure is deferred (ADR-159 §A5). +#[allow(dead_code)] pub fn entity_on_matter(entity: EntityKind) -> bool { matter_mapping(entity).is_some() } @@ -152,6 +154,8 @@ pub fn entity_on_matter(entity: EntityKind) -> bool { /// Compute the next available endpoint ID for a node-scoped entity, /// given a starting offset (the bridge's first child endpoint). Used /// by the publisher to assign per-primitive endpoints deterministically. +// P2 Matter-publisher API surface; real Matter exposure is deferred (ADR-159 §A5). +#[allow(dead_code)] pub fn next_endpoint(base: u16, primitive_index: u16) -> u16 { base.saturating_add(primitive_index) }