#![forbid(unsafe_code)]
#![deny(missing_docs)]
mod budget;
mod codec;
mod intent;
mod model;
mod scene;
use std::sync::Arc;
use sim_lib_view::LensRegistry;
pub use codec::{
EXPRESSION_TREE_SURFACE_CODEC_ID, ExpressionTreeSurfaceCodec,
expression_tree_surface_codec_symbol,
};
pub use model::{
ChildPage, ExpressionTreeSnapshot, FaceSnapshot, FaceState, Freshness, NodeDetail,
NodeSnapshot, ReceiptSummary, TimestampSummary,
};
#[cfg(test)]
mod tests;
pub const fn crate_identity() -> &'static str {
"sim-lib-view-expr-tree"
}
pub fn runtime_identity() -> &'static str {
sim_lib_expr_tree::crate_identity()
}
pub fn register_expression_tree_surface_codec(registry: &mut LensRegistry) {
registry.register_surface_codec(
expression_tree_surface_codec_symbol(),
Arc::new(ExpressionTreeSurfaceCodec::new()),
);
}