feat(web): switch unattended migration to product workflows
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

This commit is contained in:
mes123456
2026-09-06 04:37:51 +08:00
parent f5f77492f5
commit 5218ee0692
5 changed files with 476 additions and 14 deletions

View File

@@ -0,0 +1,74 @@
{
"schemaVersion": 1,
"strategy": "implementation_first_user_feedback",
"verificationPolicy": "deferred_until_user_reports",
"sourceInventory": {
"unitCount": 3745,
"role": "traceability_only",
"completionDenominator": false
},
"workflowModules": [
{ "id": "PROJECT", "title": "Project open, save and recovery", "status": "implemented" },
{ "id": "WORKSPACE", "title": "Web workspace and viewport", "status": "implemented" },
{ "id": "OBJECT", "title": "Object and scene graph", "status": "implemented" },
{ "id": "MESH", "title": "Mesh modeling and UV", "status": "implemented" },
{ "id": "NONMESH", "title": "Non-mesh geometry", "status": "partial", "taskIds": ["WEBUI-NONMESH-ADVANCED", "WEBUI-FONT-ASSETS"] },
{ "id": "MATERIAL", "title": "Materials, shaders and textures", "status": "implemented" },
{ "id": "MODIFIER", "title": "Modifiers and geometry nodes", "status": "implemented" },
{ "id": "ANIMATION", "title": "Animation and NLA", "status": "partial", "taskIds": ["WEBUI-NLA-STRIP"] },
{ "id": "PAINT", "title": "Sculpt, paint and Grease Pencil", "status": "partial", "taskIds": ["WEBUI-SCULPT"] },
{ "id": "RENDER", "title": "Render, light, camera and world", "status": "implemented" },
{ "id": "COMPOSITOR", "title": "Compositor", "status": "implemented" },
{ "id": "SIMULATION", "title": "Physics and simulation", "status": "implemented" },
{ "id": "MEDIA", "title": "Media, audio and sequencer", "status": "implemented" },
{ "id": "ASSET_IO", "title": "Assets, libraries and interchange", "status": "implemented" },
{ "id": "STORAGE", "title": "Browser storage and recovery", "status": "implemented" },
{ "id": "RUNTIME", "title": "Worker, performance and modular WASM lifecycle", "status": "implemented" }
],
"tasks": [
{
"id": "WEBUI-NONMESH-ADVANCED",
"module": "NONMESH",
"title": "Expose advanced curve, surface and non-mesh deletion commands",
"status": "pending",
"attempts": 0,
"commands": ["deleteNonMeshData", "setCurveHandle", "setCurveSplines", "setSurfaceTopology"],
"ownedPaths": ["web/app/src/app/App.tsx", "web/protocol/nonmesh-geometry-commands.ts"],
"resultPath": "tests/golden/WBV2/product-migration/WEBUI-NONMESH-ADVANCED-result.json",
"implementation": "Add context-aware user controls that construct the existing typed commands from the active non-mesh snapshot. Reuse current curve/surface state; do not create a generic JSON command console."
},
{
"id": "WEBUI-FONT-ASSETS",
"module": "NONMESH",
"title": "Expose advanced font layout and browser font import commands",
"status": "pending",
"attempts": 0,
"commands": ["setFontAdvanced", "importVFont", "setFontLinks"],
"ownedPaths": ["web/app/src/app/App.tsx", "web/protocol/nonmesh-geometry-commands.ts", "web/app/src/fonts/external-vfont-import.ts"],
"resultPath": "tests/golden/WBV2/product-migration/WEBUI-FONT-ASSETS-result.json",
"implementation": "Add usable font layout/link controls and a TTF/OTF/PFB file picker that uses the existing browser font import adapter and native command route."
},
{
"id": "WEBUI-SCULPT",
"module": "PAINT",
"title": "Expose native sculpt stroke and sculpt mesh attribute commands",
"status": "pending",
"attempts": 0,
"commands": ["sculptStroke", "setSculptMeshAttributes"],
"ownedPaths": ["web/app/src/app/App.tsx", "web/protocol/paint.ts"],
"resultPath": "tests/golden/WBV2/product-migration/WEBUI-SCULPT-result.json",
"implementation": "Add a compact sculpt panel for the active mesh, including brush controls, a deliberate apply action, and the existing native sculpt attribute route."
},
{
"id": "WEBUI-NLA-STRIP",
"module": "ANIMATION",
"title": "Expose native NLA strip movement",
"status": "pending",
"attempts": 0,
"commands": ["moveNLAStrip"],
"ownedPaths": ["web/app/src/app/App.tsx", "web/protocol/animation-render-commands.ts", "web/protocol/nla.ts"],
"resultPath": "tests/golden/WBV2/product-migration/WEBUI-NLA-STRIP-result.json",
"implementation": "Add context-aware NLA track/strip selection and frame-start editing to the Timeline, using the existing typed moveNLAStrip command."
}
]
}