Files
FreeCADWasmDev/docs/current/web-document-view-handoff-pipeline.json
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

183 lines
7.7 KiB
JSON

{
"schema": "freecad-web-module-batch-pipeline/v1",
"generatedAt": "2026-09-12T16:15:17.694661+00:00",
"status": "implementation_ready",
"implementationMode": "feature-first-deferred-validation",
"validationDeferred": true,
"implementationReceipt": {
"batchId": "web-document-view-handoff-20260913",
"module": "Web",
"tier": "feature-workflow",
"family": "desktop-command-commandview",
"recordIds": [
"Web:desktop:Std_AlignToSelection",
"Web:desktop:Std_BoxElementSelection",
"Web:desktop:Std_BoxSelection",
"Web:desktop:Std_DrawStyle"
],
"recordCount": 4,
"selectedRecordCount": 4,
"remainingRecordCount": 0,
"status": "implementation_ready",
"validation": "user_during_use",
"target": "FreeCADWebPartBoxProbe",
"buildTree": "freecad-source/build-web/configure",
"artifacts": [
"freecad-source/build-web/configure/bin/FreeCADWebPartBoxProbe.js",
"freecad-source/build-web/configure/bin/FreeCADWebPartBoxProbe.wasm"
],
"source": "outer-build",
"scope": "feature-capability",
"updatedAt": "2026-09-12T16:15:16.725305+00:00"
},
"implementationReceipts": [
{
"batchId": "web-document-view-handoff-20260913",
"module": "Web",
"tier": "feature-workflow",
"family": "desktop-command-commandview",
"recordIds": [
"Web:desktop:Std_AlignToSelection",
"Web:desktop:Std_BoxElementSelection",
"Web:desktop:Std_BoxSelection",
"Web:desktop:Std_DrawStyle"
],
"recordCount": 4,
"selectedRecordCount": 4,
"remainingRecordCount": 0,
"status": "implementation_ready",
"validation": "user_during_use",
"target": "FreeCADWebPartBoxProbe",
"buildTree": "freecad-source/build-web/configure",
"artifacts": [
"freecad-source/build-web/configure/bin/FreeCADWebPartBoxProbe.js",
"freecad-source/build-web/configure/bin/FreeCADWebPartBoxProbe.wasm"
],
"source": "outer-build",
"scope": "feature-capability",
"updatedAt": "2026-09-12T16:15:16.725305+00:00"
}
],
"coalescedBatchCount": 1,
"staticReadiness": {
"selected": 4,
"ready": 4,
"missing": 0,
"missingIds": [],
"rejectedMarkers": [],
"blockingGaps": [],
"uiContainers": 0,
"uiOnly": false
},
"batchId": "web-document-view-handoff-20260913",
"module": "Web",
"target": "FreeCADWebPartBoxProbe",
"buildKind": "native",
"buildTree": "freecad-source/build-web/configure",
"buildRequired": false,
"buildReuse": {
"reason": "content-hash+ninja",
"cacheHit": true,
"inputDigest": "e04d65d0df7d18f370908c8b3d2871e9d18b0c2233d7aebaacd49c9983caa91a",
"inputHashCacheHits": 5,
"inputFiles": 5,
"artifactHashCacheHits": 2,
"artifacts": 2,
"directLinkDependencies": 51,
"dependencyDirty": false
},
"totalSeconds": 1.471,
"steps": [
{
"name": "module-registry",
"command": [
"/usr/bin/python3",
"tools/generate_web_module_registry.py"
],
"seconds": 0.103,
"exitCode": 0,
"stdout": "{\"output\": \"web/src/module-registry.generated.ts\", \"modules\": 32, \"bytes\": 34475, \"changed\": false}",
"stderr": ""
},
{
"name": "capability-registry",
"command": [
"/usr/bin/python3",
"tools/generate_feature_capability_registry.py"
],
"seconds": 0.09,
"exitCode": 0,
"stdout": "{\"status\": \"reused\", \"modules\": 32, \"commands\": 1451, \"routed\": 1192, \"implementationRequired\": 259, \"interactive\": 94, \"genericApiEntry\": 25, \"genericCommandEntry\": 988, \"reactNavigation\": 85, \"needsParameterUi\": 0, \"needsReactWorkflow\": 259, \"artifactModules\": 32, \"validationDeferred\": 1451}",
"stderr": ""
},
{
"name": "preflight",
"command": [
"/usr/bin/python3",
"tools/check_web_link_closure.py",
"freecad-source/build-web/configure",
"FreeCADWebPartBoxProbe",
"--json"
],
"seconds": 0.05,
"exitCode": 0,
"stdout": "{\"schema\": \"freecad-web-link-preflight/v1\", \"buildDirectory\": \"freecad-source/build-web/configure\", \"requestedBuildDirectory\": \"freecad-source/build-web/configure\", \"target\": \"FreeCADWebPartBoxProbe\", \"requestedTarget\": \"FreeCADWebPartBoxProbe\", \"resolvedTarget\": \"FreeCADWebPartBoxProbe\", \"profile\": \"fast-dev\", \"needsPthread\": true, \"hasPthreadFlag\": true, \"missingArchives\": [], \"runtimePresent\": true, \"wasmPresent\": true, \"errors\": [], \"warnings\": [], \"cacheHit\": true}",
"stderr": ""
},
{
"name": "build",
"command": [
"cmake",
"--build",
"freecad-source/build-web/configure",
"--target",
"FreeCADWebPartBoxProbe",
"-j8"
],
"seconds": 0.218,
"exitCode": 0,
"stdout": "[0/2] Re-checking globbed directories...\n[1/4] Generating version_file\ngit\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/build-web/configure/src/Build/Version.h.out written",
"stderr": ""
},
{
"name": "artifact-sync",
"command": [
"node",
"web/tools/sync-assets.mjs"
],
"seconds": 0.055,
"exitCode": 0,
"stdout": "{\"modules\":32,\"manifest\":\"public/modules/manifest.json\",\"timing\":{\"totalSeconds\":0.016081211000000005,\"copied\":0,\"skipped\":101,\"missing\":16,\"hashComputed\":0,\"hashCacheHits\":189,\"copySeconds\":0,\"hashSeconds\":0,\"manifestSeconds\":0.0005348100000000003,\"manifestChanged\":false}}",
"stderr": ""
},
{
"name": "business-audit",
"command": [
"/usr/bin/python3",
"tools/generate_web_business_completion_audit.py"
],
"seconds": 0.955,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"verdict\": \"incomplete\", \"featureReceiptBacklog\": 14, \"workbenchCommands\": 273, \"formatWorkflows\": 0, \"productWorkflows\": 0}",
"stderr": ""
}
],
"supportHashes": {
"freecad-source/src/WebAssembly/FreeCADCoreProbe/WebRuntimeProbe.cpp": "2da946491b0727f410f5c2c45beedb70d8e91f4ebf0c1433881ca9c606275eef",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/WebViewCommands.h": "3e0ec669ece3ca8ff399683142a5327f07f2821a8baf381651b8d4eab02630ca",
"web/src/web-desktop-adapter.ts": "1c3783b0bf96080b39b4dfbbf6531f2a0697f0de1b591f4934ec2d7f82e3e9d1",
"web/src/workbench-shell.tsx": "95e4f6bb257689b402156835ddb08cca12befd474793cfb834f80e4733afaf84",
"web/src/desktop-command-dispatcher.ts": "830ed20ba99d548779b69aa85d2c3b8bd58cb3a4e8b215653905206ba29f6e79",
"web/src/part.worker.ts": "4ebb78130a8b5d9b5312548956aaab3507b367e9523ffa1f52d0f353dbb89585",
"web/src/web.worker.ts": "1f19e6534c719f68ea028411ed1c384b30aafea647476680de8d6f7fde88753d",
"web/src/document-view-routes.json": "1d126d8b92096cb09353de18082b557c669a8f631395689bb4c1e0d341bba3a8",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/PartBoxProbe.cpp": "12b1213df62918b23fddea0623884d8863c6397ebc1492ee7096a40a9a139f01",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/DocumentProbe.cpp": "bfbfa307ed5d0a768d8b4220e5629d4dda86c4e50b731dc79eb1777d4d1dd1b9",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/NativeDocumentView.h": "60151922b1fdc51ab142386393cd6a8137e612589f7e9c9f0bbae7046d20f17e",
"web/src/part-view-facade.ts": "82d0723dc6a901b027eccd4332e004628708fb21e4581d9cb6b9235f4f820d25",
"web/src/part-save.worker.ts": "6607d16dd786ce25c5b4fda1338c30eb21dfd4d9532a123821a239016386c456",
"web/src/web-view-task.tsx": "7ca4a909918c61b9c741c2a29bc1ccf4ef586521e8c7ea34ab238a993a22bb7a",
"web/src/project-shell.tsx": "f5bef0e1b3e7d7076a21fc9f7ecea528f1be215d886c5c65281950ed3ad03088"
}
}