Files
FreeCADWasmDev/docs/p6/partdesign-module-batch-4563bfa3ea94ed29ea0b5ddb-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

332 lines
12 KiB
JSON

{
"schema": "freecad-web-p6-partdesign-stateful-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "4563bfa3ea94ed29ea0b5ddb",
"module": "PartDesign",
"tier": "tier-3-stateful",
"family": "document-graph",
"status": "pass_with_boundaries",
"dispatcher": "fc_web_dispatch_json",
"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-3-stateful",
"records": [
{
"apiId": "py:PartDesign:method:Body.insertObject",
"name": "Body.insertObject",
"family": "document-graph",
"sourcePath": "src/Mod/PartDesign/App/Body.pyi",
"sourceLine": 24,
"disposition": "not_implemented"
},
{
"apiId": "py:PartDesign:method:Feature.getBaseObject",
"name": "Feature.getBaseObject",
"family": "document-graph",
"sourcePath": "src/Mod/PartDesign/App/Feature.pyi",
"sourceLine": 22,
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "8a85395de084e7312dcd2ab8637933e44df7e071f54aead5c6be6399d2c072be",
"result": {
"cmd": "partdesign.pythonFamilyBatch",
"count": 2,
"module": "PartDesign",
"ok": true,
"records": [
{
"apiId": "py:PartDesign:method:Body.insertObject",
"baseResolved": false,
"bodyObjects": 0,
"code": "native_fixture_error",
"family": "document-graph",
"message": "map::at: key not found",
"name": "Body.insertObject",
"native": true,
"parameterSchema": "native PartDesign document graph fixture",
"replay": "native-source-partdesign-document-graph",
"resourcesReleased": true,
"returnSchema": "document graph method result",
"sourceEntry": "src/Mod/PartDesign/App/Body.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:method:Feature.getBaseObject",
"baseResolved": false,
"bodyObjects": 0,
"code": "native_fixture_error",
"family": "document-graph",
"message": "map::at: key not found",
"name": "Feature.getBaseObject",
"native": true,
"parameterSchema": "native PartDesign document graph fixture",
"replay": "native-source-partdesign-document-graph",
"resourcesReleased": true,
"returnSchema": "document graph method result",
"sourceEntry": "src/Mod/PartDesign/App/Feature.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-partdesign/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
},
"resultSha256": "51e83690bd33bcb000f0cfa04fd1c06b64149bf8d2106cef88ddbab6f0b7a22d",
"replay": {
"equal": true,
"resultSha256": "51e83690bd33bcb000f0cfa04fd1c06b64149bf8d2106cef88ddbab6f0b7a22d"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "partdesign.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "pd-generic-success",
"result": {
"cmd": "partdesign.pythonFamilyBatch",
"count": 2,
"module": "PartDesign",
"ok": true,
"records": [
{
"apiId": "py:PartDesign:method:Body.insertObject",
"baseResolved": false,
"bodyObjects": 0,
"code": "native_fixture_error",
"family": "document-graph",
"message": "map::at: key not found",
"name": "Body.insertObject",
"native": true,
"parameterSchema": "native PartDesign document graph fixture",
"replay": "native-source-partdesign-document-graph",
"resourcesReleased": true,
"returnSchema": "document graph method result",
"sourceEntry": "src/Mod/PartDesign/App/Body.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:method:Feature.getBaseObject",
"baseResolved": false,
"bodyObjects": 0,
"code": "native_fixture_error",
"family": "document-graph",
"message": "map::at: key not found",
"name": "Feature.getBaseObject",
"native": true,
"parameterSchema": "native PartDesign document graph fixture",
"replay": "native-source-partdesign-document-graph",
"resourcesReleased": true,
"returnSchema": "document graph method result",
"sourceEntry": "src/Mod/PartDesign/App/Feature.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-partdesign/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "pd-generic-repeat",
"result": {
"cmd": "partdesign.pythonFamilyBatch",
"count": 2,
"module": "PartDesign",
"ok": true,
"records": [
{
"apiId": "py:PartDesign:method:Body.insertObject",
"baseResolved": false,
"bodyObjects": 0,
"code": "native_fixture_error",
"family": "document-graph",
"message": "map::at: key not found",
"name": "Body.insertObject",
"native": true,
"parameterSchema": "native PartDesign document graph fixture",
"replay": "native-source-partdesign-document-graph",
"resourcesReleased": true,
"returnSchema": "document graph method result",
"sourceEntry": "src/Mod/PartDesign/App/Body.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:PartDesign:method:Feature.getBaseObject",
"baseResolved": false,
"bodyObjects": 0,
"code": "native_fixture_error",
"family": "document-graph",
"message": "map::at: key not found",
"name": "Feature.getBaseObject",
"native": true,
"parameterSchema": "native PartDesign document graph fixture",
"replay": "native-source-partdesign-document-graph",
"resourcesReleased": true,
"returnSchema": "document graph method result",
"sourceEntry": "src/Mod/PartDesign/App/Feature.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-partdesign/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"cross": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "pd-generic-cross",
"result": {
"cmd": "partdesign.pythonFamilyBatch",
"count": 1,
"module": "PartDesign",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Binding",
"code": "unmatched_source_record",
"family": "document-graph",
"message": "PartDesign API record is not part of this module-scoped adapter",
"name": "Body.insertObject",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/PartDesign/App/Body.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-partdesign/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"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"
}
},
"reset": {
"kind": "reset",
"requestId": "pd-generic-reset"
},
"traceSha256": "642a2533b34ead269813e1afc66851691995c29539c51837f388d0a9a4f6579f"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 2
},
"records": [
{
"apiId": "py:PartDesign:method:Body.insertObject",
"name": "Body.insertObject",
"family": "document-graph",
"status": "not_implemented",
"code": "native_fixture_error",
"message": "map::at: key not found",
"parameterSchema": "native PartDesign document graph fixture",
"returnSchema": "document graph method result",
"sourceEntry": "src/Mod/PartDesign/App/Body.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "92219c2a955344c5e87de7e3157acff79210a1c9d93f764f97e8072a263f2a6a"
},
{
"apiId": "py:PartDesign:method:Feature.getBaseObject",
"name": "Feature.getBaseObject",
"family": "document-graph",
"status": "not_implemented",
"code": "native_fixture_error",
"message": "map::at: key not found",
"parameterSchema": "native PartDesign document graph fixture",
"returnSchema": "document graph method result",
"sourceEntry": "src/Mod/PartDesign/App/Feature.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "bdbd1cd9b98b653b53fd5323895d17ccc5a185f1cbf91497d62ac15bbef1bbf9"
}
],
"sourceEvidence": [
{
"apiId": "py:PartDesign:method:Body.insertObject",
"path": "src/Mod/PartDesign/App/Body.pyi",
"line": 24,
"declaration": "def insertObject(self, feature: object, target: object, after: bool = False, /) -> None:",
"sha256": "bf419fbbcb59a352ca2350b48db49c48156ed72a65b21411dc97812ba815e7cf"
},
{
"apiId": "py:PartDesign:method:Feature.getBaseObject",
"path": "src/Mod/PartDesign/App/Feature.pyi",
"line": 22,
"declaration": "def getBaseObject(self) -> Optional[object]:",
"sha256": "cf9660c73a65a99e31ca5018f4cc3680df6d4e209b8ed071251abbec2962e3f8"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"module": "PartDesign",
"worker": "partdesign-python.worker.ts",
"revision": "1232e27e72018497",
"runtimeUrl": "/kernel/FreeCADWebPartDesignRuntimeProbe.js",
"wasmUrl": "/kernel/FreeCADWebPartDesignRuntimeProbe.wasm",
"dataUrl": null,
"assetBaseUrl": "/kernel/",
"moduleRevision": "6388a02bebac8f39",
"buildProfile": "fast-dev",
"runtimeSha256": "39f5870a8c41ef641215f8f4f811d7def375fd193bfff3944c92131350e25e19",
"wasmSha256": "1232e27e72018497861facbc930f99c8c3569e91b72df47c1b71b6dcd5886180"
},
"boundaries": [
"Body.insertObject and Feature.getBaseObject are exercised against a native App::Document/PartDesign::Body fixture through fc_web_dispatch_json.",
"PartDesign remains an independent runtime artifact loaded through partdesign-python.worker.ts; no WASM binary merge is used."
]
}