rae 0.1.12

Renderer-neutral widget, layout, sanitization, and GLSL shader primitives for Rust desktop tools.
Documentation
use rae::{build_layout_recipe, built_in_recipe_kinds, AppRecipeKind, Rect};

fn main() {
    let viewport = Rect::new(0.0, 0.0, 1440.0, 900.0);

    for kind in built_in_recipe_kinds() {
        let recipe = build_layout_recipe(kind, viewport);
        println!("{}: {} slots", kind.label(), recipe.slots.len());
        for slot in recipe.slots.iter().take(4) {
            println!(
                "- {:<12} {:>5.0}x{:<5.0} emphasis={:.2}",
                slot.id, slot.rect.width, slot.rect.height, slot.emphasis
            );
        }
    }

    let compact = build_layout_recipe(AppRecipeKind::AiChat, Rect::new(0.0, 0.0, 720.0, 620.0));
    println!(
        "compact ai chat has transcript={} prompt={} navigation={}",
        compact.slot("transcript").is_some(),
        compact.slot("prompt").is_some(),
        compact.slot("navigation").is_some()
    );
}