Files
FreeCADWasmDev/docs/p6/plot-tier2-pure-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

757 lines
27 KiB
JSON

{
"schema": "freecad-web-p6-plot-tier2-pure-family-runtime/v1",
"taskId": "FW-P6-FPA-F2-PLOT",
"module": "Plot",
"tier": "tier-2-pure",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"worker": "web/src/plot-python.worker.ts",
"facade": "web/src/plot-python-family-facade.ts",
"command": "plot.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/PlotRuntimeProbe.cpp:fc_web_dispatch_json"
},
"input": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "request",
"requestId": "plot-tier2-success",
"command": "plot.pythonFamilyBatch",
"payload": {
"schema": "freecad-web-plot/python-family-batch/v1",
"module": "Plot",
"tier": "tier-2-pure",
"records": [
{
"apiId": "py:Plot:function:addNewAxes",
"name": "addNewAxes",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:axes",
"name": "axes",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:axesList",
"name": "axesList",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:closePlot",
"name": "closePlot",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:figure",
"name": "figure",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:getMainWindow",
"name": "getMainWindow",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:getMdiArea",
"name": "getMdiArea",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:getPlot",
"name": "getPlot",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:grid",
"name": "grid",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:legend",
"name": "legend",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:plot",
"name": "plot",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:removeSerie",
"name": "removeSerie",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:series",
"name": "series",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:function:title",
"name": "title",
"family": "pure-function",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
},
{
"apiId": "py:Plot:method:Line.setp",
"name": "Line.setp",
"family": "generic-object",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Plot:method:Plot.plot",
"name": "Plot.plot",
"family": "generic-object",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Plot:method:Plot.setActiveAxes",
"name": "Plot.setActiveAxes",
"family": "generic-object",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Plot:method:Plot.update",
"name": "Plot.update",
"family": "generic-object",
"sourcePath": "src/Mod/Plot/Plot.py",
"disposition": "exposed"
}
]
},
"documentId": "plot-python-family"
},
"inputSha256": "cdca4a62faa8f232abdf25b66f7dc0654a0f0a24627dde2b633f71f2dce21b7f",
"result": {
"cmd": "plot.pythonFamilyBatch",
"count": 18,
"module": "Plot",
"ok": true,
"records": [
{
"apiId": "py:Plot:function:addNewAxes",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "addNewAxes",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:axes",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "axes",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:axesList",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "axesList",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:closePlot",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "closePlot",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:figure",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "figure",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:getMainWindow",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "getMainWindow",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:getMdiArea",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "getMdiArea",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:getPlot",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "getPlot",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:grid",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "grid",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:legend",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "legend",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:plot",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "plot",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:removeSerie",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "removeSerie",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:series",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "series",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:function:title",
"code": "native_python_method",
"family": "pure-function",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "title",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Plot:method:Line.setp",
"code": "native_method_probe_failed",
"family": "generic-object",
"message": "Plot Python symbol could not be resolved or replayed in the headless runtime",
"name": "Line.setp",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Plot:method:Plot.plot",
"code": "native_method_probe_failed",
"family": "generic-object",
"message": "Plot Python symbol could not be resolved or replayed in the headless runtime",
"name": "Plot.plot",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Plot:method:Plot.setActiveAxes",
"code": "native_method_probe_failed",
"family": "generic-object",
"message": "Plot Python symbol could not be resolved or replayed in the headless runtime",
"name": "Plot.setActiveAxes",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Plot:method:Plot.update",
"code": "native_python_method",
"family": "generic-object",
"message": "Plot Python symbol was resolved and replayed by FreeCAD",
"name": "Plot.update",
"native": true,
"parameterSchema": "{}",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "class",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-plot/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "1bb87c1d60a95391d11b97ebddadd69724b9d3d802053de90d14199d4ec939cf",
"replay": {
"equal": true,
"resultSha256": "1bb87c1d60a95391d11b97ebddadd69724b9d3d802053de90d14199d4ec939cf"
},
"crossModuleBoundary": {
"result": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "plot-tier2-cross",
"result": {
"cmd": "plot.pythonFamilyBatch",
"count": 1,
"module": "Plot",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Binding",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Plot API record is not part of this module-scoped adapter",
"name": "addNewAxes",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-plot/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"resultSha256": "9c8837f64402e4f4d497e1dbdbb49f879556869450eadaa9a106a01c64f1783d"
},
"malformedRequest": {
"result": {
"kind": "error",
"requestId": "plot-tier2-invalid-tier",
"error": {
"code": "invalid_request",
"message": "Plot Python family envelope invalid"
}
},
"resultSha256": "1b78105ab8e075cbdf0e5fc02fca84f736683235041b4a9421a72b95d1a42f86"
},
"cancellation": {
"result": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "plot-tier2-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"resultSha256": "d92924741320b47100e82347577bdbf7c30ef6b8cebcac71e1bf88125fedcd7d"
},
"dispositionCounts": {
"exposed": 15,
"restricted": 0,
"nonportable": 0,
"not_implemented": 3
},
"records": [
{
"apiId": "py:Plot:function:addNewAxes",
"name": "addNewAxes",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "1e02a8dab80b49ab44d4c4b676461aea4ad7f08acd59f029bd834406809547e3"
},
{
"apiId": "py:Plot:function:axes",
"name": "axes",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "8b45108896a69f12971593c7d961dc2f687bb74f3e3097487519674ea7badfd8"
},
{
"apiId": "py:Plot:function:axesList",
"name": "axesList",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "014372368b6e28083b333bd4e94678a725ac7ba009ee613659d5a72c3bb0132e"
},
{
"apiId": "py:Plot:function:closePlot",
"name": "closePlot",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "cd168b22d4027fd0c6224e96966b4990f05c0da4836e41cf3b886a28e9f3f826"
},
{
"apiId": "py:Plot:function:figure",
"name": "figure",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "1217dc478df15e6d1334eb1830836aa4c219035262e6866c41015a3f09ef0521"
},
{
"apiId": "py:Plot:function:getMainWindow",
"name": "getMainWindow",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "d5a3f2900669976de9baa8c7e0ccfb3814ccaf847f0b1bf113e830c3a1e4cc6a"
},
{
"apiId": "py:Plot:function:getMdiArea",
"name": "getMdiArea",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "3179dbadc68bce8d3c5a67eb9e946ad31f4eb2f0f76ebedbed21f5791caaa217"
},
{
"apiId": "py:Plot:function:getPlot",
"name": "getPlot",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "0649c8c572c760e7d828f8e8ed1ae27e145cbf0cd963919def28abdd56742ce1"
},
{
"apiId": "py:Plot:function:grid",
"name": "grid",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "748eaaba82a753d615e4f328a8b571cc799c422ce555388ced084bb1298a99f9"
},
{
"apiId": "py:Plot:function:legend",
"name": "legend",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "f35131814f7a2ebc940d759ebe115edaf0e4ca6f403fdebadc0f02a10a339226"
},
{
"apiId": "py:Plot:function:plot",
"name": "plot",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "572db8390ee68b813ddef6febf4a9ed72ea0de360e5d5544bfa7685ea759b906"
},
{
"apiId": "py:Plot:function:removeSerie",
"name": "removeSerie",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "5a4b5f93d94e982fd01d53898d68ff03cb4b09debc365592401d00a8fbacbeda"
},
{
"apiId": "py:Plot:function:series",
"name": "series",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "af4620edf425c20469789e1927715ab82b2035b86b0182a8fe3948e7fab98237"
},
{
"apiId": "py:Plot:function:title",
"name": "title",
"family": "pure-function",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "source-declared",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "cdd576c841650e6214807bc1fd28f9db4bf23ae205c78e18fdec0c60beef2d90"
},
{
"apiId": "py:Plot:method:Line.setp",
"name": "Line.setp",
"family": "generic-object",
"status": "not_implemented",
"code": "native_method_probe_failed",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "f7fd6245f2c8cb33c0a041b2724a3572a3e02ac16d9a366ecbdc153b8bb3f9a6"
},
{
"apiId": "py:Plot:method:Plot.plot",
"name": "Plot.plot",
"family": "generic-object",
"status": "not_implemented",
"code": "native_method_probe_failed",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e6c3c2faeeeec43e3b3c85bd28762699a960c06022aab9cd4d92f3e0179f7f25"
},
{
"apiId": "py:Plot:method:Plot.setActiveAxes",
"name": "Plot.setActiveAxes",
"family": "generic-object",
"status": "not_implemented",
"code": "native_method_probe_failed",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "b30397a9cd56c8e2d37147c688b1d6c708dd0230fca7b3fdbf4b8e8124b96643"
},
{
"apiId": "py:Plot:method:Plot.update",
"name": "Plot.update",
"family": "generic-object",
"status": "exposed",
"code": "native_python_method",
"parameterSchema": "{}",
"returnSchema": "class",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Plot/Plot.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "b0ee3b1730e015eeaeed9101bd0691a6e06397e7ed647307e177d2cbf4560fce"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebPlotRuntimeProbe.wasm",
"sha256": "21324d6811355fb6e9df8fee8ae085b37ae3ab5028dcb8b75c165a732b4de4c6"
},
"loader": {
"path": "web/public/kernel/FreeCADWebPlotRuntimeProbe.js",
"sha256": "17ca0e73a52b30567881f44494202fae5cc1b93ba82c7b1a2c153130071afd13"
}
},
"boundaries": [
"Plot GUI/view resources remain restricted in the headless Web runtime.",
"All statuses, schemas and hashes derive from compiled FreeCAD through fc_web_dispatch_json; no JavaScript API result is substituted."
]
}