Files
FreeCADWasmDev/docs/current/meshpart-flat-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

171 lines
10 KiB
JSON

{
"schema": "freecad-web-module-batch-pipeline/v1",
"generatedAt": "2026-09-12T01:17:00.480342+00:00",
"status": "implementation_ready",
"implementationMode": "feature-first-deferred-validation",
"validationDeferred": true,
"implementationReceipt": {
"batchId": "meshpart-flat-implementation-20260912",
"module": "MeshPart",
"tier": "feature-workflow",
"family": "desktop-command-meshflatteningcommand",
"recordIds": [
"MeshPart:desktop:MeshPart_CreateFlatFace",
"MeshPart:desktop:MeshPart_CreateFlatMesh"
],
"recordCount": 2,
"selectedRecordCount": 2,
"remainingRecordCount": 0,
"status": "implementation_ready",
"validation": "user_during_use",
"target": "FreeCADWebMeshPartRuntimeProbe",
"buildTree": "freecad-source/build-web/configure",
"artifacts": [
"freecad-source/build-web/configure/bin/FreeCADWebMeshPartRuntimeProbe.js",
"freecad-source/build-web/configure/bin/FreeCADWebMeshPartRuntimeProbe.wasm"
],
"source": "outer-build",
"scope": "feature-capability",
"updatedAt": "2026-09-12T01:16:59.549588+00:00"
},
"implementationReceipts": [
{
"batchId": "meshpart-flat-implementation-20260912",
"module": "MeshPart",
"tier": "feature-workflow",
"family": "desktop-command-meshflatteningcommand",
"recordIds": [
"MeshPart:desktop:MeshPart_CreateFlatFace",
"MeshPart:desktop:MeshPart_CreateFlatMesh"
],
"recordCount": 2,
"selectedRecordCount": 2,
"remainingRecordCount": 0,
"status": "implementation_ready",
"validation": "user_during_use",
"target": "FreeCADWebMeshPartRuntimeProbe",
"buildTree": "freecad-source/build-web/configure",
"artifacts": [
"freecad-source/build-web/configure/bin/FreeCADWebMeshPartRuntimeProbe.js",
"freecad-source/build-web/configure/bin/FreeCADWebMeshPartRuntimeProbe.wasm"
],
"source": "outer-build",
"scope": "feature-capability",
"updatedAt": "2026-09-12T01:16:59.549588+00:00"
}
],
"coalescedBatchCount": 1,
"staticReadiness": {
"selected": 2,
"ready": 2,
"missing": 0,
"missingIds": [],
"rejectedMarkers": [],
"blockingGaps": [],
"uiContainers": 0,
"uiOnly": false
},
"batchId": "meshpart-flat-implementation-20260912",
"module": "MeshPart",
"target": "FreeCADWebMeshPartRuntimeProbe",
"buildKind": "native",
"buildTree": "freecad-source/build-web/configure",
"buildRequired": true,
"buildReuse": {
"reason": "rebuilt",
"cacheHit": false,
"inputDigest": "06de135bfa68cc131d53fd988bdf79be02271f336bc97ab5e4bcd9316b1337bf",
"inputHashCacheHits": 0,
"inputFiles": 8,
"artifactHashCacheHits": 0,
"artifacts": 2,
"directLinkDependencies": 51,
"dependencyDirty": false
},
"totalSeconds": 78.844,
"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.473,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"modules\": 32, \"commands\": 1449, \"routed\": 1085, \"implementationRequired\": 364, \"interactive\": 94, \"genericApiEntry\": 25, \"genericCommandEntry\": 881, \"reactNavigation\": 85, \"needsParameterUi\": 0, \"needsReactWorkflow\": 364, \"artifactModules\": 32, \"validationDeferred\": 1449}",
"stderr": ""
},
{
"name": "preflight",
"command": [
"/usr/bin/python3",
"tools/check_web_link_closure.py",
"freecad-source/build-web/configure",
"FreeCADWebMeshPartRuntimeProbe",
"--json"
],
"seconds": 0.043,
"exitCode": 0,
"stdout": "{\"schema\": \"freecad-web-link-preflight/v1\", \"buildDirectory\": \"freecad-source/build-web/configure\", \"requestedBuildDirectory\": \"freecad-source/build-web/configure\", \"target\": \"FreeCADWebMeshPartRuntimeProbe\", \"requestedTarget\": \"FreeCADWebMeshPartRuntimeProbe\", \"resolvedTarget\": \"FreeCADWebMeshPartRuntimeProbe\", \"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",
"FreeCADWebMeshPartRuntimeProbe",
"-j2"
],
"seconds": 66.702,
"exitCode": 0,
"stdout": "[0/2] Re-checking globbed directories...\n[1/10] Generating version_file\ngit\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/build-web/configure/src/Build/Version.h.out written\n[2/8] Automatic MOC and UIC for target FreeCADWebMeshPartRuntimeProbe\n[3/7] Building CXX object src/WebAssembly/FreeCADCoreProbe/CMakeFiles/FreeCADWebMeshPartRuntimeProbe.dir/__/__/Mod/MeshPart/App/MeshFlattening.cpp.o\nem++: warning: linker setting ignored during compilation: 'PTHREAD_POOL_SIZE' [-Wunused-command-line-argument]\n[4/7] Building CXX object src/WebAssembly/FreeCADCoreProbe/CMakeFiles/FreeCADWebMeshPartRuntimeProbe.dir/MeshPartRuntimeProbe.cpp.o\nem++: warning: linker setting ignored during compilation: 'PTHREAD_POOL_SIZE' [-Wunused-command-line-argument]\n[5/7] Building CXX object src/WebAssembly/FreeCADCoreProbe/CMakeFiles/FreeCADWebMeshPartRuntimeProbe.dir/__/__/Mod/MeshPart/App/MeshFlatteningNurbs.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/Mod/MeshPart/App/MeshFlatteningNurbs.cpp:201:30: warning: comparison of integers of different signs: 'unsigned int' and 'Eigen::EigenBase::Index' (aka 'long') [-Wsign-compare]\n for (unsigned int i=0; i < values.size(); i++)\n ~ ^ ~~~~~~~~~~~~~\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/Mod/MeshPart/App/MeshFlatteningNurbs.cpp:212:48: warning: comparison of integers of different signs: 'unsigned int' and 'Eigen::Index' (aka 'long') [-Wsign-compare]\n for (unsigned int row_index = 0; row_index < U.rows(); row_index++)\n ~~~~~~~~~ ^ ~~~~~~~~\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/Mod/MeshPart/App/MeshFlatteningNurbs.cpp:317:48: warning: comparison of integers of different signs: 'unsigned int' and 'Eigen::Index' (aka 'long') [-Wsign-compare]\n for (unsigned int row_index = 0; row_index < U.rows(); row_index++)\n ~~~~~~~~~ ^ ~~~~~~~~\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/Mod/MeshPart/App/MeshFlatteningNurbs.cpp:327:48: warning: comparison of integers of different signs: 'unsigned int' and 'Eigen::Index' (aka 'long') [-Wsign-compare]\n for (unsigned int row_index = 0; row_index < U.rows(); row_index++)\n ~~~~~~~~~ ^ ~~~~~~~~\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/Mod/MeshPart/App/MeshFlatteningNurbs.cpp:418:48: warning: comparison of integers of different signs: 'unsigned int' and 'Eigen::EigenBase::Index' (aka 'long') [-Wsign-compare]\n for (unsigned int row_index = 0; row_index < u.size(); row_index++)\n ~~~~~~~~~ ^ ~~~~~~~~\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/src/Mod/MeshPart/App/MeshFlatteningNurbs.cpp:475:48: warning: comparison of integers of different signs: 'unsigned int' and 'Eigen::EigenBase::Index' (aka 'long') [-Wsign-compare]\n for (unsigned int row_index = 0; row_index < U.size(); row_index++)\n ~~~~~~~~~ ^ ~~~~~~~~\n6 warnings generated.\n[6/7] Building CXX object src/WebAssembly/FreeCADCoreProbe/CMakeFiles/FreeCADWebMeshPartRuntimeProbe.dir/__/__/Mod/MeshPart/App/MeshFlatteningLscmRelax.cpp.o\nem++: warning: linker setting ignored during compilation: 'PTHREAD_POOL_SIZE' [-Wunused-command-line-argument]\n[7/7] Linking CXX executable bin/FreeCADWebMeshPartRuntimeProbe.js\nem++: warning: USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]",
"stderr": ""
},
{
"name": "artifact-sync",
"command": [
"node",
"web/tools/sync-assets.mjs"
],
"seconds": 3.609,
"exitCode": 0,
"stdout": "{\"modules\":32,\"manifest\":\"public/modules/manifest.json\",\"timing\":{\"totalSeconds\":3.5633386259999997,\"copied\":3,\"skipped\":95,\"missing\":18,\"hashComputed\":3,\"hashCacheHits\":185,\"copySeconds\":3.343254565,\"hashSeconds\":0.20282306999999947,\"manifestSeconds\":0.0008570920000001934,\"manifestChanged\":true}}",
"stderr": ""
},
{
"name": "business-audit",
"command": [
"/usr/bin/python3",
"tools/generate_web_business_completion_audit.py"
],
"seconds": 0.917,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"verdict\": \"incomplete\", \"featureReceiptBacklog\": 17, \"workbenchCommands\": 356, \"formatWorkflows\": 0, \"productWorkflows\": 0}",
"stderr": ""
}
],
"supportHashes": {
"freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshPartRuntimeProbe.cpp": "d0479d742222523b92f9369b630cf31a5a27e2cbd865b1cc8cf64bae3fed6bf4",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshPartFlattenCommands.h": "6de0b217c949fe3e5d192a9fefcdb5eb486d47d5ac06943c944b2f6b838e20f2",
"web/src/meshpart-desktop-adapter.ts": "6f6ab50649bef5e39d8621348f8e2d62cbd3a2ad0c33d33da93dd379e37c1149",
"web/src/workbench-shell.tsx": "8c7d3c89bdc1fee24e1eee39b05a2c15df95e6fed55f6d501a4002a357b716f4",
"web/src/desktop-command-dispatcher.ts": "41c0d8a9c17d0f832f02cc564ea556434f6ffe47051764dd250e88503420c57a",
"web/src/meshpart-python-family-facade.ts": "5a894a975a5f7c45374d603c4ab04b4e1ae91af7463f68e400e8b6fc38ded129",
"web/src/meshpart.worker.ts": "b777823710aeb86f248e7990da2c56df969cdf0af1e0b1e6045dc6ffecc7b0fa"
}
}