▍改名发生在发热的第二天
11-08 22:35 UTC,作者 dcoulmbe 把 KetchUp——一个开源的 SketchUp 替代品——发上 Hacker News,链接是 ketchup3d.github.io/app/。
6 个小时后(11-09 04:38 UTC),仓库的 v0.6.6 发布,第一行就是改名公告:「KetchUp is now BenchUp」——新品牌、新 .bup 工程文件,存量工程、自动保存数据、偏好设置和桌面端自动更新全部兼容(GitHub releases 时间戳,2026-11-10 快照)。
第二天起,评论区开始有人问「seems to have been renamed to BenchUp now?」,官网新旧名字各说各话。
旧域名 ketchup3d.github.io 至今还活着,canonical 标签指向 benchup3d.github.io/editor/,首屏标题已是「BenchUp — Free 3D Woodworking & Furniture Design App」,og:image 还挂在旧品牌图上。
改名不是心血来潮。作者在讨论区的回复里承认:「之前没把这名字当回事,直到 GitHub 上的星开始变多,我觉得我要把它改成 Dovetail3D 了」。
Dovetail(燕尾榫)是木工接合的学名,玩笑方向;落地的名字是 BenchUp,bench(工作台面)加 up。
名字的故事更早:作者说原名就是 KetchUp(SketchUp)去掉 subscription 的 S。SketchUp 2017 年被 Google 卖给了 Trimble,先砍掉免费版,桌面版转成每年几百刀的订阅制(线程用户转述)——名字指的落差就在这。

▍一个人、纯 AI 写的 3D 建模器
仓库描述原话是「100% vibe-coded, only the finest slop」,还强调渲染速度和 UI/UX。
作者不是新手——他在帖子里回应「slop」质疑时说自己写了 20 多年代码,「我知道怎么给应用做压测」。
项目 2026-10-23 建库,到 11-10 快照:635 星、27 fork、15 个 open issue、MIT 许可(GitHub API,2026-11-10)。
节奏是 14 个 release:10-23 的 v0.1.0 到 11-09 的 v0.6.6,17 天 14 个版,中间 11-06 一天连发 3 个。
功能面的铺法很怪——不是通用 CAD,而是一把木工尺子:画线、矩形、圆、多边形、自由手绘,Push/Pull 挤出厚度,精确数字输入(5m,50mm 这种格式),几何吸附,卷尺和量角器建参考线。
往上叠的是木工专属层:榫卯(mortise-and-tenon、half-lap、tongue-and-groove、rabbet、dovetail、finger joint,含斜接)、木纹方向标注(随零件旋转保存)、板材材料库加砂纸目数和清漆配置,最后是 cut list、切割计划和工时成本估算,一键出 PDF 车间标签。
没有账号,没有云:模型本地自动保存,工程文件 .bup(gzip 压缩的 JSON),兼容旧版 .k3d 和 .ketchup。互操作上,SketchUp .skp 只进几何、纹理和场景不支持;导出是 OBJ 不含材质,线程里有人说菜单里还有 STL,这条我没在官方文档里核实到,只当二手转述。

▍为什么是 Rust + WebGPU
语言构成按字节算:Rust 4,000,750,占全部 4,272,583 字节的 93.6%,剩下是 JavaScript(Trunk 生成的 WASM 胶水)、Python(构建脚本)、HTML/CSS(启动屏)、18KB 的 WGSL 和 7KB 的 C++(GitHub API,2026-11-10)。
那 7KB C++ 是 .skp 读取器的桌面原生模块——桌面构建要 C/C++17 编译器,浏览器构建不需要。
渲染走 wgpu:桌面是原生 GPU,浏览器优先 WebGPU、回退 WebGL2。整个 UI 不是 HTML——菜单、工具栏、检查器面板全画在一个 canvas 上,启动屏才用 HTML。
这个选择解释了帖子里那条评价「Rust 的浏览器 UI 用起来顺手,连文字渲染都讲究」:文字、圆角、暗色主题都是自绘。
性能对比只有一组,出自作者本人:「我的 slop 跑同一个文件 240 FPS,SketchUp 45」,他标了 real data。
这条没复现:一是没在桌面跑 SketchUp,二是线程里有人指出浏览器帧率受显示器刷新率封顶,240 帧的说法存疑。下文所有涉及帧率的结论都按「作者自报、未复现」处理。
▍本机跑通到什么程度
本机 2 核 EPYC 9354P、无 GPU、rustc 1.99.0。
我用无头 Chromium(swiftshader)直接开了官方 Web demo benchup3d.github.io/editor/play/:WASM 加载成功,整个编辑器渲染出来,控制台日志显示走的是 WebGL 软件回退——没有 GPU,WebGPU 用不上。
交互走到这一步:Escape 关掉首屏的 release notes 弹窗(弹窗内容就是改名公告),按 R 进矩形工具,输入 1m,0.5m 回车,画出一个 1×0.5 米的面,视图里能看到带「On plane」标签的矩形;右键唤出对象菜单,13 个条目里 11 个与官方文档一字不差(Make Group、Create Component、Ungroup、Explode、Cut、Copy、Paste、Paste in Place、Delete、Hide、Lock),面对象上另多 Rename 和 Duplicate。
Push/Pull 的键位 P 和鼠标滚轮在无头环境没有生效,挤出这一步没走通,帧率数字因此一个都没有。


▍批评与反批评
帖子里最狠的一刀:「我试的每个交互 KetchUp 都有坑——默认不吸附网格、每个矩形都要命名、Push/Pull 拖一下挤不出来,要先选中再拉」。
另一条更直接:「一个挤方块都会卡的软件,还能拿到这么多赞」。
作者的回法是身份牌加数据:写了 20 多年代码,「slop 分好坏,你们说的是非开发者写的那种」,real data 是他的 slop 跑同一个文件 240 FPS,SketchUp 45。
批评里有一条作者认领了:没有触控板支持,只有鼠标键盘。作者回了「noted! I will add this to my list」——工具文档明确写着「made for a desktop browser and a mouse」。SketchUp 在 Mac 上的触控板双指捏合缩放,BenchUp 目前没有。
另一条空白是 3D Warehouse。SketchUp 十几年攒下的免费模型仓库是它最大的黏性,帖子下好几个老用户把搬家卡在这。替代品们目前都没有等价物,OBJ 导出不带材质,几何进别的软件就是白模。
竞品面帖子也盘了一遍:sawhorse(Rust,Apache-2.0,157 星,10-14 建库,纯 Rust 几何核编 WASM,同样木工定位)、hew3d(TypeScript,AGPL-3.0,194 星,支持 .skp 导入加 MCP 服务器)、ingetrazo(Rust,GPL3,vibe 写的克隆,带 LLM 集成)、sawdust.diy(木工专用,料库驱动,人机都能 MCP 驱动)、Rysmo(建筑方向)。
.skp 读取走的是开源库 openskp(Python,MIT,182 星,2026-06 建库)。(GitHub API,2026-11-10)
▍这个项目算什么
它证明的是工程路线:一个人加 AI,能把「wgpu 自绘 UI + WGSL 着色器 + WASM 浏览器端 + 三平台桌面分发(Velopack 自动更新)」这条全栈 3D 工具链路在 17 天里铺到 0.6.x。
它的定位不是通用建模器,是木工桌前的量尺:画方块、定尺寸、排榫眼、出下料单。
边界写清楚:几何内核的边界情况没有独立验证过(线程里「挤方块都会卡」那条批评,我没在无头环境复现);.skp 只进几何;OBJ 不带材质;无移动端、无云、无触控板;单人维护、15 个 open issue。要它进生产前,先拿自己的模型库把 .skp 导入跑一遍。
▍常见问题
BenchUp 和 KetchUp 什么关系? 同一个项目,11-08 的 v0.6.6 改名。工程文件从 .k3d/.ketchup 换成 .bup,旧文件自动识别打开,域名 ketchup3d.github.io 仍可用,仓库已改 BenchUp3D/editor。
WebGPU 没跑起来能用吗? 能。浏览器端 WebGPU 优先、WebGL2 回退;本机无 GPU 实测就是走的 WebGL2 软件渲染,UI 完整可用,帧率未知。
SketchUp 文件能直接搬吗? .skp 导入几何(openskp 库解析),纹理、场景不支持;导出 OBJ 不带材质,STL 一条来自线程转述,未在官方文档核实。
免费到什么程度? MIT,无账号无订阅,自动保存在本机。桌面安装包用 Velopack 打包;README 写明 CI 未配置签名凭据时产出的是未签名开发包,当前仓库是否已配置签名未公开,安装时按系统的安全提示走。
怎么自己跑一遍? trunk serve 开浏览器端(需 Rust ≥1.95 加 wasm32 目标),桌面端 cargo run -p benchup-app,Linux 构建 .skp 读取器要 C/C++17 编译器。
诚实声明:仓库 635 星 / 27 fork / 15 issue、MIT 许可、创建日 2026-10-23、14 个 release 及日期、语言构成(Rust 占 93.6%)为本机 2026-11-10 经 GitHub API 直接拉取;竞品 star 数(sawhorse 157、hew3d 194、openskp 182)同日 API 快照。本机实测部分(demo 启动、矩形绘制、右键菜单 13 项、WebGL2 回退)为 2 核 EPYC 9354P 无 GPU 环境无头 Chromium 实操,Push/Pull 挤出与帧率未复现。240 FPS 对 SketchUp 45 FPS 为作者自报(HN 帖内原话),未独立复现;「导出菜单含 STL」一说为线程评论转述,官方文档(llms.txt)仅列 OBJ,未核实。
转给那个还在给 SketchUp 订阅续费、手里活儿却只画方块的人——同样关注这类 Rust 工具链实战的,欢迎来 云栈社区 和同好一起交流。
▍参考资料