# WBV2-P1125-000: Geometry Nodes allowlist repair - task: `WBV2-P1125-000` - parent: `WBV2-P1124-000` - status: `in_progress` - gap: `workflow:geometry_nodes_allowlist_repair` - ownerFamily: `NODES` - targetImplementationClass: `LOCAL_EXACT` ## 目标 将 Geometry Nodes graph override 持久化到 Web-safe Scene IDProperty,修正旧 allowlist 测试与真实 Main materialization 行为的断言差异。 ## 输入与范围 - Blender Main/API: `blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp`, `blender-5.2.0/source/blender/web_engine/web_engine_main_state.h`, `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp` - Protocol/runtime: `web/protocol/geometry-nodes.ts`, `web/protocol/geometry-node-commands.ts`, `web/protocol/web-engine.ts`, `web/app/src/engine-client/WebEngineClient.ts`, `web/app/src/workers/web-engine.worker.ts`, `web/app/src/app/App.tsx` - Tests: `web/tests/e2e/geometry-node-allowlist.spec.ts`, `web/tests/e2e/wbv2-geometry-nodes-production.spec.ts` ## 验收 ```bash cmake --build build_web_blender6 --target web_engine -- -j8 npm --prefix web run test:geometry-node-allowlist npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-geometry-nodes-production.spec.ts npm --prefix web run test:geometry-node-field-budget npm --prefix web run typecheck ``` 支持图必须真实写入 Main 并可 save/reopen;simulation 等不支持节点必须 fail-closed 且 revision/hash 不变。不得通过放宽 unsupported gate 或伪造 `CAPABILITY_MISSING` 解决断言差异。 ## 交付与回滚 - Receipt: `tests/golden/WBV2-P1125-000/module-receipt.json` - Manifest: `tests/golden/WBV2-P1125-000/manifest.json` - Status: `docs/status/WBV2-P1125-000.md` - 回滚:恢复 P1124 manifest 为 queue parent。