Files
FreeCADWasmDev/docs/p6/reverseengineering-tier1-readonly-facade.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

114 lines
3.7 KiB
JSON

{
"schema": "freecad-web-p6-reverseengineering-tier1-readonly-facade/v1",
"taskId": "FW-P6-FPA-F1-REVERSEENGINEERING",
"module": "ReverseEngineering",
"command": "reverseengineering.pythonFamilyBatch",
"result": "pass",
"envelopeSchema": "freecad-web-facade/v1",
"typedSchema": "freecad-web-reverseengineering/python-family-batch/v1",
"trace": {
"ready": {
"kind": "ready",
"action": "reverseengineering.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "rev-family-success-1",
"result": {
"cmd": "reverseengineering.pythonFamilyBatch",
"count": 1,
"module": "ReverseEngineering",
"ok": true,
"records": [
{
"apiId": "py:ReverseEngineering:class:ReverseEngineeringWorkbench",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "ReverseEngineeringWorkbench requires FreeCADGui and desktop workbench registration outside the GUI-free Web kernel",
"name": "ReverseEngineeringWorkbench",
"native": true,
"parameterSchema": "not_applicable_gui_workbench",
"resourcesReleased": true,
"returnSchema": "not_applicable_gui_workbench",
"sourceEntry": "src/Mod/ReverseEngineering/InitGui.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "restricted"
}
],
"resourcesReleased": true,
"schema": "freecad-web-reverseengineering/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
}
},
"duplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "rev-family-success-1",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "rev-family-cancel-1",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"invalid": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "rev-family-invalid-1",
"result": {
"cmd": "reverseengineering.pythonFamilyBatch",
"count": 1,
"module": "ReverseEngineering",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:ReverseEngineeringWorkbench",
"code": "unmatched_source_record",
"family": "generic-object",
"message": "ReverseEngineering API record is not part of this module-scoped adapter",
"name": "ReverseEngineeringWorkbench",
"native": true,
"resourcesReleased": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-reverseengineering/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
}
}
},
"traceSha256": "b5bca53423444a1a5fac6f476e91495339c8014f16191fab2b658e0c4ed5ac52",
"sequencing": {
"requestCount": 4,
"responseCount": 5,
"maxActive": 1,
"cancelAccepted": true
},
"schemaChecks": {
"noNativePointers": true,
"nativeSource": true,
"resourcesReleased": true
},
"artifacts": {
"native": "docs/p6/reverseengineering-tier1-readonly-family.json",
"worker": "web/src/reverseengineering-python.worker.ts",
"facade": "web/src/reverseengineering-python-family-facade.ts"
}
}