lieui 0.1.0-alpha.1

A retained-tree GUI toolkit in pure Rust: retained view tree + reactive signals + pure-CPU rendering
docs.rs failed to build lieui-0.1.0-alpha.1
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.
Visit the last successful build: lieui-0.0.1

lieui

lieui is a GUI toolkit in pure Rust: a retained view tree aligned against per-frame descriptions, a tiny reactive layer, and pure-CPU rendering (vello_cpu) with damage-rect tracking.

lieui 是一个纯 Rust 的 GUI 库:保留视图树 + 描述对齐架构、轻量响应式信号、 纯 CPU 渲染(vello_cpu)与脏区局部重绘。

use lieui::prelude::*;

struct Counter(i32);
impl ViewModel for Counter {
    fn view(self: &Rc<Self>, v: &mut ViewBuf) {
        v.column(|c| {
            c.gap(8.0);
            c.text(format!("clicked {} times", self.0));
            c.button("click me").on_tap(|cx| { /* 读写模型 */ });
        });
    }
}

Highlights / 特性

  • Retained tree + per-frame align:每帧产出描述树,与保留树对齐补丁(复用节点、保留交互态);
  • Reactive signals:Signal 驱动 view() 重跑,双向绑定(slider / checkbox / input)零回弹;
  • Pure-CPU rendering:无 GPU 依赖,脏区行带局部光栅化 + 局部上屏;
  • Batteries included:布局引擎、文本测度缓存、滚动、弹层锚点定位、自定义绘制节点。

Crates / 工作区

crate 说明
lieui 主 crate:视图树、响应式、渲染、平台层(winit,可关)
lieui-layout 零依赖 Flexbox 布局引擎(Taitank 风格)
lieui-text 文本测度与排版(parley 封装 + 缓存)
lieui-geom 基础几何与颜色类型

License / 许可

Dual-licensed under either of

at your option.

双许可(MIT OR Apache-2.0),任选其一。