这个项目能做什么

Clay(C 布局)是一个用 C 语言编写的高性能 2D UI 布局库。它提供类似 Flexbox 的布局模型,用于构建复杂、响应式的界面,包括文本换行、滚动容器和宽高比缩放。该库以单个头文件形式分发,零依赖且无需链接标准库。它使用基于静态竞技场的内存管理,无需 malloc/free,并支持编译为小型 WebAssembly 模块以在浏览器中使用。Clay 通过 C 宏(如 CLAY()、CLAY_TEXT() 和 CLAY_ID())采用类似 React 的嵌套声明式语法。它不依赖特定渲染器,输出排序后的渲染原语列表,可在任何 3D 引擎中合成或编译为 HTML。API 包括指针和悬停交互处理、滚动容器、浮动元素、自定义元素布局、过渡动画、保留模式渲染、可见性剔除和调试工具。此外,还提供了 C 以外的语言绑定。