ByteNoteByteNote
把 Blender 的界面抠出来当 UI 库:BUI 要做快车道
字

字节笔记本

2026年11月7日 · 约 3 分钟读完

把 Blender 的界面抠出来当 UI 库:BUI 要做快车道

API中转
¥120

Blender 的界面有个鲜为人知的特点:又快又独特——GPU 加速绘制、自成一套的部件体系,用了二十多年。一个新项目 BUI(ppmpreetham/BUI,GPL-3.0)做的事情是把这套界面从 Blender 源码里解耦出来(部件绘制与交互规则源自 Blender 的 interface_widgets.cc),做成独立的通用 UI 库。HN 上 687 分、278 条评论(2026-11-07 快照);仓库 2026 年 8 月 26 日创建,快照 1,526 星、41 fork——约两个半月,很早期。

BUI 仓库 README 组件画廊截图

小 C 核心 + 多语言绑定

BUI 文档站页面截图

架构上是一个小的 C 核心,外面一圈绑定:

  • Python:现有 tkinter 程序不改代码直接跑(覆盖 7,846 个 tkinter/ttk 公开名字);另提供 Qt 风格语法;
  • Rust:HTML+CSS/Tailwind 写法(113 个 HTML 元素、flexbox/grid、@container、:has() 都支持)配 rsx!/view! 宏,另有 gpui 兼容语法;
  • JavaScript:DOM 风格 API,JSX/Svelte 组件;
  • 外加 C、C++ 与 Dear ImGui 直接可用;
  • 自带 45 个 Blender 原生部件与编辑器。

分发已经铺开:PyPI blenderui、crates.io blenderui、npm @blender-ui/react,文档站 bui.preetham.top。

"比 GPUI 快两倍":作者口径

仓库简介原话是 "Twice as good as GPUI"——这是作者自己的宣传口径,不是独立实测。README 里另有自测基准章节(启动时间、帧时间、JS/React 启动与动画),并附了"自己跑基准"的指南——想验证的可以按它的实验条件自己复现,数字在第三方跑过之前先打个折。

已知局限(README 原话)

尚无无障碍支持、无输入法支持、界面长得像 Blender 而不像操作系统。前两条对严肃桌面产品是硬伤,第三条是审美取向——Blender 风格本身有一批拥趸。

判断

这个项目的真正话题不是"又一个 UI 库",而是界面资产的回收:一套被全球 3D 艺术家用了几十年的界面,本来就是经过大规模人体验证的交互资产,把它拆成通用零件,等于把"设计手感"变成可复用的库。对被 GPUI 绑定生态与 Electron 性能卡住的开发者,多了一个观察样本。三点校准:① 两个半月、单人作者,API 必然在变;② "快两倍"未经第三方复现;③ GPL-3.0——链接它的应用要注意传染性条款,商用前先看许可证。

参考来源

相关文章

分享: