Move the reconciler into the lifecycle crate, so that we can (properly) support state changes. Wrap the reconciliation phase in a RenderEngine, which root-level objects (windows, etc) can subscribe to and interface with. Migrate a few things relating to themes out of alchemy core and into styles, because the reconciliation phase requires them and they fit well enough there... solving a circular dependency.
This commit is contained in:
parent
f1cb5fea93
commit
6833e39d52
16 changed files with 57 additions and 1098 deletions
|
|
@ -7,7 +7,19 @@
|
|||
//! It also includes the `RSX` enum, which is what `render()` methods generally
|
||||
//! return. It's common enough to multiple crates, and is intricately linked to the
|
||||
//! `Component` lifecycle, so it'll live here.
|
||||
//!
|
||||
//! This crate also includes the diffing and patching system for the widget tree -
|
||||
//! it needs to live with the `Component` lifecycle to enable state updating.
|
||||
|
||||
use alchemy_styles::lazy_static;
|
||||
|
||||
pub mod error;
|
||||
pub mod rsx;
|
||||
pub mod traits;
|
||||
|
||||
mod reconciler;
|
||||
use reconciler::RenderEngine;
|
||||
|
||||
lazy_static! {
|
||||
pub static ref RENDER_ENGINE: RenderEngine = RenderEngine::new();
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue