# WBV2-P1115-000: curve and surface editing module - task: `WBV2-P1115-000` - parent: `WBV2-P1114-000` - status: `in_progress` - gap: `workflow:module_curve_surface_editing` - ownerFamily: `GEOMETRY` - targetImplementationClass: `LOCAL_EXACT` ## 目标 按功能模块验证 Curve topology/handle、Surface topology、Font 属性和 non-mesh save/reopen roundtrip。 ## 输入与范围 - Blender Main/API/reader: `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`, `blender-5.2.0/source/blender/web_engine/web_engine_api.cpp`, `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` - Protocol: `web/protocol/web-engine.ts`, `web/protocol/nonmesh-geometry-commands.ts`, `web/protocol/curve-topology-editor.ts`, `web/protocol/non-mesh.ts` - Runtime: `web/app/src/engine-client/WebEngineClient.ts`, `web/app/src/workers/web-engine.worker.ts`, `web/app/src/app/App.tsx` - Existing receipt: `tests/golden/WBV2-P12-004/manifest.json` ## 验收 ```bash npm --prefix web run test:curve-topology-operator npm --prefix web run test:nonmesh-roundtrip npm --prefix web run test:nonmesh-desktop-golden npm --prefix web run typecheck ``` 必须记录 Curve/Surface/Font 正例、非法 selection/domain/属性负例、undo/redo、save/reopen、多 spline 确定性和 Chromium/desktop golden。GLB temporary bundle 缺依赖不在本模块绕过。 ## 交付与回滚 - Receipt: `tests/golden/WBV2-P1115-000/module-receipt.json` - Manifest: `tests/golden/WBV2-P1115-000/manifest.json` - Status: `docs/status/WBV2-P1115-000.md` - 回滚:恢复 P1114 manifest 为 queue parent。