Files
FreeCADWasmDev/docs/current/meshpart-curve-boundary-repair-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
7.4 KiB
JSON

{
"schema": "freecad-web-module-batch-pipeline/v1",
"generatedAt": "2026-09-12T04:00:04.319324+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-12T04:00:03.374389+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-12T04:00:03.374389+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": "50f45dcf16f96735fb8ca0e780fe443bba437d8fd4b782c8e446b336af5444c1",
"inputHashCacheHits": 0,
"inputFiles": 8,
"artifactHashCacheHits": 0,
"artifacts": 2,
"directLinkDependencies": 51,
"dependencyDirty": false
},
"totalSeconds": 49.112,
"steps": [
{
"name": "module-registry",
"command": [
"/usr/bin/python3",
"tools/generate_web_module_registry.py"
],
"seconds": 0.101,
"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.971,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"modules\": 32, \"commands\": 1449, \"routed\": 1103, \"implementationRequired\": 346, \"interactive\": 94, \"genericApiEntry\": 25, \"genericCommandEntry\": 899, \"reactNavigation\": 85, \"needsParameterUi\": 0, \"needsReactWorkflow\": 346, \"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.042,
"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",
"-j8"
],
"seconds": 37.028,
"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 FreeCADWebMeshPartRuntimeProbe\n[3/4] 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[4/4] 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.039,
"exitCode": 0,
"stdout": "{\"modules\":32,\"manifest\":\"public/modules/manifest.json\",\"timing\":{\"totalSeconds\":2.992620459,\"copied\":3,\"skipped\":95,\"missing\":18,\"hashComputed\":3,\"hashCacheHits\":185,\"copySeconds\":2.771007441,\"hashSeconds\":0.20465599799999973,\"manifestSeconds\":0.0008625380000003134,\"manifestChanged\":true}}",
"stderr": ""
},
{
"name": "business-audit",
"command": [
"/usr/bin/python3",
"tools/generate_web_business_completion_audit.py"
],
"seconds": 0.931,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"verdict\": \"incomplete\", \"featureReceiptBacklog\": 10, \"workbenchCommands\": 333, \"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"
}
}