QORM v0.9.6 发布规划
主控文档 · 2026-08-19 · 主题:发版后收口 + canvas 大 list 视口裁剪 v0.9.5 已发版;本文是下一 tag 的范围、非目标与验收。
1. 背景与决策
v0.9.5 把 agent 可验证性 闭环(qorm test 物化 list/组件、游戏阈值、hostLimits、loader 错误门禁)。发版后暴露的缺口:
| 缺口 | 严重度 | 处理 |
官网 deploy --delete 误删 /games/ 等 extras | 已修 | deploy 保护 + build-wasm.sh;P0 文档入库 |
| progress / 已知债 与 v0.9.5 不一致 | 文档 | P0 校正 |
| canvas list 全量展开(上限 10000) | 性能 | v0.9.6 主刀 |
| Error Boundary(Phase 10) | 大改 | 不进 v0.9.6 |
| sitemap 停在 8 月备份 | SEO | P1 随 deploy 再生 |
主题选择理由: internal/render/canvas/list.go 已物化 repeat,但无 HTML 侧 virtualize;examples/biglist 存在却无 viewport 裁剪。Error Boundary 在代码库中零实现,与「小步可验证发版」不符。
2. 完成定义(v0.9.6 tag 前)
go test ./... 绿;canvas list 相关测试覆盖视口内/外项。
- 固定高度 scroll 容器内,1000+ 项 list 只 layout/paint 可见窗口 ± buffer;
qorm test 对可见行仍绿。
examples/biglist 可跑、帧耗可测(headless 或 measure 断言节点数上限)。
deploy-site.sh 再生 sitemap.xml(docs/api/landing + 静态 extras 列表)。
- CHANGELOG
[Unreleased] 可归档;tag 触发 Release + GHCR;站点 deploy + build-wasm.sh。
3. 分阶段实施
P0 — 发版后收口(已完成)
| ID | 内容 | 状态 |
| P0-1 | progress.md 发布表 / 已知债校正 | 🟢 |
| P0-2 | RELEASE.md 含 build-wasm.sh | 🟢 |
| P0-3 | 本文 + v0.9.5 规划指向 | 🟢 |
| P0-4 | deploy-site.sh 再生 sitemap.xml | 🟢 |
P1 — canvas list 视口裁剪(进行中)
| ID | 内容 | 状态 | 证据 |
| P1-1 | scroll 内 list 按 offset 切片 | 🟢 | listWindowRange;TestCanvasListWindowSlicesAroundScroll |
| P1-2 | item scope / (node,index) 语义 | 🟢 | 现有 list 测试绿 |
| P1-3 | measure 报告虚拟化项数 | 🟢 | listVirtualization on CollectMeasure |
| P1-4 | examples/biglist scrollview + window | 🟢 | scenes/main.json |
非目标(P1): 嵌套 list 身份链、template 内 input 焦点、HTML virtualize 全 parity、gridview 虚拟化(可 v0.9.7)。
P2 — 站点与运维(可与 P1 并行)
| ID | 内容 | 验收 |
| P2-1 | release.sh 校验 /games/ + WASM cache-bust | 本地编排接线 |
| P2-2 | scripts/game-e2e/release_smoke.sh 发版后 smoke(可选 FULL=1) | mario + raiden 绿 |
| P2-3 | robots.txt / llms.txt 与 deploy 同步策略 | 文档一句 |
P3 — 产品债(记录,不阻塞 v0.9.6)
| 项 | 说明 |
| LAN 观察窗鉴权 | --lan 下 loopback 免鉴权 vs 远程 admin token;需产品决策,不写进 v0.9.6 |
| Error Boundary | Phase 10;v0.9.7+ |
| Linux GTK chromeless | 仍 beta,不接线 |
| Platform Pack / LSP / Registry | 超范围 |
4. 明确不进 v0.9.6
- 新 widget、新 MCP 工具(与 v0.9.5 同一约束)
- 小程序交互运行时
- 马里奥全关卡
qorm test
- canvas gridview 虚拟化(list 先行)
5. 发版步骤(与 v0.9.5 同型)
- P0–P1 落地,
CHANGELOG [Unreleased] 累积。
go test ./...;qorm test 示例回归。
- push
main(main == origin/main)。
./web_server/release.sh 0.9.6:tag → CI → 站点 → build-wasm.sh → 校验。
6. 风险
| 风险 | 缓解 |
| 视口裁剪破坏 list 行 hit-test | 先 headless golden,再 hand-test todo/biglist |
| sitemap 漏 about/compare | extras 静态 URL 列表并入生成器 |
| WASM 与 tag 不同步 | release 编排强制 build-wasm.sh |