# WBV2-P3-004: IO.GLB_ROUNDTRIP LOCAL_EXACT slice - task: WBV2-P3-004 - parent: WBV2-P3-003 - status: in_progress - gap: IO.GLB_ROUNDTRIP - ownerFamily: IO - targetImplementationClass: LOCAL_EXACT ## 目标 Make the same minimal fixture produce observable IO.GLB_ROUNDTRIP data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. ## 输入与范围 - Fixture: `tests/files/web/generated/WBV2-P3-004-IO.GLB_ROUNDTRIP.blend` - Generator: `tools/web/generated/WBV2-P3-004.py` - Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` - Checker: `tools/web/check-generated-gap.mjs` - Do: field read, desktop/WASM comparison, save/reopen, structured report. - Do not: other gaps, Firefox/WebKit, or full editor behavior. ## 验收 build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/WBV2-P3-004.py -- tests/files/web/generated/WBV2-P3-004-IO.GLB_ROUNDTRIP.blend npm --prefix web run test:generated-gap -- --task WBV2-P3-004 node tools/web/check-generated-gap.mjs --task WBV2-P3-004 Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. ## 交付与回滚 - Reports: `tests/golden/WBV2-P3-004/` - Status: `docs/status/WBV2-P3-004.md` - Manifest: `tests/golden/WBV2-P3-004/manifest.json` - Handoff: `node tools/web/check-task-context.mjs --task WBV2-P3-004 --write` - Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.