
字节笔记本
2026年10月28日 · 约 3 分钟读完
沉寂两年后四天连发 8 版,Paper.js 活过来了
一个沉寂两年的开源项目突然复活,四天连发 8 个版本,这种事在 AI 编程时代越来越多,但发生在 Paper.js 身上还是让人意外。10 月 18 日到 21 日,仓库从 v0.12.17 一路发到 v0.16.0,版本号直接跳了四级,push 记录一直更新到本周。这个 1.5 万星的矢量图形库,官方定位是 The Swiss Army Knife of Vector Graphics Scripting,MIT 协议,npm 包名就是 paper,最新版 0.16.0。它是本系列第 7 个工具,负责矢量路径这一环。

一、矢量路径的「瑞士军刀」
Paper.js 的核心是一个场景图:项目、图层、路径、路径段组织成一棵树,和 DOM 的心智模型接近。它强在两件事,一是路径数学,路径可以 unite、intersect、subtract,像编辑几何体一样编辑图形,上面这张动图就是官方示例;二是平滑,平滑路径、偏移曲线、路径拟合这些在原生 Canvas API 里要手写一堆贝塞尔运算的操作,这里是一个方法调用。
它还有个特色是 PaperScript,一种带 onFrame、onMouseDrag 事件钩子的 JS 方言,写交互式图形演示特别快。SVG 的导入导出是双向的,浏览器画的东西能存成标准 SVG,也能把设计稿导进来当动画底稿。
二、复活后的 8 个版本都改了什么
翻一遍这一周的 release,能看出维护者的优先级。安全最急:v0.12.19 修了 importSVG 的 XSS 漏洞,导入的 SVG 先放进沙箱 iframe 计算样式,不再能执行脚本。然后是补课:v0.13.0 给视图加了 fitBounds,参数直接沿用 CSS object-fit 的 contain 和 cover;v0.14.0 恢复了 Scriptographer 时代的 onPlay、onStop 事件钩子导出,还有鼠标拖拽的事件间隔控制。
新能力集中在 SVG 管线和文字排版:v0.15.0 做了宿主文档的文字布局同步,v0.16.0 给 SVG 导入导出加了 processNode 和 processItem 回调,可以在转换时保留 SVG 的 class 属性这类信息,对要做批量 SVG 动画的流水线是实打实的好消息。

三、放在出片流水线里的位置
系列分工里,p5.js 出生成式草稿,PixiJS 负责性能,Paper.js 的位置是「精确的矢量加工」:把 logo 和插画转成路径做形变动画,布尔运算生成新图形,或者批量改 SVG 素材再交给 Remotion 逐帧渲染。它的 API 面稳定了十年,agent 生成的代码命中率很高,这次复活补上的安全修复和 SVG 回调,恰好都是自动化流水线最在意的地方。
下一篇是 Matter.js,给画面装上 2D 物理。



