sequoia-ui 0.1.0

Sequoia GUI framework — facade crate, single dependency for the whole framework
docs.rs failed to build sequoia-ui-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

Sequoia

A reactive GUI framework for Rust with a declarative .seq language.

sequoia-ui is the facade crate for the whole framework. Add it as the single dependency and reach every subsystem through the re-exported modules and the prelude.

Installation

[dependencies]
sequoia-ui = "0.1.0"

Requires Rust 1.88 or newer.

Quick start

use sequoia_ui::prelude::*;

fn main() {
    App::new()
        .title("Hello, Sequoia")
        .size(800.0, 600.0)
        .root(
            Column::new()
                .fill_size()
                .child(Text::new("Hello, Sequoia"))
                .child(Button::new("Click me").on_click(|| println!("clicked!"))),
        )
        .run()
        .expect("failed to run the app");
}

Declarative .seq files

The framework ships with a declarative language (sequoia-ui::seq) that is parsed and lowered into regular views:

use sequoia_ui::prelude::*;

fn main() {
    let loaded = SeqLoader::load_file("Main.seq").expect("invalid .seq file");

    App::new()
        .title(loaded.meta.title)
        .size(loaded.meta.size.0, loaded.meta.size.1)
        .theme(loaded.meta.theme)
        .root(loaded.view)
        .run()
        .expect("failed to run the app");
}

SeqLoader supports loading from disk, inline strings, and in-memory import maps. Use HostBindings to expose Rust signals, actions, and row data to the .seq program.

Modules

The facade re-exports the framework crates as modules, including:

animation, assets, async_bridge, core, draw, elements, export, input, layout, platform, reactive, render, seq, style, text, and view.

License

Licensed under the MIT License.