mirror of
https://github.com/ruvnet/RuView
synced 2026-07-27 18:11:43 +00:00
521a012d84
New crate wifi-densepose-worldgraph: - model.rs: WorldNode (10 kinds) + WorldEdge (7 relations) as serde enums (no trait objects → deterministic RVF persistence); WorldId, EnuPoint, ZoneBoundsEnu (with point-in-bounds), SemanticProvenance (house-rule tuple) - graph.rs: WorldGraph over petgraph StableDiGraph; upsert/add_edge/neighbors, room_for_area (HomeCore area_id linkage), observed_by/contents_of queries, add_semantic_state (append-with-provenance DerivedFrom), add_contradiction (both beliefs retained), apply_privacy_mode → PrivacyRollup, JSON persistence - 7 tests (upsert/replace, linkage, unknown-endpoint, location, provenance+ contradiction, privacy rollup, deterministic JSON round-trip) - workspace 0 errors Co-Authored-By: claude-flow <ruv@ruv.net>
31 lines
1.3 KiB
Rust
31 lines
1.3 KiB
Rust
//! # WiFi-DensePose WorldGraph (ADR-139)
|
|
//!
|
|
//! The environmental digital twin for the RuView streaming engine: a typed
|
|
//! [`petgraph`] `StableDiGraph` of rooms, zones, walls, doorways, sensors, RF
|
|
//! links, person tracks, object anchors, events, and semantic-state beliefs,
|
|
//! connected by typed relations (observes / located_in / adjacent_to /
|
|
//! supports / contradicts / derived_from / privacy_limited_by).
|
|
//!
|
|
//! It sits downstream of fusion (ADR-137) — storing fused *beliefs*, not raw
|
|
//! frames — and upstream of the semantic/agent layer (ADR-140) and evaluation
|
|
//! harness (ADR-145). Every [`model::WorldNode::SemanticState`] carries
|
|
//! mandatory [`model::SemanticProvenance`] (signal evidence + model +
|
|
//! calibration + privacy decision), honouring the house rule structurally.
|
|
//!
|
|
//! Persistence is via [`graph::WorldGraph::to_json`] /
|
|
//! [`graph::WorldGraph::from_json`] (the RVF payload); the serde-enum node/edge
|
|
//! model guarantees a deterministic, schema-versioned wire layout.
|
|
|
|
#![forbid(unsafe_code)]
|
|
|
|
pub mod error;
|
|
pub mod graph;
|
|
pub mod model;
|
|
|
|
pub use error::WorldGraphError;
|
|
pub use graph::{PrivacyRollup, WorldGraph, WorldGraphSnapshot, SCHEMA_VERSION};
|
|
pub use model::{
|
|
AnchorKind, EnuPoint, SemanticProvenance, SensorModality, WorldEdge, WorldId, WorldNode,
|
|
ZoneBoundsEnu,
|
|
};
|