Advance M8-M11 parity workflows
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# N-015 非 Mesh 几何数据块
|
||||
|
||||
状态:`BLOCKED / in_progress`(VDB core 已覆盖 server、OPFS、Float32 WebGPU、显式 GPU 分页、
|
||||
有限 grid 材质与 Main 属性重开;自动 demand paging 缺页重绘、联合重开和发布 golden 仍阻断)
|
||||
状态:`BLOCKED / in_progress`(M8 自动 demand paging、联合重开、64 MiB sparse 门和三轴 density
|
||||
golden 已完成;深度合成、完整 Volume 材质/GLB/USD 与 512 MiB/1 GiB 联合故障矩阵仍阻断)
|
||||
|
||||
更新时间:2026-08-14
|
||||
更新时间:2026-08-16
|
||||
|
||||
## 当前声明
|
||||
|
||||
@@ -14,9 +14,10 @@ topology editor。
|
||||
Volume 采用“桌面/服务端 OpenVDB 转 NanoVDB,浏览器分块读取并以 WebGPU 渲染”的固定架构。
|
||||
浏览器不直接解码 OpenVDB;当前已完成真实资源 catalog、独立 OpenVDB 13 -> NanoVDB 32 desktop
|
||||
converter、受控 server job、转换/清单/分块协议、OPFS 绑定/重开、Float32 CPU/WGSL 树遍历、
|
||||
有界体积积分、主线程/Offscreen 生产视口、显式 hash 校验 GPU 分页/LRU、有限 grid 材质和
|
||||
Volume Main 属性保存重开。自动缺页重绘、联合重开和发布 golden 尚未完成,因此 N-015 整体保持
|
||||
`BLOCKED`。
|
||||
有界体积积分、主线程/Offscreen 生产视口、显式 hash 校验 GPU 分页/LRU、有限 grid 材质、
|
||||
Volume Main/asset binding 联合重开、自动缺页重绘、64 MiB sparse 门和 OpenVDB/WebGPU 三轴
|
||||
density golden。深度合成、完整 Volume 材质/GLB/USD 与更大真实 bundle 联合故障矩阵尚未完成,
|
||||
因此 N-015 整体保持 `BLOCKED`。
|
||||
|
||||
| 数据族 | Reader | Web 预览 | 当前门 |
|
||||
| --- | --- | --- | --- |
|
||||
@@ -26,7 +27,7 @@ Volume Main 属性保存重开。自动缺页重绘、联合重开和发布 gold
|
||||
| Metaball | 元素类型、位置、半径、尺度 | bounded sphere proxy;depsgraph implicit mesh | `READY` |
|
||||
| PointCloud | position/radius/POINT 属性 | WNM 分块 Points | `READY`(空数据为 `summary-only`) |
|
||||
| Curves/Hair | position/radius/curve/POINT 属性 | WNM 分块 Points/curve line | `READY`(缺数据阻断) |
|
||||
| Volume | path/grid metadata + VDB/NanoVDB 转换契约 | WebGPU 可渲染真实 density/color/temperature/emission;双生产视口已接入 | `BLOCKED`(自动缺页/联合恢复/golden) |
|
||||
| Volume | path/grid metadata + VDB/NanoVDB 转换契约 | WebGPU 可渲染真实 density/color/temperature/emission;自动分页、联合重开与三轴 density golden 已接入 | `BLOCKED`(深度合成/完整材质与 IO/更大联合故障矩阵) |
|
||||
|
||||
## 已实现任务
|
||||
|
||||
@@ -104,6 +105,16 @@ Volume Main 属性保存重开。自动缺页重绘、联合重开和发布 gold
|
||||
20. GPU grid 支持初始空驻留、经 manifest chunk hash 校验的显式单页加载、页表间接寻址、确定性
|
||||
LRU 替换和设备重建后按需页重放;多材质 grid 按同一 manifest `maxResidentBytes` 分配页槽,
|
||||
Chromium 以 GPU 数据读取验证被触碰页保留、旧页淘汰和恢复后内容一致。
|
||||
21. GPU feedback buffer、revision gate、manifest range/hash page request、同页请求合并、frame pin
|
||||
LRU、渐进重绘预算、网络精确 offset 续传、Worker restart 和 device-loss 可见页回放已形成自动
|
||||
demand paging 最小闭环;hash 失败、stale feedback、取消和 OOM 均不污染 resident/page table。
|
||||
22. 64 MiB sparse HTTP bundle 以 4 MiB page 实际 range 读取,首 page、总耗时、峰值工作集和取消
|
||||
延迟均有 Chromium 证据;取消后 coordinator/consumer 归零,未将逻辑 64 MiB fixture 写入仓库。
|
||||
23. 同一保存 hash 下,Volume Main 属性、OPFS project revision、NanoVDB binding 和 bundle/grid bytes
|
||||
在 Worker 清空后联合重开;主线程和 Offscreen 两个生产视口都从恢复 asset 输出非空像素。
|
||||
24. OpenVDB 13 native `density` reader 按 `volume-wgsl-v1` 有界积分生成 X/Y/Z 三轴 64x64 RGBA8
|
||||
desktop/Chromium 发布 golden;主线程与 Offscreen WebGPU 对 49,152 bytes 的最大通道误差、MAE、RMS 和 alpha 覆盖
|
||||
差均为 0。门限仍固定为 2/0.1/0.5/0.002,漂移返回 `NANOVDB_GOLDEN_MISMATCH`。
|
||||
|
||||
## 后续分解
|
||||
|
||||
@@ -117,9 +128,9 @@ Volume Main 属性保存重开。自动缺页重绘、联合重开和发布 gold
|
||||
raycast、多 handle preview、handle-local gizmo 与单次 Main 写回已完成。
|
||||
4. N-015-D2:evaluated preview 与源控制笼分层显示、WebGPU 等价。
|
||||
5. N-015-B3/D2/E1(Volume):真实资源、desktop/server converter、可续传 HTTP range、OPFS、
|
||||
有界网络/Worker/quota/tamper/device-loss 故障门、Float32 WGSL core、有限 grid 材质、显式 GPU
|
||||
分页/LRU、resident/page-table OOM 恢复和 Main Volume 属性重开已完成;继续执行自动缺页重绘、联合恢复、GLB/USD loss、大 bundle 和
|
||||
desktop/Chromium golden,未完成项保持阻断。
|
||||
有界网络/Worker/quota/tamper/device-loss 故障门、Float32 WGSL core、自动 GPU paging/LRU、
|
||||
resident/page-table OOM、Main/binding/双视口联合重开、64 MiB sparse 和三轴 density golden 已完成;
|
||||
继续执行场景深度合成、完整 Principled Volume/GLB/USD loss 与 512 MiB/1 GiB 联合故障矩阵。
|
||||
6. N-015-E2:100k/1M WASM/GPU 内存、Worker restart 和 Chromium OPFS quota;Chromium
|
||||
64 KiB 真实 quota、失败后旧 revision 保持、Worker restart 恢复已通过。后续浏览器验收
|
||||
仅以 Chromium 为基线,不配置 Firefox/WebKit。
|
||||
@@ -131,7 +142,8 @@ Volume Main 属性保存重开。自动缺页重绘、联合重开和发布 gold
|
||||
- Metaball sphere proxy 不得用于导出或保存为求值曲面。
|
||||
- Volume/VDB 不得生成占位几何;协议 fixture 不得作为真实 decoder/renderer 证据。
|
||||
- 浏览器构建不得通过开启 `WITH_OPENVDB` 绕过 desktop/server 转换边界。
|
||||
- 自动缺页重绘、联合恢复、完整故障门和发布 golden 未齐前,VDB 与 N-015 保持 `BLOCKED`。
|
||||
- 场景深度合成、完整 Volume 材质/IO 和更大真实 bundle 联合故障矩阵未齐前,VDB 与 N-015 保持
|
||||
`BLOCKED`;M8 完成不能自动把 N-015 全域标为 `COMPLETE`。
|
||||
- Metaball sphere proxy 不得进入 GLB;GLB 只能消费 depsgraph evaluated mesh。
|
||||
- 任意新增 Main authoring 命令在 save/reopen 与 undo/redo 完成前不得开放 UI。
|
||||
|
||||
@@ -161,6 +173,10 @@ npm --prefix web run test:vdb-opfs
|
||||
npm --prefix web run test:vdb-webgpu
|
||||
npm --prefix web run test:vdb-viewport
|
||||
npm --prefix web run test:vdb-faults
|
||||
npm --prefix web run test:nanovdb-sparse-performance
|
||||
npm --prefix web run test:nanovdb-volume-roundtrip
|
||||
npm --prefix web run test:nanovdb-render-golden
|
||||
node tools/vdb/generate-volume-golden.mjs --check
|
||||
WEB_TEST_PORT=5349 npm --prefix web run test:e2e -- -g "real OPFS quota|reports quota exhaustion"
|
||||
WEB_TEST_PORT=5201 npm --prefix web run test:e2e -- -g "N-015|non-mesh"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user