diff --git a/Cargo.lock b/Cargo.lock index 84b8678..7741427 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1744,6 +1744,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" +[[package]] +name = "llimphi" +version = "0.1.0" +dependencies = [ + "llimphi-3d", + "llimphi-theme", + "llimphi-ui", +] + [[package]] name = "llimphi-3d" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 5c45365..a57a9ab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ [workspace] resolver = "2" members = [ - "llimphi-hal", "llimphi-raster", "llimphi-layout", "llimphi-text", + "llimphi", "llimphi-hal", "llimphi-raster", "llimphi-layout", "llimphi-text", "llimphi-ui", "llimphi-theme", "llimphi-surface", "llimphi-motion", "llimphi-icons", "llimphi-compositor", "llimphi-workspace", "widgets/*", "modules/*", "shared/app-bus", diff --git a/llimphi/Cargo.toml b/llimphi/Cargo.toml new file mode 100644 index 0000000..3ab56a7 --- /dev/null +++ b/llimphi/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "llimphi" +version.workspace = true +edition.workspace = true +license.workspace = true +authors.workspace = true +publish.workspace = true +description = "Native Rust UI framework — 2D and 3D. Facade over the llimphi stack: a retained-mode, Elm-style View loop on vello + wgpu + taffy + parley, plus a 3D voxel engine that mounts into the 2D layout tree. Re-exports llimphi-ui (core), llimphi-theme and llimphi-3d." +repository = "https://github.com/tawasuyu/llimphi" +homepage = "https://github.com/tawasuyu/llimphi" +keywords = ["gui", "ui", "wgpu", "vello", "framework"] +categories = ["gui", "rendering"] + +[dependencies] +llimphi-ui = { path = "../llimphi-ui", version = "0.1.0" } +llimphi-theme = { path = "../llimphi-theme", version = "0.1.0" } +llimphi-3d = { path = "../llimphi-3d", version = "0.1.0" } diff --git a/llimphi/src/lib.rs b/llimphi/src/lib.rs new file mode 100644 index 0000000..b7a5ace --- /dev/null +++ b/llimphi/src/lib.rs @@ -0,0 +1,28 @@ +//! # llimphi — native Rust UI framework (2D **and** 3D) +//! +//! Sovereign, retained-mode UI framework with an Elm-style loop +//! (`input → update → view → layout → raster → present`), built on +//! `vello` + `wgpu` + `taffy` + `parley`. This is the **facade** crate: it +//! re-exports the core ([`ui`]) plus the [`theme`] tokens and the 3D +//! [`engine3d`]. For widgets and modules, add the individual +//! `llimphi-widget-*` / `llimphi-module-*` crates. +//! +//! ```no_run +//! use llimphi::{App, View, Handle}; // re-exported from llimphi-ui +//! ``` +//! +//! - **Core / Elm loop, `View` DSL:** [`ui`] (`llimphi-ui`). +//! - **Theme tokens & palettes:** [`theme`] (`llimphi-theme`). +//! - **3D voxel + mesh engine:** [`engine3d`] (`llimphi-3d`). + +#![doc(html_root_url = "https://docs.rs/llimphi")] + +/// The framework core — Elm loop, `View`, HAL/raster/layout/text re-exports. +pub use llimphi_ui as ui; +/// Semantic color themes (Dark/Light/Aurora/Sunset/Tawa) and tokens. +pub use llimphi_theme as theme; +/// The 3D engine: voxel ray-march + triangle meshes in a shared depth pass. +pub use llimphi_3d as engine3d; + +// Convenience: the most-used core items (App, View, Handle, …) at the crate root. +pub use llimphi_ui::*;