同一个 bug,我在 WebGPU 渲染器里犯了三次
上篇讲了怎么用实例化渲染让 WebGPU 一次 draw call 画十万个矩形。这篇讲后来发生的事:把同样手法套到圆、线、文字时,一个 GPU buffer 复用 bug 连续犯了三次。这是一篇关于"为什么一个修过的 bug 会换个地方重新长出来"的复盘。
Latest Notes
上篇讲了怎么用实例化渲染让 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 行级合并导致的假性冲突问题。
Orca Goal Mode 第二轮重构:固定 64 轮上限误判 NoProgress,到 runtime 收回生命周期,以及 admission 矩阵如何替代无语义计数器。