Files
workinf_Blender_Wasm/docs/status/N-026.md
2026-08-14 18:27:57 -04:00

5.1 KiB
Raw Blame History

N-026 全域发布门

状态:BLOCKEDmachine-readable parity manifest、依赖/状态检查、命令/hash 证据绑定、 Chromium 完整套件、离线包/OPFS、SPDX SBOM、1M geometry、simulation cache 性能和 4K/8K texture、运行中断网和主线程 WebGL device loss 证据已落地10M/长媒体、OOM 与上游能力仍未齐)

已验证切片

  1. N-026-A版本化 schema 3 ReleaseManifestIR 为每个 family 记录 LOCAL_EXACTLOCAL_BOUNDEDSERVERBLOCKED、roadmap 状态、完成/阻断/明确排除切片、验收命令和 依赖;同一切片跨状态重复、缺失 family、非法非阻断状态或依赖环会拒绝。
  2. N-026-B/CChromium 主线程/OffscreenCanvas、offline/Worker restart/OPFS recovery、 1M/10M geometry、4K/8K texture、长媒体、simulation cache、OOM/device loss/网络 中断/损坏 blend/zip bomb 等证据字段必须逐项为 true 才能放行。
  3. N-026-D/Elicense、SBOM、source offer、deterministic package 为发布必需证据;每个 true 字段必须绑定实际成功命令、耗时、输出与构件 SHA-256manifest family 排序可确定性序列化, 当前缺证据聚合为 BLOCKED,没有虚报发布通过。
  4. 当前 Chromium smoke 已通过引擎启动/Main 编辑与内容寻址资产恢复,并通过真实 64 KiB OPFS quota 下的失败保持旧 revision、Worker 重启恢复门。这只计为 partial evidence不等于 完整 suite 或其余 family 的桌面 golden。发布门 schema 3 仅接受 Chromium 浏览器证据, Firefox/WebKit 不在本项目当前测试配置内。
  5. N-015 Curve/Surface/Font/Metaball 已通过 Blender 5.2 desktop geometry golden这四类及 PointCloud/Curves/Hair 共 7 对象已通过 GLB/USDA desktop round-trip。Volume/VDB 已重新纳入, 当前已有真实资源/license/hash、OpenVDB 13->NanoVDB 32 desktop 转换、manifest/range 和确定性 证据server job、OPFS 重开、Float32 WebGPU core 和 Main Volume 属性保存重开已有专项证据, 双生产视口已接入GPU demand paging、GLB/USD loss、联合重开和 desktop/Chromium 发布 golden 仍计为阻断。
  6. 当前发布包已通过本地 third-party notices、Blender/Three license 文件、无远程运行时依赖、 非空 SHA-256 manifest、SPDX 2.3 lockfile/vendored SBOM、对应源码提供和离线二进制/源码包 确定性复建100k/1M decimate、5 类损坏 blend 和 archive 高压缩比拒绝有实际命令记录。
  7. docs/status/release-evidence.json 记录 Chromium 完整 E2E + release suite 以及上述发布命令; docs/web/sbom.spdx.json 确定性覆盖 npm lockfile 与 notices 中显式 vendored/native 组件。
  8. simulation cache 性能门在 Chromium 中写入并重开真实 OPFS 内容寻址缓存,逐帧范围读取、 SHA-256 复验、解码并发布 600 帧 BTF1/SceneIR25 秒动画量级的写入加播放总耗时须小于 30 秒。该门衡量浏览器缓存管线,不声称 native physics 求解或 bake 性能已完成。
  9. network interruption 门在 Chromium 页面和 Worker 启动后切换真实 offline context离线完成 Main Add Cube、.blend 下载保存和保存文件重开,检查 revision 与 4 个对象均保持;该门不把 未实现的远端 job 断点续传计为完成。
  10. 主线程视口显式跟踪 lost -> restoring -> ready WebGL 状态Chromium 使用 WEBGL_lose_context 真正丢失并恢复 context恢复后重新应用 PBR 配置、绘制非空像素并 完成一次 Main 编辑。OffscreenCanvas Worker device loss 尚未计入该证据。
  11. 4K texture 门在 Chromium 生成 4096x4096 PNG经 SHA-256/维度/字节预算校验、 createImageBitmap 解码、GPUTextureStore 和 Three.js WebGL 实际采样,要求非空彩色像素且 解码上传渲染小于 30 秒。
  12. evidence record 只能绑定 schema 中已知且值为 true 的字段;任何绑定字段的记录必须包含 至少一个唯一构件 SHA-256manifest generatedAt 必须是可往返的 canonical UTC 时间戳。
  13. 8K texture 门先要求 WebGL MAX_TEXTURE_SIZE >= 8192,再对 8192x8192 PNG 执行同样的 SHA-256、解码、GPU 上传和实际采样,独立 Chromium 进程内耗时须小于 45 秒。

仍然阻断

  • 跨 family 桌面 golden、10M、长媒体和 OOM fault 仍无真实证据; 本项目当前只配置 Chromium上游 N-015 至 N-025 的阻断能力会传递到发布门。
  • VDB 发布证据已覆盖 server job、HTTP 续传/OPFS 分块恢复、quota/tamper/rollback、Float32 WebGPU 数值/专项像素、双生产视口、有限材质映射与 Volume Main 属性重开;仍缺 resident 分页、生产 Offscreen device-loss 重建、OOM/大 bundle、完整材质和三视角 desktop/Chromium golden。
  • 完整 native dependency/license 审计仍需发行审核;当前 SBOM 覆盖 lockfile 和显式 notices 不声称替代 Blender 全部传递依赖的发布级法律审计。

验收

WEB_TEST_PORT=5326 npm --prefix web run test:e2e -- --grep "N-026 release"
npm --prefix web run test:release-evidence
npm --prefix web run release:evidence