Files
workinf_Blender_Wasm/docs/status/M10-02.md
mes123456 0fe8d2bb56
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
Advance M8-M11 parity workflows
2026-08-17 04:37:07 -04:00

2.7 KiB

M10-02 Status

status: done task: Geometry Nodes allowlist 与未支持节点无损阻断 updated: 2026-08-16 America/New_York

Scope

GEOMETRY_NODE_ALLOWLIST_SCHEMA and GEOMETRY_NODE_ALLOWLIST freeze the only node types that may proceed past the Geometry Nodes protocol gate. The gate validates the complete graph before any Main writer call. A node outside the list returns GN_NODE_UNSUPPORTED; a structurally valid allowlisted graph still returns CAPABILITY_MISSING from the production Worker until its evaluator and desktop/WASM golden are completed by M10-03. Neither failure mutates Main or replaces the graph read by M10-01.

Allowlist

Schema 1 contains 16 node types: Group Input/Output, Transform Geometry, Set Position, Join/Separate Geometry, Realize Instances, Store Named Attribute, integer/ vector input, Value, Compare, Math, and Object/Collection/Image Info. External resource nodes remain subject to stable-ID, missing-resource, linked-resource and owner-cycle checks.

Evidence

  • Golden: tests/golden/M10-02/geometry-node-allowlist.json.
  • Fixture: tests/files/web/modifier_geometry_nodes_scene.blend, SHA-256 f3820511f791769837d75be092934130c397cf46ee0acf79db28efca9a7948c9.
  • WEB_TEST_PORT=5441 npm --prefix web run test:geometry-node-allowlist: unit 4/4 and Chromium 1/1 passed.
  • The real Main graph WebGeometryNodesSimulation preserved GeometryNodeSimulationInput and GeometryNodeSimulationOutput; an attempted graph transaction returned GN_NODE_UNSUPPORTED and retained the graph JSON, graph SHA-256 and Main revision.
  • The allowlisted WebGeometryNodes graph returned CAPABILITY_MISSING while the evaluator is still closed; it also retained graph identity and Main revision.
  • M10-01 regression: WEB_TEST_PORT=5442 npm --prefix web run test:geometry-node-main-reader passed (unit 4/4, reader 1/1, Chromium 1/1).
  • Full unit suite: 131/131 passed.
  • npm --prefix web run typecheck, npm --prefix web run lint, npm --prefix web run build (73 modules), and git diff --check: passed.

Implementation Hashes

  • Protocol: 23c2289ec2acbdce0beba47c0b6539bc3f14f5a71ce29927df86cf6c705d6ec3.
  • Unit: e60933ed0f946bdaa96f5322ba8d80b26c8425c623dd6e87da33016a1592c299.
  • Chromium: ff2c838b5c16d86eff13699586a0cd1121ee1a86d5ea52d7b89c01d35632bb77.
  • Golden: 471fec9c5382ab7522b6c18ab580a6926eaa59eb5a8b72d23968670b9b9ab37a.
  • Production Worker: 4a65547e6b1fea16a120b4e72eb37d4d9f7c7ced4342f535796535262ff65fcc.

Rollback

Remove the exported allowlist schema/list, M10-02 unit/E2E assertions, golden, package script and this status file together. The older private allowlist behavior is otherwise unchanged; no persisted schema migration is required.