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

1994 lines
80 KiB
JSON

{
"schema": "freecad-web-draft-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "8f2388840362833155d66516",
"module": "Draft",
"tier": "tier-2-pure",
"family": "geometry-value",
"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:placement_from_face",
"name": "placement_from_face",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geometry.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:placement_from_points",
"name": "placement_from_points",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geometry.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:project_point_on_plane",
"name": "project_point_on_plane",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/geometry.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:wiresIntersect",
"name": "wiresIntersect",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/intersections.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:linearFromPoints",
"name": "linearFromPoints",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/linear_algebra.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:offsetWire",
"name": "offsetWire",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/offsets.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:sortEdges",
"name": "sortEdges",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:sortEdgesOld",
"name": "sortEdgesOld",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:findWires",
"name": "findWires",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:findWiresOld2",
"name": "findWiresOld2",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:findWiresOld",
"name": "findWiresOld",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:flattenWire",
"name": "flattenWire",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:superWire",
"name": "superWire",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:curvetowire",
"name": "curvetowire",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:curvetosegment",
"name": "curvetosegment",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:rebaseWire",
"name": "rebaseWire",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:get_placement_perpendicular_to_wire",
"name": "get_placement_perpendicular_to_wire",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:get_extended_wire",
"name": "get_extended_wire",
"family": "geometry-value",
"kind": "function",
"sourcePath": "src/Mod/Draft/draftgeoutils/wires.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:BezCurve.updateShape",
"name": "BezCurve.updateShape",
"family": "geometry-value",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftguitools/gui_beziers.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:CubicBezCurve.updateShape",
"name": "CubicBezCurve.updateShape",
"family": "geometry-value",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftguitools/gui_beziers.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:Dimension.selectEdge",
"name": "Dimension.selectEdge",
"family": "geometry-value",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftguitools/gui_dimensions.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.globalize_vectors",
"name": "Edit.globalize_vectors",
"family": "geometry-value",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftguitools/gui_edit.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.globalize_vector",
"name": "Edit.globalize_vector",
"family": "geometry-value",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftguitools/gui_edit.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.localize_vectors",
"name": "Edit.localize_vectors",
"family": "geometry-value",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftguitools/gui_edit.py",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "16828318b3635c1cd1f870c010eb08594dcac4d9b9812878693ea2606cd70ce7",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 24,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:Draft:function:placement_from_face",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "placement_from_face",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:placement_from_points",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "placement_from_points",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:project_point_on_plane",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "project_point_on_plane",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:wiresIntersect",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "wiresIntersect",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.intersections', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/intersections.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:linearFromPoints",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "linearFromPoints",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.linear_algebra', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/linear_algebra.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:offsetWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "offsetWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.offsets', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/offsets.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:sortEdges",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "sortEdges",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.sort_edges', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:sortEdgesOld",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "sortEdgesOld",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.sort_edges', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWires",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWires",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWiresOld2",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWiresOld2",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWiresOld",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWiresOld",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:flattenWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "flattenWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:superWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "superWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:curvetowire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "curvetowire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:curvetosegment",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "curvetosegment",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:rebaseWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "rebaseWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:get_placement_perpendicular_to_wire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "get_placement_perpendicular_to_wire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:get_extended_wire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "get_extended_wire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:method:BezCurve.updateShape",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "BezCurve.updateShape",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_beziers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:CubicBezCurve.updateShape",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "CubicBezCurve.updateShape",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_beziers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Dimension.selectEdge",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Dimension.selectEdge",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_dimensions.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.globalize_vectors",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.globalize_vectors",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.globalize_vector",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.globalize_vector",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.localize_vectors",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.localize_vectors",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "c61280f550d07a2e1eda2c93caa4410057e476d3286aaff956327a2125d85d55",
"replay": {
"equal": true,
"resultSha256": "c61280f550d07a2e1eda2c93caa4410057e476d3286aaff956327a2125d85d55"
},
"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:placement_from_face",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "placement_from_face",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:placement_from_points",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "placement_from_points",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:project_point_on_plane",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "project_point_on_plane",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:wiresIntersect",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "wiresIntersect",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.intersections', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/intersections.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:linearFromPoints",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "linearFromPoints",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.linear_algebra', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/linear_algebra.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:offsetWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "offsetWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.offsets', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/offsets.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:sortEdges",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "sortEdges",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.sort_edges', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:sortEdgesOld",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "sortEdgesOld",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.sort_edges', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWires",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWires",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWiresOld2",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWiresOld2",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWiresOld",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWiresOld",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:flattenWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "flattenWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:superWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "superWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:curvetowire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "curvetowire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:curvetosegment",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "curvetosegment",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:rebaseWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "rebaseWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:get_placement_perpendicular_to_wire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "get_placement_perpendicular_to_wire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:get_extended_wire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "get_extended_wire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:method:BezCurve.updateShape",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "BezCurve.updateShape",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_beziers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:CubicBezCurve.updateShape",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "CubicBezCurve.updateShape",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_beziers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Dimension.selectEdge",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Dimension.selectEdge",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_dimensions.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.globalize_vectors",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.globalize_vectors",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.globalize_vector",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.globalize_vector",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.localize_vectors",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.localize_vectors",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.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:placement_from_face",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "placement_from_face",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:placement_from_points",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "placement_from_points",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:project_point_on_plane",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "project_point_on_plane",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:wiresIntersect",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "wiresIntersect",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.intersections', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/intersections.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:linearFromPoints",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "linearFromPoints",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.linear_algebra', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/linear_algebra.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:offsetWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "offsetWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.offsets', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/offsets.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:sortEdges",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "sortEdges",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.sort_edges', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:sortEdgesOld",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "sortEdgesOld",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.sort_edges', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWires",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWires",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWiresOld2",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWiresOld2",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:findWiresOld",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "findWiresOld",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:flattenWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "flattenWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:superWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "superWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:curvetowire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "curvetowire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:curvetosegment",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "curvetosegment",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:rebaseWire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "rebaseWire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:get_placement_perpendicular_to_wire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "get_placement_perpendicular_to_wire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:function:get_extended_wire",
"code": "native_python_method",
"family": "geometry-value",
"message": "Draft official Python source fixture executed by FreeCAD",
"name": "get_extended_wire",
"native": true,
"parameterSchema": "native-fixture/v1",
"replay": "native-python-typed",
"resourcesReleased": true,
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"returnSchema": "{type:string,repr:string}",
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Draft:method:BezCurve.updateShape",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "BezCurve.updateShape",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_beziers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:CubicBezCurve.updateShape",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "CubicBezCurve.updateShape",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_beziers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Dimension.selectEdge",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Dimension.selectEdge",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_dimensions.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.globalize_vectors",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.globalize_vectors",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.globalize_vector",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.globalize_vector",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:Edit.localize_vectors",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "Edit.localize_vectors",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.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": "geometry-value",
"message": "Draft API record is not part of this module-scoped adapter",
"name": "placement_from_face",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"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"
}
},
"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": "2d48af6814f0c8f52988f603af41a4b4f3f5a33a54789b88b5dad992d865a103"
},
"dispositionCounts": {
"exposed": 18,
"restricted": 0,
"nonportable": 0,
"not_implemented": 6
},
"records": [
{
"apiId": "py:Draft:function:placement_from_face",
"name": "placement_from_face",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "27b09a378a09d4807bbe17fd836c3bff4b959318794f11c7050798484577a5c3"
},
{
"apiId": "py:Draft:function:placement_from_points",
"name": "placement_from_points",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "176acaed585fc5c6e418e66862ccf5a48784e7be43d28c39e7770271bf472ff4"
},
{
"apiId": "py:Draft:function:project_point_on_plane",
"name": "project_point_on_plane",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.geometry', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/geometry.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "b38cdabcd8c544db18e0d3c7e10be527575fee1c4cf15b0b0b6936676df38402"
},
{
"apiId": "py:Draft:function:wiresIntersect",
"name": "wiresIntersect",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.intersections', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/intersections.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "4dde6ca1c9b1e1780da69e531b87a426b348992e59bad892f84766e11e2820d0"
},
{
"apiId": "py:Draft:function:linearFromPoints",
"name": "linearFromPoints",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.linear_algebra', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/linear_algebra.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "66f40349c4b975d2c77cf97bec46158d0a5aa9cd5e6566a9d42b8d6283314d59"
},
{
"apiId": "py:Draft:function:offsetWire",
"name": "offsetWire",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.offsets', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/offsets.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "ef3975d5a40637c256971fe3979ff84722d1b76fda15ad3c1ec235868c9740aa"
},
{
"apiId": "py:Draft:function:sortEdges",
"name": "sortEdges",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.sort_edges', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "1a1b8b9a70afff310a0d0d48c71bce4ff20a8d599004bbb783e003876bf90364"
},
{
"apiId": "py:Draft:function:sortEdgesOld",
"name": "sortEdgesOld",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.sort_edges', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/sort_edges.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "d7fa6171e881e0625e3f401c62948da0799014cfc3cdcbf66d91f419f9387288"
},
{
"apiId": "py:Draft:function:findWires",
"name": "findWires",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "bca5a068350e012ca4b855f690f08d0f44151ed28616ac99b4206154dcf26b2f"
},
{
"apiId": "py:Draft:function:findWiresOld2",
"name": "findWiresOld2",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "cacc99faa7b7bc0527fec7c56013dd8328bf6bc4403d569e7a47fb797708fcf1"
},
{
"apiId": "py:Draft:function:findWiresOld",
"name": "findWiresOld",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "8fa5ee9c31bc3956137952b366d925e42e814856d2d1dbdc055bdd854226708a"
},
{
"apiId": "py:Draft:function:flattenWire",
"name": "flattenWire",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "25206cff8a3bea8904c15b340ce196b46d492418e7c99050d9356fef7ae57958"
},
{
"apiId": "py:Draft:function:superWire",
"name": "superWire",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "1b05607c7aa1dc9c724d0d30429dd2caa427c831ee2342234174fe9bd1264142"
},
{
"apiId": "py:Draft:function:curvetowire",
"name": "curvetowire",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "610ea32e0b624eaffb8bd76156777d39f7c6715d6029d1abc9d219b1d065dc7b"
},
{
"apiId": "py:Draft:function:curvetosegment",
"name": "curvetosegment",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "2dd010f46b7e649e76a5df18e77ed27e84d4f9dc7df3b21220c66fad6a8c5fd2"
},
{
"apiId": "py:Draft:function:rebaseWire",
"name": "rebaseWire",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "54da335cefaeadaaa55b6841b64f52e105faa9c174d500db406852e25ede9d0f"
},
{
"apiId": "py:Draft:function:get_placement_perpendicular_to_wire",
"name": "get_placement_perpendicular_to_wire",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "9dd50279bcc2d4e1300780c151b68c9021c1304eb6d60fa263b1091fa8b78035"
},
{
"apiId": "py:Draft:function:get_extended_wire",
"name": "get_extended_wire",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_method",
"message": "Draft official Python source fixture executed by FreeCAD",
"result": {
"repr": "{'module': 'draftgeoutils.wires', 'callable': True}",
"type": "dict"
},
"sourceEntry": "src/Mod/Draft/draftgeoutils/wires.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "41febf4f08aad84e1fd00d689b93ae5387f4e2a4a4914516fff2afe6f2ff6445"
},
{
"apiId": "py:Draft:method:BezCurve.updateShape",
"name": "BezCurve.updateShape",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_beziers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "a3c9e5be64665172bfeca60ad868ef12d08317b602b57faf0486525e1a2bd1b8"
},
{
"apiId": "py:Draft:method:CubicBezCurve.updateShape",
"name": "CubicBezCurve.updateShape",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_beziers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "df7f04a963c606bca0dda4656c4807161af906575546791965451cbde670c264"
},
{
"apiId": "py:Draft:method:Dimension.selectEdge",
"name": "Dimension.selectEdge",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_dimensions.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "9584b2cc582f0a2cdcf97210ed471c36c632b6f0f94a5c40e6edd41c4b65c807"
},
{
"apiId": "py:Draft:method:Edit.globalize_vectors",
"name": "Edit.globalize_vectors",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "246c6384f7d25f655950c8605daeabce9fb56fe3409e5096fda9d6e39868a073"
},
{
"apiId": "py:Draft:method:Edit.globalize_vector",
"name": "Edit.globalize_vector",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "935a91042a9c950bc735cea66e441b18bcbd9cec0ee3633485dec5a93a8bb387"
},
{
"apiId": "py:Draft:method:Edit.localize_vectors",
"name": "Edit.localize_vectors",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftguitools/gui_edit.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "7c11d3970af8fd583b3edd1a463303323ddb077363d5eecffdae7cd8f86dbf71"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"module": "Draft",
"worker": "draft.worker.ts",
"revision": "8ab8bb26ee1472b2",
"runtimeUrl": "/kernel/FreeCADWebDraftRuntimeProbe.js",
"wasmUrl": "/kernel/FreeCADWebDraftRuntimeProbe.wasm",
"dataUrl": null,
"assetBaseUrl": "/kernel/",
"buildProfile": "fast-dev",
"runtimeSha256": "c3a9f550d60bf7d49e9e83ff373051d4ea7b0500af2746688f7e0dc04edadecd",
"wasmSha256": "8ab8bb26ee1472b26a1df22161c2ea927b89e7826628fda9a47de02cd64dfbab"
},
"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."
]
}