zenith_core/parse/transform/mod.rs
1//! KDL-node-tree → Zenith AST transform.
2//!
3//! All fallible helpers return `Result<_, ParseError>` so no `.unwrap()` or
4//! `.expect()` appears anywhere in this module tree.
5//!
6//! Wiring only: submodules carry the logic, grouped by node cohesion.
7//! - `helpers`: shared span/value-extraction helpers.
8//! - `document`: the top-level `transform` entry plus the document-level
9//! structural blocks (project/assets/libraries/.../pages).
10//! - `tokens`: the `tokens { … }` and `styles { … }` blocks.
11//! - `node`: the per-node-kind dispatch edge (`node::transform_node`).
12//! - `page`: `page { … }` block transform and `PAGE_KNOWN_PROPS`.
13//! - `pattern`: `pattern` node transform.
14//! - `chart`: `chart` node transform.
15//! - `leaf`/`container`/`special`: the renderable node transforms.
16
17mod block_style;
18mod chart;
19mod container;
20mod document;
21mod effect;
22mod helpers;
23mod leaf;
24mod node;
25mod page;
26mod pattern;
27mod special;
28mod tokens;
29
30pub use document::transform;
31pub(crate) use document::{
32 ASSET_KNOWN_PROPS, DOCUMENT_KNOWN_PROPS, transform_brand_contract, transform_diagnostic_policy,
33};
34pub(crate) use helpers::known_props_for_kind;
35pub(crate) use page::PAGE_KNOWN_PROPS;