Files
workinf_Blender_Wasm/docs/status/N-018.md

33 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# N-018 Physics 与 Simulation
状态:`BLOCKED`family capability、settings/dependency/cache manifest 与错误帧门已落地;
cache playback、WASM solver 和 bake job 未实现)
## 已验证切片
1. N-018-ARigid Body、Soft Body、Cloth、Fluid、Dynamic Paint、Particle、Hair
使用固定枚举能力清单metadata/cache manifest 为 `LOCAL_BOUNDED`cache playback、
local solver、server job 均保持 `BLOCKED`
2. N-018-B部分`PhysicsSimulationManifestIR` 绑定 owner Object、settings SHA-256、
有界设置摘要、依赖 stable ID 和 desktop bake cache系统依赖环、重复依赖和超预算拒绝。
3. N-018-Ccache 绑定 source blend/settings/input/cache SHA-256、帧范围和实际已缓存帧
`COMPLETE` 必须逐帧连续frame seek 只返回精确命中帧,禁止复用相邻错误帧。
4. Simulation cache 在 Worker restart 后重新验证整包;帧级读取在 OPFS 使用目标 range、
IndexedDB 使用有界 slice并再次校验该帧 SHA-256越界帧返回 `SIMULATION_CACHE_MISSING`
5. 单 manifest 上限 4096 systems、每系统 1024 dependencies、256 settings/64 KiB、
100k frames单帧 512 MiB、整包 16 GiB分配和 range 计算前检查安全整数及预算。
## 仍然阻断
- N-018-A/B从真实 Main 提取完整 family settings、collection/effector/collision 依赖。
- N-018-Cdesktop bake payload 的 family decoder、depsgraph frame playback 和 100 帧 golden。
- N-018-D逐 family WASM solver 初始化、线程、内存和确定性验证。
- N-018-Ebake start/cancel/commit、服务端 job、故障恢复、进度与 UI。
## 验收
```bash
WEB_TEST_PORT=5204 npm --prefix web run test:e2e -- --grep "N-018 physics"
npm --prefix web run test:simulation-cache
```