Files
FreeCADWasmDev/docs/p6/draft-module-batch-92befa39edd379885f59e099-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

1706 lines
70 KiB
JSON

{
"schema": "freecad-web-draft-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "92befa39edd379885f59e099",
"module": "Draft",
"tier": "tier-2-pure",
"family": "pure-function",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"command": "draft.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/DraftRuntimeProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/draft-python-family-facade.ts",
"worker": "web/src/draft.worker.ts"
},
"input": {
"cmd": "draft.pythonFamilyBatch",
"args": {
"tier": "tier-2-pure",
"records": [
{
"apiId": "py:Draft:function:getTangent",
"name": "getTangent",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/edges.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:concatenate",
"name": "concatenate",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/faces.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:getBoundary",
"name": "getBoundary",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/faces.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:is_coplanar",
"name": "is_coplanar",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/faces.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:bind",
"name": "bind",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/faces.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:removeSplitter",
"name": "removeSplitter",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/faces.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:fillet",
"name": "fillet",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/fillets.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:vec",
"name": "vec",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:edg",
"name": "edg",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:getVerts",
"name": "getVerts",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:v1",
"name": "v1",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:isAligned",
"name": "isAligned",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:getQuad",
"name": "getQuad",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:areColinear",
"name": "areColinear",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:isValidPath",
"name": "isValidPath",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:findClosest",
"name": "findClosest",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:getBoundaryAngles",
"name": "getBoundaryAngles",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/general.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:print_places",
"name": "print_places",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:get_twisted_placements",
"name": "get_twisted_placements",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:create_frames",
"name": "create_frames",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:make_tunnel",
"name": "make_tunnel",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:make_walkway",
"name": "make_walkway",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:findPerpendicular",
"name": "findPerpendicular",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geometry.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:findDistance",
"name": "findDistance",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geometry.py",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "af81fb05c3eb79bb35717a884573b6f34e543272967673f246f9584601ca980f",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 24,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:Draft:function:getTangent",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getTangent",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:concatenate",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "concatenate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getBoundary",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getBoundary",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:is_coplanar",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "is_coplanar",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:bind",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "bind",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:removeSplitter",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "removeSplitter",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:fillet",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "fillet",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/fillets.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:vec",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "vec",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:edg",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "edg",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getVerts",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getVerts",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:v1",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "v1",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:isAligned",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "isAligned",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getQuad",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getQuad",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:areColinear",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "areColinear",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:isValidPath",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "isValidPath",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findClosest",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findClosest",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getBoundaryAngles",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getBoundaryAngles",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:print_places",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "print_places",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:get_twisted_placements",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "get_twisted_placements",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:create_frames",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "create_frames",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:make_tunnel",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "make_tunnel",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:make_walkway",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "make_walkway",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findPerpendicular",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findPerpendicular",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findDistance",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findDistance",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "b85b3aeafeb76c0dcd0eef7e5133880fff054861020ac7de0768fdf16556ed37",
"replay": {
"equal": true,
"resultSha256": "b85b3aeafeb76c0dcd0eef7e5133880fff054861020ac7de0768fdf16556ed37"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "draft.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "draft-object-batch-success",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 24,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:Draft:function:getTangent",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getTangent",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:concatenate",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "concatenate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getBoundary",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getBoundary",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:is_coplanar",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "is_coplanar",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:bind",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "bind",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:removeSplitter",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "removeSplitter",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:fillet",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "fillet",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/fillets.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:vec",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "vec",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:edg",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "edg",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getVerts",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getVerts",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:v1",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "v1",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:isAligned",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "isAligned",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getQuad",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getQuad",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:areColinear",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "areColinear",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:isValidPath",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "isValidPath",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findClosest",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findClosest",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getBoundaryAngles",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getBoundaryAngles",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:print_places",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "print_places",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:get_twisted_placements",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "get_twisted_placements",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:create_frames",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "create_frames",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:make_tunnel",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "make_tunnel",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:make_walkway",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "make_walkway",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findPerpendicular",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findPerpendicular",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findDistance",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findDistance",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "draft-object-batch-repeat",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 24,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:Draft:function:getTangent",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getTangent",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:concatenate",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "concatenate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getBoundary",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getBoundary",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:is_coplanar",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "is_coplanar",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:bind",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "bind",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:removeSplitter",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "removeSplitter",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:fillet",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "fillet",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/fillets.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:vec",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "vec",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:edg",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "edg",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getVerts",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getVerts",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:v1",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "v1",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:isAligned",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "isAligned",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getQuad",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getQuad",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:areColinear",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "areColinear",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:isValidPath",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "isValidPath",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findClosest",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findClosest",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:getBoundaryAngles",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "getBoundaryAngles",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:print_places",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "print_places",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:get_twisted_placements",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "get_twisted_placements",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:create_frames",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "create_frames",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:make_tunnel",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "make_tunnel",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:make_walkway",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "make_walkway",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findPerpendicular",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findPerpendicular",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:findDistance",
"code": "method_evidence_pending",
"family": "pure-function",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "findDistance",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "draft-object-batch-cross",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 1,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Binding",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Draft API record is not part of this module-scoped adapter",
"name": "getTangent",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Draft/draftgeoutils/edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/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": "Draft Python family envelope is invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "draft-family-cancel-1",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "draft-object-batch-reset"
},
"traceSha256": "5af14e67a79c67f756a4ed005865cf2bbf717c97024fa20565c84f2e98b534ed"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 24
},
"records": [
{
"apiId": "py:Draft:function:getTangent",
"name": "getTangent",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "7190305281ee61ee0921d3f956f91236e4c0f34a000bd275d626723124203a13"
},
{
"apiId": "py:Draft:function:concatenate",
"name": "concatenate",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "411a6ce92aab125031ad66e196d08c1ed4702c959146151af79ee15919fa8dc5"
},
{
"apiId": "py:Draft:function:getBoundary",
"name": "getBoundary",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "a78c795e7afa92e4c656385e0db740d37d5247472b703daef628fb3daaa3881a"
},
{
"apiId": "py:Draft:function:is_coplanar",
"name": "is_coplanar",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "3303f7e464f65e732e9cc492f81195043aef59be1a68a6a68edade6a31f4fb56"
},
{
"apiId": "py:Draft:function:bind",
"name": "bind",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e8077a1076fc489be8d51e7ea3813159152347f265c6988a3d1152ae86dd1f59"
},
{
"apiId": "py:Draft:function:removeSplitter",
"name": "removeSplitter",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/faces.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "3f36b3c98a89f66db14920117a8726c5899827156dbb0133817f9479a9d63d93"
},
{
"apiId": "py:Draft:function:fillet",
"name": "fillet",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/fillets.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "ce9072adcbfca2297612ddb1a6a1cff210766a4ff9f4ef9e3a6b659feaee5467"
},
{
"apiId": "py:Draft:function:vec",
"name": "vec",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "303f81ed49b097cdd48f7f07393cf5d67e4914c77a77b3226a8cb6d35f64cd31"
},
{
"apiId": "py:Draft:function:edg",
"name": "edg",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "004b9ffb54d131c37bc2518229cd29d7afc82c358f513f3d1b537c81eda97977"
},
{
"apiId": "py:Draft:function:getVerts",
"name": "getVerts",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "cc739b3f431e03ba9396114757af8a05756bee546b02aa4b798094413efbb249"
},
{
"apiId": "py:Draft:function:v1",
"name": "v1",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "adae9612ac708aaa73ec55cabc492f8d20fc85307123806cdd115ea7c9389255"
},
{
"apiId": "py:Draft:function:isAligned",
"name": "isAligned",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "a979296fffe8a0c2ccc0582ae41a59334d7bf6de89086ac08340a0fc68fe5aa5"
},
{
"apiId": "py:Draft:function:getQuad",
"name": "getQuad",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "89bc029d4508beb9ab51042eba318b2ed09508d85a6e8fd95ee595d144161380"
},
{
"apiId": "py:Draft:function:areColinear",
"name": "areColinear",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "495a659b71439d2ab8f0375e6e1d9a387dd0ce181805df1ed58a69b9b232486c"
},
{
"apiId": "py:Draft:function:isValidPath",
"name": "isValidPath",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "ef88d10f510df3533cdeaabdcf5892a5084cd75d8e0ec9a08729de6671fc637c"
},
{
"apiId": "py:Draft:function:findClosest",
"name": "findClosest",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "79bc560dbc464dbf7910df00ccea9bfd33fed19c56308bde62dd28c561177c86"
},
{
"apiId": "py:Draft:function:getBoundaryAngles",
"name": "getBoundaryAngles",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/general.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "8df17989a09ec15483af037165510e9a7a2430dc460cd15a748afb60c431d367"
},
{
"apiId": "py:Draft:function:print_places",
"name": "print_places",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "d1ea6aba923962a58d8f784de88010eb1af813615cbad7e865648aad86a53390"
},
{
"apiId": "py:Draft:function:get_twisted_placements",
"name": "get_twisted_placements",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e917726adecc0a3c4dcb7464878788e699aebf6dd36b8b5524c9d475fb04f22e"
},
{
"apiId": "py:Draft:function:create_frames",
"name": "create_frames",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "924097143728d1873bea8234f5ed0351d173040bce14aea9590fcf4e812dfb8c"
},
{
"apiId": "py:Draft:function:make_tunnel",
"name": "make_tunnel",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "ac90754e953ac153743150941a12b4bd0751f7a06ec2e399e353fefe03875404"
},
{
"apiId": "py:Draft:function:make_walkway",
"name": "make_walkway",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geo_arrays.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "4e944fce93a520009a85a4938ad9cd06a26176179a2e46a8021e680da7fba8d1"
},
{
"apiId": "py:Draft:function:findPerpendicular",
"name": "findPerpendicular",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "2488bcfb0d4c73d7a115c5a338616d03566fcc57ef745c806bc604d350478fb3"
},
{
"apiId": "py:Draft:function:findDistance",
"name": "findDistance",
"family": "pure-function",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "f4b4a05180d0c24490f8857a1c7e6a3cb3f1b72ad1673776067a6ca9be260266"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"module": "Draft",
"worker": "draft.worker.ts",
"revision": "515c9f5f2c606d50",
"runtimeUrl": "/kernel/FreeCADWebDraftRuntimeProbe.js",
"wasmUrl": "/kernel/FreeCADWebDraftRuntimeProbe.wasm",
"dataUrl": null,
"assetBaseUrl": "/kernel/",
"buildProfile": "fast-dev",
"runtimeSha256": "bbea0dbc3d4c6424a5f44a1bbf9a4a5940b42b25947b75ff14dcbd9277f24d8f",
"wasmSha256": "515c9f5f2c606d506bd83b4688c7dfa8fe9e0c08da513cde74294e9df0866300"
},
"boundaries": [
"Draft functions are executed from embedded official FreeCAD Python source by the native dispatcher.",
"All statuses, values and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
]
}