# WBV2-P1108-000: Geometry Nodes graph module - task: `WBV2-P1108-000` - parent: `WBV2-P1107-000` - status: `in_progress` - gap: `workflow:module_nodes_graph` - ownerFamily: `NODES` - targetImplementationClass: `LOCAL_EXACT` ## 目标 按功能模块验证 Geometry Nodes graph identity、allowlisted depsgraph evaluation、field budget 和 unsupported graph retention,复用 P13 的 source-backed receipts。 ## 输入与范围 - Blender Main/API/reader: `blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp`, `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`, `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` - Protocol: `web/protocol/geometry-nodes.ts`, `web/protocol/geometry-node-commands.ts`, `web/protocol/depsgraph.ts`, `web/protocol/web-engine.ts` - Client/runtime: `web/app/src/engine-client/WebEngineClient.ts`, `web/app/src/workers/web-engine.worker.ts`, `web/app/src/app/App.tsx` - Existing receipts: `tests/golden/WBV2-P13-002/manifest.json`, `tests/golden/WBV2-P13-004/manifest.json` ## 验收 ```bash npm --prefix web run test:geometry-node-evaluator-golden npm --prefix web run test:geometry-node-field-budget npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-geometry-nodes-production.spec.ts npm --prefix web run typecheck ``` 必须记录 allowlisted graph/depsgraph 正例、unsupported node 与预算溢出负例、rejected graph retention、save/reopen、worker restart、Chromium 和确定性第二次运行。allowlist 历史断言与当前 materialization 行为的差异保持显式,不得通过放宽断言制造 parity。 ## 交付与回滚 - Receipt: `tests/golden/WBV2-P1108-000/module-receipt.json` - Manifest: `tests/golden/WBV2-P1108-000/manifest.json` - Status: `docs/status/WBV2-P1108-000.md` - 回滚:恢复 P1107 manifest 为 queue parent,不改写 P13 既有 receipt。