不止是渲染:我给画布引擎做了一套让 agent 能"改图"的接口
一个面向 agent 的画布光能渲染还不够——agent 得能读懂画布现在长什么样,还得能改它。本文记录如何给 sky-canvas 设计 snapshot + ops 协议,让 LLM 能以"观察→引用→增量改"的循环持续编辑一张画布,并实测用 45 条 ops 从空白画布生成完整星图。
Latest Notes
一个面向 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。
复盘 Orca runtime-owned typed surface 重构从普通 TUI turn 到 Goal、workflow、background、ACP 和 JSONL 的完整迁移,包括原子 batch、snapshot/cursor、interaction、terminal、restart recovery 与发布验证。
复盘 Orca runtime-owned typed surface 重构:从 TUI 与 runtime 的状态分叉,到原子持久化、snapshot/cursor、request-scoped interaction、terminal settlement、restart recovery 和真实 PTY 验证。
介绍 symlock 的设计与实现:基于 tree-sitter 的符号级冲突预防机制,以及保守的三向语义合并策略。解决多 AI 编码智能体并行工作时,因 git 行级合并导致的假性冲突问题。