Files
FreeCADWasmDev/docs/current/mesh-components-implementation-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

172 lines
11 KiB
JSON

{
"schema": "freecad-web-module-batch-pipeline/v1",
"generatedAt": "2026-09-12T01:35:43.588067+00:00",
"status": "implementation_ready",
"implementationMode": "feature-first-deferred-validation",
"validationDeferred": true,
"implementationReceipt": {
"batchId": "mesh-components-implementation-20260912",
"module": "Mesh",
"tier": "feature-workflow",
"family": "desktop-command-command",
"recordIds": [
"Mesh:desktop:Mesh_RemoveComponents",
"Mesh:desktop:Mesh_SplitComponents"
],
"recordCount": 2,
"selectedRecordCount": 2,
"remainingRecordCount": 0,
"status": "implementation_ready",
"validation": "user_during_use",
"target": "FreeCADWebMeshRuntimeProbe",
"buildTree": "freecad-source/build-web/configure",
"artifacts": [
"freecad-source/build-web/configure/bin/FreeCADWebMeshRuntimeProbe.js",
"freecad-source/build-web/configure/bin/FreeCADWebMeshRuntimeProbe.wasm"
],
"source": "outer-build",
"scope": "feature-capability",
"updatedAt": "2026-09-12T01:35:42.656264+00:00"
},
"implementationReceipts": [
{
"batchId": "mesh-components-implementation-20260912",
"module": "Mesh",
"tier": "feature-workflow",
"family": "desktop-command-command",
"recordIds": [
"Mesh:desktop:Mesh_RemoveComponents",
"Mesh:desktop:Mesh_SplitComponents"
],
"recordCount": 2,
"selectedRecordCount": 2,
"remainingRecordCount": 0,
"status": "implementation_ready",
"validation": "user_during_use",
"target": "FreeCADWebMeshRuntimeProbe",
"buildTree": "freecad-source/build-web/configure",
"artifacts": [
"freecad-source/build-web/configure/bin/FreeCADWebMeshRuntimeProbe.js",
"freecad-source/build-web/configure/bin/FreeCADWebMeshRuntimeProbe.wasm"
],
"source": "outer-build",
"scope": "feature-capability",
"updatedAt": "2026-09-12T01:35:42.656264+00:00"
}
],
"coalescedBatchCount": 1,
"staticReadiness": {
"selected": 2,
"ready": 2,
"missing": 0,
"missingIds": [],
"rejectedMarkers": [],
"blockingGaps": [],
"uiContainers": 0,
"uiOnly": false
},
"batchId": "mesh-components-implementation-20260912",
"module": "Mesh",
"target": "FreeCADWebMeshRuntimeProbe",
"buildKind": "native",
"buildTree": "freecad-source/build-web/configure",
"buildRequired": true,
"buildReuse": {
"reason": "rebuilt",
"cacheHit": false,
"inputDigest": "69b50e3e4022eef453499a3a6d009a09a05d32b9f8aa737677bff38f57bf2d7c",
"inputHashCacheHits": 0,
"inputFiles": 4,
"artifactHashCacheHits": 0,
"artifacts": 2,
"directLinkDependencies": 24,
"dependencyDirty": false
},
"totalSeconds": 63.812,
"steps": [
{
"name": "module-registry",
"command": [
"/usr/bin/python3",
"tools/generate_web_module_registry.py"
],
"seconds": 0.1,
"exitCode": 0,
"stdout": "{\"output\": \"web/src/module-registry.generated.ts\", \"modules\": 32, \"bytes\": 34296, \"changed\": false}",
"stderr": ""
},
{
"name": "capability-registry",
"command": [
"/usr/bin/python3",
"tools/generate_feature_capability_registry.py"
],
"seconds": 7.868,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"modules\": 32, \"commands\": 1449, \"routed\": 1086, \"implementationRequired\": 363, \"interactive\": 94, \"genericApiEntry\": 25, \"genericCommandEntry\": 882, \"reactNavigation\": 85, \"needsParameterUi\": 0, \"needsReactWorkflow\": 363, \"artifactModules\": 32, \"validationDeferred\": 1449}",
"stderr": ""
},
{
"name": "preflight",
"command": [
"/usr/bin/python3",
"tools/check_web_link_closure.py",
"freecad-source/build-web/configure",
"FreeCADWebMeshRuntimeProbe",
"--json"
],
"seconds": 0.068,
"exitCode": 0,
"stdout": "{\"schema\": \"freecad-web-link-preflight/v1\", \"buildDirectory\": \"freecad-source/build-web/configure\", \"requestedBuildDirectory\": \"freecad-source/build-web/configure\", \"target\": \"FreeCADWebMeshRuntimeProbe\", \"requestedTarget\": \"FreeCADWebMeshRuntimeProbe\", \"resolvedTarget\": \"FreeCADWebMeshRuntimeProbe\", \"profile\": \"fast-dev\", \"needsPthread\": true, \"hasPthreadFlag\": true, \"missingArchives\": [], \"runtimePresent\": true, \"wasmPresent\": true, \"errors\": [], \"warnings\": [], \"cacheHit\": false}",
"stderr": ""
},
{
"name": "build",
"command": [
"cmake",
"--build",
"freecad-source/build-web/configure",
"--target",
"FreeCADWebMeshRuntimeProbe",
"-j8"
],
"seconds": 53.361,
"exitCode": 0,
"stdout": "[0/2] Re-checking globbed directories...\n[1/7] Generating version_file\ngit\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/build-web/configure/src/Build/Version.h.out written\n[2/5] Automatic MOC and UIC for target FreeCADWebMeshRuntimeProbe\n[3/4] Building CXX object src/WebAssembly/FreeCADCoreProbe/CMakeFiles/FreeCADWebMeshRuntimeProbe.dir/MeshRuntimeProbe.cpp.o\nem++: warning: linker setting ignored during compilation: 'PTHREAD_POOL_SIZE' [-Wunused-command-line-argument]\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:508:30: warning: unused variable 'fc_web_implemented_desktop_commands' [-Wunused-const-variable]\nstatic constexpr const char* fc_web_implemented_desktop_commands[] = {\n ^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:519:1: warning: unused variable 'fc_web_implemented_command_519' [-Wunused-const-variable]\nFC_WEB_IMPLEMENTED_DESKTOP_COMMAND(\"Mesh_BuildRegularSolid\");\n^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:518:34: note: expanded from macro 'FC_WEB_IMPLEMENTED_DESKTOP_COMMAND'\n static constexpr const char* FC_WEB_IMPL_JOIN(fc_web_implemented_command_, __LINE__) = commandName\n ^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:516:32: note: expanded from macro 'FC_WEB_IMPL_JOIN'\n#define FC_WEB_IMPL_JOIN(a, b) FC_WEB_IMPL_JOIN2(a, b)\n ^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:515:33: note: expanded from macro 'FC_WEB_IMPL_JOIN2'\n#define FC_WEB_IMPL_JOIN2(a, b) a##b\n ^\n<scratch space>:6:1: note: expanded from here\nfc_web_implemented_command_519\n^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:520:1: warning: unused variable 'fc_web_implemented_command_520' [-Wunused-const-variable]\nFC_WEB_IMPLEMENTED_DESKTOP_COMMAND(\"Mesh_CrossSections\");\n^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:518:34: note: expanded from macro 'FC_WEB_IMPLEMENTED_DESKTOP_COMMAND'\n static constexpr const char* FC_WEB_IMPL_JOIN(fc_web_implemented_command_, __LINE__) = commandName\n ^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:516:32: note: expanded from macro 'FC_WEB_IMPL_JOIN'\n#define FC_WEB_IMPL_JOIN(a, b) FC_WEB_IMPL_JOIN2(a, b)\n ^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:515:33: note: expanded from macro 'FC_WEB_IMPL_JOIN2'\n#define FC_WEB_IMPL_JOIN2(a, b) a##b\n ^\n<scratch space>:8:1: note: expanded from here\nfc_web_implemented_command_520\n^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:521:1: warning: unused variable 'fc_web_implemented_command_521' [-Wunused-const-variable]\nFC_WEB_IMPLEMENTED_DESKTOP_COMMAND(\"Mesh_CurvatureInfo\");\n^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:518:34: note: expanded from macro 'FC_WEB_IMPLEMENTED_DESKTOP_COMMAND'\n static constexpr const char* FC_WEB_IMPL_JOIN(fc_web_implemented_command_, __LINE__) = commandName\n ^\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp:516:32: note: expanded from macro 'FC_WEB_IMPL_JOIN'\n#define FC_WEB_IMPL_JOIN(a, b) FC_WEB_IMPL_JOIN2(a, b)\n ^\n/...",
"stderr": ""
},
{
"name": "artifact-sync",
"command": [
"node",
"web/tools/sync-assets.mjs"
],
"seconds": 1.497,
"exitCode": 0,
"stdout": "{\"modules\":32,\"manifest\":\"public/modules/manifest.json\",\"timing\":{\"totalSeconds\":1.451337758,\"copied\":3,\"skipped\":95,\"missing\":18,\"hashComputed\":3,\"hashCacheHits\":185,\"copySeconds\":1.347853736,\"hashSeconds\":0.0843855219999998,\"manifestSeconds\":0.0008946659999999156,\"manifestChanged\":true}}",
"stderr": ""
},
{
"name": "business-audit",
"command": [
"/usr/bin/python3",
"tools/generate_web_business_completion_audit.py"
],
"seconds": 0.918,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"verdict\": \"incomplete\", \"featureReceiptBacklog\": 11, \"workbenchCommands\": 350, \"formatWorkflows\": 0, \"productWorkflows\": 0}",
"stderr": ""
}
],
"supportHashes": {
"freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp": "d25e643dd3bfb3924d43b6c3b5e08c68bdab6b6dc26bf98e89ef3fc0532bfd09",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshGeometryFamilyProbe.cpp": "475f7f74fb9aa1edac804cbd254cbdac2467769c26e10963abf08cfabf420430",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshComponentCommands.h": "2517d02e465de75f1475b3b6d013b19d3d9343d96b9d4f41fc85b52644f29cd3",
"web/src/workbench-shell.tsx": "df15da5c1e3962f5246f22c5aa6586bf818ba1f9ce9baf9b70ee94dbec4cbd4f",
"web/src/desktop-command-dispatcher.ts": "41c0d8a9c17d0f832f02cc564ea556434f6ffe47051764dd250e88503420c57a",
"web/src/mesh-python-family-facade.ts": "803c05481e4c37eecf1e62b3c89809ab86084902155fb82ceae12b07f5bb8498",
"web/src/meshpart-python-family-facade.ts": "5a894a975a5f7c45374d603c4ab04b4e1ae91af7463f68e400e8b6fc38ded129",
"web/src/mesh.worker.ts": "3be87bd2a0ac8531c5dce5763f67a97f09b3556b2a10fc45ec4f69511ac7fb9a"
}
}