wifi_densepose_worldgraph/lib.rs
1//! # WiFi-DensePose WorldGraph (ADR-139)
2//!
3//! The environmental digital twin for the RuView streaming engine: a typed
4//! [`petgraph`] `StableDiGraph` of rooms, zones, walls, doorways, sensors, RF
5//! links, person tracks, object anchors, events, and semantic-state beliefs,
6//! connected by typed relations (observes / located_in / adjacent_to /
7//! supports / contradicts / derived_from / privacy_limited_by).
8//!
9//! It sits downstream of fusion (ADR-137) — storing fused *beliefs*, not raw
10//! frames — and upstream of the semantic/agent layer (ADR-140) and evaluation
11//! harness (ADR-145). Every [`model::WorldNode::SemanticState`] carries
12//! mandatory [`model::SemanticProvenance`] (signal evidence + model +
13//! calibration + privacy decision), honouring the house rule structurally.
14//!
15//! Persistence is via [`graph::WorldGraph::to_json`] /
16//! [`graph::WorldGraph::from_json`] (the RVF payload); the serde-enum node/edge
17//! model guarantees a deterministic, schema-versioned wire layout.
18
19#![forbid(unsafe_code)]
20
21pub mod error;
22pub mod graph;
23pub mod model;
24
25pub use error::WorldGraphError;
26pub use graph::{PrivacyRollup, WorldGraph, WorldGraphSnapshot, SCHEMA_VERSION};
27pub use model::{
28 AnchorKind, EnuPoint, SemanticProvenance, SensorModality, WorldEdge, WorldId, WorldNode,
29 ZoneBoundsEnu,
30};