Files
FreeCADWasmDev/docs/p6/partdesign-pure-function-module-batch-dee3680574e9c36a396f038d-runtime.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

408 lines
16 KiB
JSON

{
"schema": "freecad-web-p6-partdesign-pure-function-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "dee3680574e9c36a396f038d",
"module": "PartDesign",
"tier": "tier-2-pure",
"family": "pure-function",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"command": "partdesign.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/PartDesignRuntimeProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/partdesign-python-family-facade.ts",
"worker": "web/src/partdesign-python.worker.ts"
},
"input": {
"cmd": "partdesign.pythonFamilyBatch",
"args": {
"tier": "tier-2-pure",
"records": [
{
"apiId": "py:PartDesign:function:chebyPolyCoeffs",
"name": "chebyPolyCoeffs",
"family": "pure-function",
"sourcePath": "src/Mod/PartDesign/fcgear/involute.py",
"disposition": "not_implemented"
},
{
"apiId": "py:PartDesign:function:bezCoeff",
"name": "bezCoeff",
"family": "pure-function",
"sourcePath": "src/Mod/PartDesign/fcgear/involute.py",
"disposition": "not_implemented"
},
{
"apiId": "py:PartDesign:function:BezCoeffs",
"name": "BezCoeffs",
"family": "pure-function",
"sourcePath": "src/Mod/PartDesign/fcgear/involute.py",
"disposition": "not_implemented"
},
{
"apiId": "py:PartDesign:function:CreateSprocket",
"name": "CreateSprocket",
"family": "pure-function",
"sourcePath": "src/Mod/PartDesign/fcsprocket/sprocket.py",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "2da9d62dc88b7a4bf41ef4f980f28853b2c7097357d171389f71e0ce4af1204e",
"result": {
"cmd": "partdesign.pythonFamilyBatch",
"count": 4,
"module": "PartDesign",
"ok": true,
"records": [
{
"apiId": "py:PartDesign:function:chebyPolyCoeffs",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "chebyPolyCoeffs",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:bezCoeff",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "bezCoeff",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:BezCoeffs",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "BezCoeffs",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:CreateSprocket",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "CreateSprocket",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcsprocket/sprocket.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-partdesign/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "c0bef7a4aa14978d86f6d192ac342a7eb7788b45873f51186c75b3ae694f508c",
"replay": {
"equal": true,
"resultSha256": "c0bef7a4aa14978d86f6d192ac342a7eb7788b45873f51186c75b3ae694f508c"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "partdesign.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "pd-pure-success",
"result": {
"cmd": "partdesign.pythonFamilyBatch",
"count": 4,
"module": "PartDesign",
"ok": true,
"records": [
{
"apiId": "py:PartDesign:function:chebyPolyCoeffs",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "chebyPolyCoeffs",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:bezCoeff",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "bezCoeff",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:BezCoeffs",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "BezCoeffs",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:CreateSprocket",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "CreateSprocket",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcsprocket/sprocket.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-partdesign/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "pd-pure-repeat",
"result": {
"cmd": "partdesign.pythonFamilyBatch",
"count": 4,
"module": "PartDesign",
"ok": true,
"records": [
{
"apiId": "py:PartDesign:function:chebyPolyCoeffs",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "chebyPolyCoeffs",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:bezCoeff",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "bezCoeff",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:BezCoeffs",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "BezCoeffs",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:function:CreateSprocket",
"code": "source_disposition",
"family": "pure-function",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"name": "CreateSprocket",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcsprocket/sprocket.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-partdesign/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "pd-pure-cross",
"result": {
"cmd": "partdesign.pythonFamilyBatch",
"count": 1,
"module": "PartDesign",
"ok": true,
"records": [
{
"apiId": "py:Part:function:makeBox",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "PartDesign API record is not part of this module-scoped adapter",
"name": "chebyPolyCoeffs",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-partdesign/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "invalid",
"error": {
"code": "invalid_request",
"message": "PartDesign Python family envelope invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "pdn-python-cancel-1",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"traceSha256": "45161ec0f821c526464ab07cfd2381371536bb2b58f67eeb94d679b0cb740b3d"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 4
},
"records": [
{
"apiId": "py:PartDesign:function:chebyPolyCoeffs",
"name": "chebyPolyCoeffs",
"status": "not_implemented",
"code": "source_disposition",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "d62511c20e967f76238d9c1cc92cc074efcd8fa115f4ae8c6312f39cad7b17b2"
},
{
"apiId": "py:PartDesign:function:bezCoeff",
"name": "bezCoeff",
"status": "not_implemented",
"code": "source_disposition",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "7a562088a877a9a3b781ba7f155aa2712f526d31f29fea33e717c5392d97167b"
},
{
"apiId": "py:PartDesign:function:BezCoeffs",
"name": "BezCoeffs",
"status": "not_implemented",
"code": "source_disposition",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"sourceEntry": "src/Mod/PartDesign/fcgear/involute.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "4bfad4221930b9ca9a17a8aa883d40049f494e442d61d7923b5dd672c7e4a939"
},
{
"apiId": "py:PartDesign:function:CreateSprocket",
"name": "CreateSprocket",
"status": "not_implemented",
"code": "source_disposition",
"message": "PartDesign API disposition is bounded by the FreeCAD source manifest",
"sourceEntry": "src/Mod/PartDesign/fcsprocket/sprocket.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "686c7b079c25a9ad7000d5358039a122e0da37c154709e837ebd54f340614305"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"module": "PartDesign",
"worker": "partdesign-python.worker.ts",
"revision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"runtimeUrl": "/kernel/FreeCADWebPartDesignRuntimeProbe.js",
"wasmUrl": "/kernel/FreeCADWebPartDesignRuntimeProbe.wasm",
"dataUrl": null,
"assetBaseUrl": "/kernel/",
"buildProfile": "fast-dev",
"wasm": {
"path": "web/public/kernel/FreeCADWebPartDesignRuntimeProbe.wasm",
"sha256": "7c21c9b997a3f1588adaaee79fa4aedb661cc6e2a63ebc7802855b68f332ea24"
},
"loader": {
"path": "web/public/kernel/FreeCADWebPartDesignRuntimeProbe.js",
"sha256": "68d2916d453cf89755420c7a4afb24c5d6ad9e9874d9f1e7c07605e11f74bd91"
}
},
"boundaries": [
"The four APIs are FreeCAD Python workbench scripts without a typed native argument/return fixture.",
"Their not_implemented status comes from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the envelope."
]
}