# WBV2-P1137-001: verify Metaball elements module - task: WBV2-P1137-001 - parent: WBV2-P1137-000 - status: in_progress - gap: workflow:metaball_elements_transaction - ownerFamily: GEOMETRY - targetImplementationClass: LOCAL_EXACT - moduleId: METABALL_ELEMENTS_TRANSACTION - Implementation entrypoint: `node tools/web/run-wbv2-module-task.mjs --task WBV2-P1137-001 --write` ## 目标 Verify the source-backed Metaball element replacement through Blender Main, protocol, Worker and Chromium recovery paths. ## 输入与范围 - Source paths: - `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp` - `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` - `web/protocol/web-engine.ts` - `web/app/src/workers/web-engine.worker.ts` - `web/app/src/app/App.tsx` - `web/tests/e2e/wbv2-metaball-elements-production.spec.ts` - Reused receipts: - `tests/golden/WBV2-P1101-000/manifest.json` + `tests/golden/WBV2-P1101-000/module-receipt.json` - Production test: `web/tests/e2e/wbv2-metaball-elements-production.spec.ts` ## 验收 - Positive: Metaball element Main mutation, bounded position/radius/scale retention, save/reopen preserves elements - Negative: unknown Metaball data ID, invalid radius, element count topology mismatch - Recovery: undo, redo, save/reopen, Worker termination and deterministic element state - Commands: - `npm --prefix web run typecheck` - `npm --prefix web run build` - `WEB_TEST_PORT=5353 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-metaball-elements-production.spec.ts` - malformed input, missing source, hash drift or Chromium failure remains in_progress and does not advance the queue. ## 交付与回滚 - Receipt: `tests/golden/WBV2-P1137-001/module-receipt.json` - Manifest: `tests/golden/WBV2-P1137-001/manifest.json` - Status: `docs/status/WBV2-P1137-001.md` - Rollback: restore WBV2-P1137-000 as the queue parent and leave this module in_progress.