Files
FreeCADWasmDev/docs/current/part-slice-document-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

188 lines
9.5 KiB
JSON

{
"schema": "freecad-web-module-batch-pipeline/v1",
"generatedAt": "2026-09-12T14:25:30.571594+00:00",
"status": "implementation_ready",
"implementationMode": "feature-first-deferred-validation",
"validationDeferred": true,
"implementationReceipt": {
"batchId": "part-slice-document-implementation-20260912",
"module": "Part",
"tier": "feature-workflow",
"family": "desktop-command-splitfeatures",
"recordIds": [
"Part:desktop:Part_Slice",
"Part:desktop:Part_SliceApart"
],
"recordCount": 2,
"selectedRecordCount": 2,
"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-12T14:25:29.628590+00:00"
},
"implementationReceipts": [
{
"batchId": "part-slice-document-implementation-20260912",
"module": "Part",
"tier": "feature-workflow",
"family": "desktop-command-splitfeatures",
"recordIds": [
"Part:desktop:Part_Slice",
"Part:desktop:Part_SliceApart"
],
"recordCount": 2,
"selectedRecordCount": 2,
"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-12T14:25:29.628590+00:00"
}
],
"coalescedBatchCount": 1,
"staticReadiness": {
"selected": 2,
"ready": 2,
"missing": 0,
"missingIds": [],
"rejectedMarkers": [],
"blockingGaps": [],
"uiContainers": 0,
"uiOnly": false
},
"batchId": "part-slice-document-implementation-20260912",
"module": "Part",
"target": "FreeCADWebPartBoxProbe",
"buildKind": "native",
"buildTree": "freecad-source/build-web/configure",
"buildRequired": true,
"buildReuse": {
"reason": "rebuilt",
"cacheHit": false,
"inputDigest": "9efc72cda9b6f2b24ab00d937ee485dbdb95d8ca8f6adee3b02d8af024561938",
"inputHashCacheHits": 0,
"inputFiles": 5,
"artifactHashCacheHits": 0,
"artifacts": 2,
"directLinkDependencies": 51,
"dependencyDirty": false
},
"totalSeconds": 44.482,
"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.987,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"modules\": 32, \"commands\": 1449, \"routed\": 1159, \"implementationRequired\": 290, \"interactive\": 94, \"genericApiEntry\": 25, \"genericCommandEntry\": 955, \"reactNavigation\": 85, \"needsParameterUi\": 0, \"needsReactWorkflow\": 290, \"artifactModules\": 32, \"validationDeferred\": 1449}",
"stderr": ""
},
{
"name": "preflight",
"command": [
"/usr/bin/python3",
"tools/check_web_link_closure.py",
"freecad-source/build-web/configure",
"FreeCADWebPartBoxProbe",
"--json"
],
"seconds": 0.048,
"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": 33.018,
"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 FreeCADWebPartBoxProbe\n[3/4] Building CXX object src/WebAssembly/FreeCADCoreProbe/CMakeFiles/FreeCADWebPartBoxProbe.dir/PartDesktopCommands.cpp.o\nem++: warning: linker setting ignored during compilation: 'PTHREAD_POOL_SIZE' [-Wunused-command-line-argument]\n[4/4] Linking CXX executable bin/FreeCADWebPartBoxProbe.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]\nwarning: invalid item (maybe a typo?) in EXPORTED_RUNTIME_METHODS: FS_readFile\nwarning: invalid item (maybe a typo?) in EXPORTED_RUNTIME_METHODS: FS_readdir",
"stderr": ""
},
{
"name": "artifact-sync",
"command": [
"node",
"web/tools/sync-assets.mjs"
],
"seconds": 2.399,
"exitCode": 0,
"stdout": "{\"modules\":32,\"manifest\":\"public/modules/manifest.json\",\"timing\":{\"totalSeconds\":2.352528843,\"copied\":3,\"skipped\":95,\"missing\":18,\"hashComputed\":3,\"hashCacheHits\":185,\"copySeconds\":2.124260817,\"hashSeconds\":0.20608192299999975,\"manifestSeconds\":0.0025163150000003043,\"manifestChanged\":true}}",
"stderr": ""
},
{
"name": "business-audit",
"command": [
"/usr/bin/python3",
"tools/generate_web_business_completion_audit.py"
],
"seconds": 0.929,
"exitCode": 0,
"stdout": "{\"status\": \"generated\", \"verdict\": \"incomplete\", \"featureReceiptBacklog\": 10, \"workbenchCommands\": 300, \"formatWorkflows\": 0, \"productWorkflows\": 0}",
"stderr": ""
}
],
"supportHashes": {
"freecad-source/src/WebAssembly/FreeCADCoreProbe/PartDesktopCommands.cpp": "c1c0a051ed81d4d7c757d43b7ea4d5ec77b0cb90cd5b77a6d5e69756745f042d",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/PartBoxProbe.cpp": "2bad551870114eedf3fb97b3269538e212350bd860dd7854f688e07267098f80",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/PartDesktopCommandProbe.cpp": "838eec296827a711d39cf337b95f83c3951a42f4b5c38a955b511d0b8174e4c7",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/PartGeometryFamilyProbe.cpp": "d1936d3e08a6482b27b9c3a18d326cc5d176e7ef584ff686653e3452a806d78d",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/PartDesktopCommands.h": "fd4b3163e553ec4fae9ccf90231b0f71c6ad3d8add7e58beee1ee6c4e24d32e2",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/PartSplitSource.h": "a3a979b4b4a84d9f2d91f5a527732834e5d7de809c31163ec1afde8acd7d3f5d",
"freecad-source/src/WebAssembly/FreeCADCoreProbe/PartSliceDocument.h": "a9bb10af0323ab7e2163cf6b71f499d0e8898948c8b3546d05b1027306523a83",
"web/src/part-desktop-adapter.ts": "a833a6153f404d0a853d5a90777db42f9d89dd18d13a04828767744d29ca8b9e",
"web/src/workbench-shell.tsx": "8125ee41dc2da4937c4e2643e307003d7a86eab519793d98fe6abb76fb739891",
"web/src/desktop-command-dispatcher.ts": "41a9bfde7559aac462f4cfe5bdc94a0896acd0572531a9d1fa8fc71d39f01c6f",
"web/src/part-python-family-facade.ts": "c307d0e924075056d6966dab89f74f714a2cccaf7af9274e7f37dca872f7b5c6",
"web/src/partdesign-python-family-facade.ts": "da2b8bec2ea3e01ea8a2b8a13b4b995e2a35d4d6b1ca8a3547da10acd43d3ec4",
"web/src/part.worker.ts": "2966e6e22dee4cf32699026a0987d59df5ff8555b0ce008b5c18d2b67b2aae51",
"web/src/part-source-commands.json": "4f67a020261fd868bfdaf4ed9fab79da2cf3dacd2e7157705d29347716e6f5fe",
"freecad-source/src/Mod/Part/BOPTools/SplitAPI.py": "ce1d44bf33af3f8532cbd64edd87b45a6f857fa48cefdaf4730e9d6115f009ba",
"freecad-source/src/Mod/Part/BOPTools/GeneralFuseResult.py": "4f65b88591ee85f1f630716b44f999921f19fc7108804b217db45731f8fc32fa",
"freecad-source/src/Mod/Part/BOPTools/__init__.py": "f2e64cd75df1e83c18b38b43bdaab09d9ef3c694fe04193916d30a367c2c2f1b",
"freecad-source/src/Mod/Part/BOPTools/ShapeMerge.py": "b63b10e87c27fdba65235732bc768f6d721e466ab7e889e11a4a5bd23c642219",
"freecad-source/src/Mod/Part/BOPTools/ToleranceFeatures.py": "68cd91d8c3e481b26c7bc581ca512fda1f89da31993cc3e2c9b0d4a9b12f2092",
"freecad-source/src/Mod/Part/BOPTools/SplitFeatures.py": "ba08911a9e2ce188abc8553cc0e40650e73201ce4cabd4a1819fe9837774627b",
"freecad-source/src/Mod/Part/BOPTools/JoinAPI.py": "a23ebd39b511a0fc410b7704a60b25870f9d4159d8c89f29363dd1f89b1844d5",
"freecad-source/src/Mod/Part/BOPTools/JoinFeatures.py": "431534ba146a032d30b21f485a1b95eaec6e045ee04982258692b538b74eeb49",
"freecad-source/src/Mod/Part/BOPTools/Utils.py": "2672b50b9ed5b6992872557debfd5f0534ddcd9029b5a23ed0c17b8e77453608",
"freecad-source/src/Mod/Part/BOPTools/BOPFeatures.py": "4795010d288f1c1aeefd7e8937c5304347b6e3233856f9641e9fcf98dc0337bb"
}
}