Files
FreeCADWasmDev/docs/p6/sketcher-tier1-readonly-family-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

775 lines
32 KiB
JSON

{
"schema": "freecad-web-p6-sketcher-tier1-readonly-family-runtime/v1",
"taskId": "FW-P6-FPA-F1-SKETCHER",
"module": "Sketcher",
"tier": "tier-1-readonly",
"status": "pass_with_restricted_and_pending",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"worker": "web/src/sketcher-python.worker.ts",
"facade": "web/src/sketcher-python-family-facade.ts",
"command": "sketcher.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/SketcherProbe.cpp:fc_web_dispatch_json"
},
"input": {
"cmd": "sketcher.pythonFamilyBatch",
"args": {
"tier": "tier-1-readonly",
"records": [
{
"apiId": "py:Sketcher:class:Constraint",
"name": "Constraint",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/Constraint.pyi",
"disposition": "exposed"
},
{
"apiId": "py:Sketcher:class:ExternalGeometryExtension",
"name": "ExternalGeometryExtension",
"family": "geometry-value",
"sourcePath": "src/Mod/Sketcher/App/ExternalGeometryExtension.pyi",
"disposition": "exposed"
},
{
"apiId": "py:Sketcher:class:ExternalGeometryFacade",
"name": "ExternalGeometryFacade",
"family": "geometry-value",
"sourcePath": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi",
"disposition": "exposed"
},
{
"apiId": "py:Sketcher:class:GeometryFacade",
"name": "GeometryFacade",
"family": "geometry-value",
"sourcePath": "src/Mod/Sketcher/App/GeometryFacade.pyi",
"disposition": "exposed"
},
{
"apiId": "py:Sketcher:class:Sketch",
"name": "Sketch",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/Sketch.pyi",
"disposition": "exposed"
},
{
"apiId": "py:Sketcher:class:SketchGeometryExtension",
"name": "SketchGeometryExtension",
"family": "geometry-value",
"sourcePath": "src/Mod/Sketcher/App/SketchGeometryExtension.pyi",
"disposition": "exposed"
},
{
"apiId": "py:Sketcher:class:SketcherWorkbench",
"name": "SketcherWorkbench",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/InitGui.py",
"disposition": "restricted"
},
{
"apiId": "py:Sketcher:class:ViewProviderSketchGeometryExtension",
"name": "ViewProviderSketchGeometryExtension",
"family": "view-resource",
"sourcePath": "src/Mod/Sketcher/Gui/ViewProviderSketchGeometryExtension.pyi",
"disposition": "restricted"
},
{
"apiId": "py:Sketcher:method:ExternalGeometryFacade.getExtensions",
"name": "ExternalGeometryFacade.getExtensions",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:GeometryFacade.getExtensions",
"name": "GeometryFacade.getExtensions",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/GeometryFacade.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getActive",
"name": "SketchObject.getActive",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getAxis",
"name": "SketchObject.getAxis",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getConstruction",
"name": "SketchObject.getConstruction",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getDatum",
"name": "SketchObject.getDatum",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getDriving",
"name": "SketchObject.getDriving",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getGeoVertexIndex",
"name": "SketchObject.getGeoVertexIndex",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getGeometryId",
"name": "SketchObject.getGeometryId",
"family": "geometry-value",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getPoint",
"name": "SketchObject.getPoint",
"family": "geometry-value",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getVirtualSpace",
"name": "SketchObject.getVirtualSpace",
"family": "generic-object",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.isPointOnCurve",
"name": "SketchObject.isPointOnCurve",
"family": "geometry-value",
"sourcePath": "src/Mod/Sketcher/App/SketchObject.pyi",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "d3c0aaa0a85d51859b62574e49f7c9d63a8273c54444ca31e353d5e11fe8cdc4",
"result": {
"cmd": "sketcher.pythonFamilyBatch",
"count": 20,
"module": "Sketcher",
"ok": true,
"records": [
{
"apiId": "py:Sketcher:class:Constraint",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Sketcher Python symbol is registered and resolved by FreeCAD",
"name": "Constraint",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Sketcher.Constraint",
"sourceEntry": "src/Mod/Sketcher/App/Constraint.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Sketcher:class:ExternalGeometryExtension",
"code": "native_python_symbol",
"family": "geometry-value",
"message": "Sketcher Python symbol is registered and resolved by FreeCAD",
"name": "ExternalGeometryExtension",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Sketcher.ExternalGeometryExtension",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryExtension.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Sketcher:class:ExternalGeometryFacade",
"code": "native_python_symbol",
"family": "geometry-value",
"message": "Sketcher Python symbol is registered and resolved by FreeCAD",
"name": "ExternalGeometryFacade",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Sketcher.ExternalGeometryFacade",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Sketcher:class:GeometryFacade",
"code": "native_python_symbol",
"family": "geometry-value",
"message": "Sketcher Python symbol is registered and resolved by FreeCAD",
"name": "GeometryFacade",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Sketcher.GeometryFacade",
"sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Sketcher:class:Sketch",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Sketcher Python symbol is registered and resolved by FreeCAD",
"name": "Sketch",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Sketcher.Sketch",
"sourceEntry": "src/Mod/Sketcher/App/Sketch.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Sketcher:class:SketchGeometryExtension",
"code": "native_python_symbol",
"family": "geometry-value",
"message": "Sketcher Python symbol is registered and resolved by FreeCAD",
"name": "SketchGeometryExtension",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Sketcher.SketchGeometryExtension",
"sourceEntry": "src/Mod/Sketcher/App/SketchGeometryExtension.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Sketcher:class:SketcherWorkbench",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Sketcher GUI/view API requires FreeCADGui unavailable in the headless Web runtime",
"name": "SketcherWorkbench",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "gui-resource",
"sourceEntry": "src/Mod/Sketcher/InitGui.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "restricted"
},
{
"apiId": "py:Sketcher:class:ViewProviderSketchGeometryExtension",
"code": "gui_dependency_unavailable",
"family": "view-resource",
"message": "Sketcher GUI/view API requires FreeCADGui unavailable in the headless Web runtime",
"name": "ViewProviderSketchGeometryExtension",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "gui-resource",
"sourceEntry": "src/Mod/Sketcher/Gui/ViewProviderSketchGeometryExtension.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "restricted"
},
{
"apiId": "py:Sketcher:method:ExternalGeometryFacade.getExtensions",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "ExternalGeometryFacade.getExtensions",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:GeometryFacade.getExtensions",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "GeometryFacade.getExtensions",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getActive",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getActive",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getAxis",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getAxis",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getConstruction",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getConstruction",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getDatum",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getDatum",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getDriving",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getDriving",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getGeoVertexIndex",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getGeoVertexIndex",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getGeometryId",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getGeometryId",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getPoint",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getPoint",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.getVirtualSpace",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.getVirtualSpace",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sketcher:method:SketchObject.isPointOnCurve",
"code": "method_evidence_pending",
"family": "geometry-value",
"message": "Sketcher Python method has no method-level native argument/return replay",
"name": "SketchObject.isPointOnCurve",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sketcher/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
},
"resultSha256": "b792177b4ca5bf68e32f418acfa1e1e78651cf68334e3329fdec3a10ce89f914",
"replay": {
"equal": true,
"resultSha256": "b792177b4ca5bf68e32f418acfa1e1e78651cf68334e3329fdec3a10ce89f914"
},
"crossModuleBoundary": {
"result": {
"cmd": "sketcher.pythonFamilyBatch",
"count": 1,
"module": "Sketcher",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Constraint",
"code": "unmatched_source_record",
"family": "generic-object",
"message": "Sketcher API record is not part of this module-scoped adapter",
"name": "Constraint",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/Sketcher/App/Constraint.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sketcher/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
},
"resultSha256": "28acc45a6916a602d3d7e1c7c686f934d6782d52833556d9fb9acb2068e89791"
},
"malformedRequest": {
"result": {
"ok": false,
"code": "invalid_request",
"error": "sketcher.pythonFamilyBatch requires tier=tier-1-readonly and non-empty args.records"
},
"resultSha256": "9c6c449da2488ff60cae0188a962ad5385bcde53340f3d5090a6e1a7d69f4578"
},
"dispositionCounts": {
"exposed": 6,
"restricted": 2,
"nonportable": 0,
"not_implemented": 12
},
"records": [
{
"apiId": "py:Sketcher:class:Constraint",
"name": "Constraint",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Sketcher.Constraint",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Sketcher/App/Constraint.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "badeecb87a7f7bd6395c07ab68f8867092f60b9631ffd34ffd8d4655ecb2da9e"
},
{
"apiId": "py:Sketcher:class:ExternalGeometryExtension",
"name": "ExternalGeometryExtension",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Sketcher.ExternalGeometryExtension",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryExtension.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "9be45c9042d262fe7c33c6908196ceabf490d6b15a0be8420d110bb5b0db9192"
},
{
"apiId": "py:Sketcher:class:ExternalGeometryFacade",
"name": "ExternalGeometryFacade",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Sketcher.ExternalGeometryFacade",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "9d77f24394a51c3a0e032d496d65068680c99247dcf195347e88ada2629cdbd4"
},
{
"apiId": "py:Sketcher:class:GeometryFacade",
"name": "GeometryFacade",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Sketcher.GeometryFacade",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "47e056d258c3484b6ab2599137d2102722a7747dda45c6c4721323555ea246f6"
},
{
"apiId": "py:Sketcher:class:Sketch",
"name": "Sketch",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Sketcher.Sketch",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Sketcher/App/Sketch.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "c57ffbec7586f21eb42b1a7bbe529d2f074b178a5a00fa5462f9d89bdcea2318"
},
{
"apiId": "py:Sketcher:class:SketchGeometryExtension",
"name": "SketchGeometryExtension",
"family": "geometry-value",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Sketcher.SketchGeometryExtension",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Sketcher/App/SketchGeometryExtension.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "5908c05bc9f93ccc27a611f11d0491c7308e9629bd2bc2053b91f80520aaf8b7"
},
{
"apiId": "py:Sketcher:class:SketcherWorkbench",
"name": "SketcherWorkbench",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"parameterSchema": "source-declared",
"returnSchema": "gui-resource",
"sourceEntry": "src/Mod/Sketcher/InitGui.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "729d339149d494f9ee8af7251189a8017a0a5f4221ab5cb58fa5648bacbcf676"
},
{
"apiId": "py:Sketcher:class:ViewProviderSketchGeometryExtension",
"name": "ViewProviderSketchGeometryExtension",
"family": "view-resource",
"status": "restricted",
"code": "gui_dependency_unavailable",
"parameterSchema": "source-declared",
"returnSchema": "gui-resource",
"sourceEntry": "src/Mod/Sketcher/Gui/ViewProviderSketchGeometryExtension.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e29f2f51e209e00a03771c6169bc3cddbd415d95b8fed1e750752235a85fc643"
},
{
"apiId": "py:Sketcher:method:ExternalGeometryFacade.getExtensions",
"name": "ExternalGeometryFacade.getExtensions",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "668c0391fa70cbaaecf0f0c0498c8ed706f6c865a55befb9394e004dadd77376"
},
{
"apiId": "py:Sketcher:method:GeometryFacade.getExtensions",
"name": "GeometryFacade.getExtensions",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "903699a737f8d5aeac8dc5a50eed8d1c75fa24f341594f917338cafa0e8280cc"
},
{
"apiId": "py:Sketcher:method:SketchObject.getActive",
"name": "SketchObject.getActive",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "b7a5ea65da28aa7d45495b4cedf487b24885065b50251353f874ea1c41ffd839"
},
{
"apiId": "py:Sketcher:method:SketchObject.getAxis",
"name": "SketchObject.getAxis",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "cce238ef502ecdfb5b0ea60313ff6622c65aaf420b825b9921d70e3ce83611de"
},
{
"apiId": "py:Sketcher:method:SketchObject.getConstruction",
"name": "SketchObject.getConstruction",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "99d60dec816b59c70cca5be833db69a6c0f4fa3a4fd5aa6831c9881140df953e"
},
{
"apiId": "py:Sketcher:method:SketchObject.getDatum",
"name": "SketchObject.getDatum",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "322cfd85be685e6d48ebbad7afe11790b4ed0d39c926e43e794e16fe7e02f8fe"
},
{
"apiId": "py:Sketcher:method:SketchObject.getDriving",
"name": "SketchObject.getDriving",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "60b39b510d6f453f1c497275017245fb5a095d1b6f0b6a8220f9066e9712cc41"
},
{
"apiId": "py:Sketcher:method:SketchObject.getGeoVertexIndex",
"name": "SketchObject.getGeoVertexIndex",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "476346fcae800139e7cf2a68d54c89a9f86278d58729174920b84b171799dd99"
},
{
"apiId": "py:Sketcher:method:SketchObject.getGeometryId",
"name": "SketchObject.getGeometryId",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "42b4e4a14349cb445a6611958da35215c235b060a36c0f374a76ec8c7c348ae4"
},
{
"apiId": "py:Sketcher:method:SketchObject.getPoint",
"name": "SketchObject.getPoint",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "63fa97dfab953e7d1a31172cccce316b627ba9e450beef416f79e0a39c7d3b7c"
},
{
"apiId": "py:Sketcher:method:SketchObject.getVirtualSpace",
"name": "SketchObject.getVirtualSpace",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e544db7131e9554ef10e99bba336fbf064968472ad2960b26ad9ed5e7d24a772"
},
{
"apiId": "py:Sketcher:method:SketchObject.isPointOnCurve",
"name": "SketchObject.isPointOnCurve",
"family": "geometry-value",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e2794b2c5ea5b093826f47a8e455370f03b7ef395c1d15a30e343028ab17134f"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebSketcherProbe.wasm",
"sha256": "613112d2f0af4a8434c784410bce73d7f9080892c973d7ad51cb0cbd0b0765f4"
},
"loader": {
"path": "web/public/kernel/FreeCADWebSketcherProbe.js",
"sha256": "6b8f13355af2e2850e103d94fed39312245f47a330dad95fad39429b266fd27b"
}
},
"boundaries": [
"Sketcher Workbench and ViewProvider records remain restricted because FreeCADGui/view resources are unavailable in the headless Web runtime.",
"Non-GUI SketchObject/Facade methods remain not_implemented until method-level native argument/return replay exists.",
"All statuses, schemas and hashes come from compiled FreeCAD source through fc_web_dispatch_json; no JavaScript API result is substituted."
]
}