Files
FreeCADWasmDev/docs/p6/sketcher-get-sketch-method-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

375 lines
11 KiB
JSON

{
"schema": "freecad-web-p6-sketcher-get-sketch-method-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"module": "Sketcher",
"tier": "tier-2-pure",
"apiId": "py:Sketcher:function:getSketch",
"status": "pass",
"route": {
"command": "sketcher.pythonMethod",
"worker": "web/src/sketcher-python.worker.ts",
"facade": "web/src/sketcher-python-method-facade.ts",
"apiBridge": "web/src/api-method-bridge.ts",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/SketcherProbe.cpp:fc_web_dispatch_json"
},
"source": {
"entry": "src/Mod/Sketcher/Profiles.py",
"line": 40,
"revision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"guiShim": "FreeCADGui.ActiveDocument.getInEdit returns None; official getSketch source remains unchanged"
},
"request": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "request",
"requestId": "sketcher-get-sketch-success",
"command": "sketcher.pythonMethod",
"payload": {
"schema": "freecad-web-sketcher/python-method/v1",
"module": "Sketcher",
"tier": "tier-2-pure",
"apiId": "py:Sketcher:function:getSketch",
"name": "getSketch",
"family": "pure-function",
"args": {}
},
"documentId": "sketcher-python-method"
},
"requestSha256": "bc5abf6d6840041496aa41cc1ea733be097d8a2e61e20fdbb82198ae14a8f62c",
"trace": {
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-get-sketch-success",
"result": {
"apiId": "py:Sketcher:function:getSketch",
"family": "pure-function",
"module": "Sketcher",
"name": "getSketch",
"native": true,
"ok": true,
"parameterSchema": {},
"resourcesReleased": true,
"result": {
"guiAvailable": false,
"hasSketch": false,
"objectType": "",
"withDocument": false,
"withoutDocument": false
},
"returnSchema": {
"fields": {
"guiAvailable": "boolean",
"hasSketch": "boolean",
"objectType": "string",
"withDocument": "boolean",
"withoutDocument": "boolean"
},
"type": "object"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/Profiles.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
}
},
"repeated": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-get-sketch-repeat",
"result": {
"apiId": "py:Sketcher:function:getSketch",
"family": "pure-function",
"module": "Sketcher",
"name": "getSketch",
"native": true,
"ok": true,
"parameterSchema": {},
"resourcesReleased": true,
"result": {
"guiAvailable": false,
"hasSketch": false,
"objectType": "",
"withDocument": false,
"withoutDocument": false
},
"returnSchema": {
"fields": {
"guiAvailable": "boolean",
"hasSketch": "boolean",
"objectType": "string",
"withDocument": "boolean",
"withoutDocument": "boolean"
},
"type": "object"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/Profiles.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-get-sketch-malformed",
"error": {
"code": "invalid_request",
"message": "Sketcher Python method envelope invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-get-sketch-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"direct": {
"apiId": "py:Sketcher:function:getSketch",
"family": "pure-function",
"module": "Sketcher",
"name": "getSketch",
"native": true,
"ok": true,
"parameterSchema": {},
"resourcesReleased": true,
"result": {
"guiAvailable": false,
"hasSketch": false,
"objectType": "",
"withDocument": false,
"withoutDocument": false
},
"returnSchema": {
"fields": {
"guiAvailable": "boolean",
"hasSketch": "boolean",
"objectType": "string",
"withDocument": "boolean",
"withoutDocument": "boolean"
},
"type": "object"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/Profiles.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
},
"directRepeat": {
"apiId": "py:Sketcher:function:getSketch",
"family": "pure-function",
"module": "Sketcher",
"name": "getSketch",
"native": true,
"ok": true,
"parameterSchema": {},
"resourcesReleased": true,
"result": {
"guiAvailable": false,
"hasSketch": false,
"objectType": "",
"withDocument": false,
"withoutDocument": false
},
"returnSchema": {
"fields": {
"guiAvailable": "boolean",
"hasSketch": "boolean",
"objectType": "string",
"withDocument": "boolean",
"withoutDocument": "boolean"
},
"type": "object"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/Profiles.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
},
"crossModule": {
"ok": false,
"code": "unmatched_source_record",
"error": "Sketcher native method is not registered for this module/tier"
},
"unsupported": {
"ok": false,
"code": "unsupported_command",
"error": "Sketcher native dispatch command is not registered"
},
"bridgeSuccess": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "api-method-1788351027362",
"result": {
"apiId": "py:Sketcher:function:getSketch",
"family": "pure-function",
"module": "Sketcher",
"name": "getSketch",
"native": true,
"ok": true,
"parameterSchema": {},
"resourcesReleased": true,
"result": {
"guiAvailable": false,
"hasSketch": false,
"objectType": "",
"withDocument": false,
"withoutDocument": false
},
"returnSchema": {
"fields": {
"guiAvailable": "boolean",
"hasSketch": "boolean",
"objectType": "string",
"withDocument": "boolean",
"withoutDocument": "boolean"
},
"type": "object"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/Profiles.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
}
},
"bridgeInvalid": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "api-method-1788351027362",
"error": {
"code": "invalid_arguments",
"message": "Sketcher.getSketch does not accept arguments",
"diagnostic": {
"apiId": "py:Sketcher:function:getSketch",
"args": [
1
]
}
}
}
},
"traceSha256": "4edcc48e1a1128b8a452b63e993cee279bbb320555ac76f69e51f799bb6412a9",
"replay": {
"equal": true,
"resultSha256": "eadc95179cf7ac7d21d7e6da1d2926f72d6bfe5fe6a3c3cde4eb4cd572785cbd"
},
"resources": {
"resourcesReleased": true,
"documentMutation": false,
"temporaryDocumentClosed": true
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebSketcherProbe.wasm",
"sha256": "ae8770578737612018556d8a406bfbd47a8a93a502c5b63a63d60a2a3647ea88"
},
"loader": {
"path": "web/public/kernel/FreeCADWebSketcherProbe.js",
"sha256": "cc3e2fa493f7214a79fb879676acfeedcd0f640cac568219f0f3382dce893e00"
}
},
"boundaries": [
"GUI-only edit selection remains unavailable in the headless Web kernel and is represented by hasSketch=false.",
"The method has no arguments and does not mutate the Document.",
"All result fields and statuses come from compiled FreeCAD through fc_web_dispatch_json."
],
"worker": {
"trace": {
"ready": {
"kind": "ready",
"action": "sketcher.pythonMethod"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-get-sketch-success",
"result": {
"apiId": "py:Sketcher:function:getSketch",
"family": "pure-function",
"module": "Sketcher",
"name": "getSketch",
"native": true,
"ok": true,
"parameterSchema": {},
"resourcesReleased": true,
"result": {
"guiAvailable": false,
"hasSketch": false,
"objectType": "",
"withDocument": false,
"withoutDocument": false
},
"returnSchema": {
"fields": {
"guiAvailable": "boolean",
"hasSketch": "boolean",
"objectType": "string",
"withDocument": "boolean",
"withoutDocument": "boolean"
},
"type": "object"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/Profiles.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
}
},
"duplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-get-sketch-success",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-get-sketch-worker-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "sketcher-get-sketch-worker-reset"
}
},
"sequencing": {
"duplicate": true,
"cancelAccepted": true,
"resetAccepted": true,
"maxActive": 1
},
"traceSha256": "1c3fbc5799a280ab9244b325b60bb398a7d86c7bb3626b76bb3fb895ce411a36"
},
"resultSha256": "712621ca3382cc2ec4e09786d6f39369968ace465a27f91a1da2e9c33706f68e"
}