Skip to main content

plushie_renderer_engine/
lib.rs

1//! Renderer-internal state engine and wire codec.
2//!
3//! This crate holds the pieces of the Plushie renderer that widget
4//! authors do not need at compile time: the pure UI tree state
5//! machine (`Core`), the retained node tree (`Tree`), and the wire
6//! codec (`Codec`).
7//!
8//! The split keeps `plushie-widget-sdk` focused on the public widget-
9//! author surface while consolidating the renderer-internal modules
10//! used by `plushie-renderer-lib`, `plushie-renderer`, the WASM
11//! entry point, and the Rust SDK direct runner here.
12//!
13//! # Dependency direction
14//!
15//! ```text
16//! plushie-core
17//!       |
18//!       v
19//! plushie-widget-sdk
20//!       |
21//!       v
22//! plushie-renderer-engine    (this crate)
23//!       |
24//!       v
25//! plushie-renderer-lib
26//! ```
27
28pub use crate::codec::{Codec, MAX_MESSAGE_SIZE};
29pub use crate::engine::{Core, CoreEffect, Dispatch, Emit, StateChange, SubscriptionEntry};
30
31mod codec;
32mod engine;
33pub mod tree;