项目

两个从零开始、长期在做的项目:一个把 3D 引擎和物理引擎自己写一遍,一个把机器人从图纸做到能抓东西。
都开源,都能在浏览器里直接玩 —— 不用装任何东西。

Quench3D 编辑器:工具栏、场景树与渲染视口

Quench3D

纯 Rust 的 3D 引擎 · 物理引擎从零实现 · 桌面端与 Web 端同一套代码

面向「模型展示 / 场景搭建 / 物理仿真 / 小游戏原型」四类事情。 渲染基于 wgpu,物理是自己写的,不引第三方物理库。

  • 渲染:wgpu 前向 PBR,Vulkan / Metal / DX12 / WebGPU / WebGL2 同一份着色器,带阴影、天空、实例化、离屏截图。
  • 物理:自研刚体,宽相 / 窄相 + 顺序冲量求解器,5 种关节与角色控制器;热路径零分配。
  • 编辑器:egui 的工具栏 / 场景树 / 属性面板,桌面端与 Web 端是同一份界面代码。
  • 体量:约 3.7 万行 Rust + 0.65 千行 WGSL,引擎本体 #![forbid(unsafe_code)]。

名字也有来历:原来的 forge3d 在 Rust、PyPI、Unity 素材领域都已经被占, 于是改叫 Quench3D(淬火——锻造之后的下一道工序)。

Rust wgpu 自研物理 egui WASM

状态:桌面端与编辑器可用,Web 端已部署;还在快速迭代。

modkit M1 的在线 3D 查看器

modkit M1

可拆装的模块化机器人 · 差速底盘 + 4 自由度机械臂 + 夹爪

先定接口、再长形态:关节做成可拆装的模块,整机由底盘、机械臂、夹爪拼起来。 目标不是拍一段演示视频,而是能独立完成一件物理任务——导航到指定位置 → 识别目标 → 抓取 → 放到另一处。

  • 机械:M0 关节模块 5 个零件、M1 新增 7 个零件,干涉 / 间隙 / 壁厚 / 水密等 76 项几何自检全 PASS。
  • 固件:总线舵机协议 + 底盘闭环,65 项 C++ 测试;ESP32-S3 交叉编译通过,但还没上真实硬件。
  • 上位机:协议、运动学、仿真、CLI,23 项 pytest —— 没有硬件也能跑完整流程。
  • 看得到:浏览器里拖动滑杆改关节角、播放抓取动画;Chrome / Edge 还能用 Web Serial 直连总线舵机。

新手向:配套一份从零基础到能自己改图纸、改固件、加传感器的手册。

机械设计 ESP32 运动学 仿真 Web Serial

状态:机械出图、固件与仿真可用;整机实测与自主任务(M3–M5)还没开始。

还有

日常代码在 GitHub,国内镜像在 Gitee。
两个项目都按「先写清楚它现在到哪一步,再谈它将来能做什么」的方式维护 —— 状态表里能跑的就是能跑,跑不了的就标未开始。