不止是渲染:我给画布引擎做了一套让 agent 能"改图"的接口
13 分钟阅读
一个面向 agent 的画布光能渲染还不够——agent 得能读懂画布现在长什么样,还得能改它。本文记录如何给 sky-canvas 设计 snapshot + ops 协议,让 LLM 能以"观察→引用→增量改"的循环持续编辑一张画布,并实测用 45 条 ops 从空白画布生成完整星图。
共 3 篇文章
一个面向 agent 的画布光能渲染还不够——agent 得能读懂画布现在长什么样,还得能改它。本文记录如何给 sky-canvas 设计 snapshot + ops 协议,让 LLM 能以"观察→引用→增量改"的循环持续编辑一张画布,并实测用 45 条 ops 从空白画布生成完整星图。
上篇讲了怎么用实例化渲染让 WebGPU 一次 draw call 画十万个矩形。这篇讲后来发生的事:把同样手法套到圆、线、文字时,一个 GPU buffer 复用 bug 连续犯了两轮。这是一篇关于"为什么一个修过的 bug 会换个地方重新长出来"的复盘。
无限画布最硬的性能瓶颈,是当画布上堆了十万个对象时还要保持 60fps。本文记录在给 sky-canvas 做 WebGPU 渲染底座时,如何用实例化渲染把海量矩形的绘制从 O(N) 个 draw call 压到 O(1),实现 50 万对象单次 draw call 满帧 60FPS。