# WBV2-P30-003: implement_nonmesh_media_workbench - task: WBV2-P30-003 - parent: WBV2-P30-002 - status: in_progress - gap: GEOMETRY.NON_MESH_MEDIA - ownerFamily: GEOMETRY - targetImplementationClass: SOURCE_BACKED ## 目标 Expose font, volume, metaball and non-mesh editing controls. ## 输入与范围 - Focused Main source: `blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp` - Focused protocol: `web/protocol/web-engine.ts` - Implementation entrypoint: `node tools/web/generate-wbv2-animation-render-slice.mjs --task WBV2-P30-003 --write` ## 验收 - real source or WebEngine Main implementation is present and connected - worker/client/frontend route uses typed protocol without a duplicate shim - malformed, unsupported, hash-drift or false-completion input fails closed - implementation smoke is reproducible; Chromium receipts, undo/redo, save/reopen and deterministic verification remain deferred - `node tools/web/check-task-context.mjs --task WBV2-P30-003 --write` ## 交付与回滚 - Reports: `tests/golden/WBV2-P30-003/` - Status: `docs/status/WBV2-P30-003.md` - Manifest: `tests/golden/WBV2-P30-003/manifest.json` - Rollback: restore WBV2-P30-002 as queue parent and leave the slice in_progress.