Skip to main content

sim_lib_scene/
cookbook.rs

1//! Deterministic cookbook builders for Scene recipes.
2
3use sim_kernel::Expr;
4
5use crate::{badge, box_, stack, text_node, validate_scene};
6
7/// Build the Scene used by the text-node cookbook recipe.
8pub fn text_node_demo() -> Expr {
9    let scene = stack(
10        "column",
11        vec![box_(
12            "scene-text-demo",
13            vec![text_node("Hello from a Scene value"), badge("ok", "scene")],
14        )],
15    );
16    debug_assert!(validate_scene(&scene).is_ok());
17    scene
18}
19
20#[cfg(test)]
21mod tests {
22    use super::*;
23
24    #[test]
25    fn text_node_demo_is_a_valid_scene() {
26        validate_scene(&text_node_demo()).expect("demo scene validates");
27    }
28}