# WBV2-P25-004: implement_nonmesh_geometry_surface - task: WBV2-P25-004 - parent: WBV2-P25-003 - status: in_progress - gap: GEOMETRY.NON_MESH - ownerFamily: GEOMETRY - targetImplementationClass: SOURCE_BACKED ## 目标 Wire curve, surface, font, volume, metaball and grease-pencil command families through Main and the web bridge. ## 输入与范围 - Focused source: `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp` - Focused source: `web/protocol/web-engine.ts` - Implementation entrypoint: `node tools/web/generate-wbv2-implementation-slice.mjs --task WBV2-P25-004 --write` ## 验收 - real source or WebEngine Main implementation is present and connected - worker/client/frontend route uses the typed protocol without a duplicate shim - malformed or unsupported input fails closed without claiming parity - implementation smoke is reproducible; detailed Chromium receipt, undo/redo, save/reopen and deterministic verification remain deferred - `node tools/web/check-task-context.mjs --task WBV2-P25-004 --write` ## 交付与回滚 - Reports: `tests/golden/WBV2-P25-004/` - Status: `docs/status/WBV2-P25-004.md` - Manifest: `tests/golden/WBV2-P25-004/manifest.json` - Rollback: restore WBV2-P25-003 as queue parent and leave the implementation slice in_progress.