# M16-GAP-00059: modifier:GREASE_PENCIL_OFFSET LOCAL_EXACT slice - task: M16-GAP-00059 - parent: M16-GAP-00058 - status: in_progress - gap: modifier:GREASE_PENCIL_OFFSET - ownerFamily: MODIFIER - targetImplementationClass: LOCAL_EXACT ## 目标 Make the same minimal fixture produce observable modifier:GREASE_PENCIL_OFFSET 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/M16-GAP-00059-modifier-GREASE_PENCIL_OFFSET.blend` - Generator: `tools/web/generated/M16-GAP-00059.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/M16-GAP-00059.py -- tests/files/web/generated/M16-GAP-00059-modifier-GREASE_PENCIL_OFFSET.blend npm --prefix web run test:generated-gap -- --task M16-GAP-00059 node tools/web/check-generated-gap.mjs --task M16-GAP-00059 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/M16-GAP-00059/` - Status: `docs/status/M16-GAP-00059.md` - Manifest: `tests/golden/M16-GAP-00059/manifest.json` - Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00059 --write` - Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence.