sim_lib_view_bridge/lib.rs
1//! Reversible BRIDGE packet review surface for SIM Web.
2//!
3//! This is the human seat on a BRIDGE conversation. It renders one `BridgePacket`
4//! (from `sim-codec-bridge`) as Scene data via `bridge_packet_view` and decodes
5//! ordinary `intent/edit-field` values back into typed BRIDGE collaboration parts
6//! via `bridge_packet_edit`. It is a view codec at the surface position, not a new
7//! protocol.
8//!
9//! The point is symmetry: a human and an agent edit the *same* packet expression,
10//! and a patch, review, vote, or receipt a person makes
11//! (`patch_edit_intent` / `review_edit_intent` / `vote_edit_intent` /
12//! `receipt_edit_intent`) is the identical BRIDGE part record a model produces.
13//! So the merge policy in `sim-lib-bridge` cannot tell a human reviewer from a
14//! model reviewer -- there is one shared object, not a browser copy beside a model
15//! copy. `BridgePacketSurfaceCodec` / `BRIDGE_PACKET_SURFACE_CODEC_ID` register
16//! the surface; `packet_review_demo` is the runnable cookbook seat.
17
18#![forbid(unsafe_code)]
19#![deny(missing_docs)]
20
21pub mod cookbook;
22mod glasses_review;
23mod surface;
24
25pub use cookbook::packet_review_demo;
26pub use glasses_review::{
27 BRIDGE_WARRANT_REVIEW_MISSION_NAME, BRIDGE_WARRANT_REVIEW_MISSION_NAMESPACE,
28 BridgeGlassesReviewInput, VITURE_WARRANT_REVIEW_PANEL_ID, WarrantReviewDecision,
29 halo_warrant_glance_pager, viture_warrant_review_panel, viture_warrant_review_scene,
30 warrant_review_intent, warrant_review_intent_from_glasses_input, warrant_review_mission,
31};
32pub use surface::{
33 BRIDGE_PACKET_SURFACE_CODEC_ID, BridgePacketSurfaceCodec, bridge_packet_edit,
34 bridge_packet_view, patch_edit_intent, receipt_edit_intent, review_edit_intent,
35 vote_edit_intent,
36};
37
38#[cfg(test)]
39mod glasses_tests;
40#[cfg(test)]
41mod tests;