# WBV2-P1135-001: verify Font body module - task: WBV2-P1135-001 - parent: WBV2-P1135-000 - status: in_progress - gap: workflow:font_body_transaction - ownerFamily: GEOMETRY - targetImplementationClass: LOCAL_EXACT - moduleId: FONT_BODY_TRANSACTION - Implementation entrypoint: `node tools/web/run-wbv2-module-task.mjs --task WBV2-P1135-001 --write` ## 目标 Verify the source-backed Font body 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-font-body-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-font-body-production.spec.ts` ## 验收 - Positive: Font body Main mutation, UTF-8 text retention, save/reopen preserves text - Negative: unknown Font data ID, body byte budget overflow, malformed body payload - Recovery: undo, redo, save/reopen, Worker termination and deterministic text state - Commands: - `npm --prefix web run typecheck` - `npm --prefix web run build` - `WEB_TEST_PORT=5351 npm --prefix web run test:e2e -- --workers=1 tests/e2e/wbv2-font-body-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-P1135-001/module-receipt.json` - Manifest: `tests/golden/WBV2-P1135-001/manifest.json` - Status: `docs/status/WBV2-P1135-001.md` - Rollback: restore WBV2-P1135-000 as the queue parent and leave this module in_progress.