Files
FreeCADWasmDev/docs/p6/show-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

723 lines
27 KiB
JSON

{
"schema": "freecad-web-p6-show-tier1-readonly-family-runtime/v1",
"taskId": "FW-P6-FPA-F1-SHOW",
"module": "Show",
"tier": "tier-1-readonly",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"worker": "web/src/show-python.worker.ts",
"facade": "web/src/show-python-family-facade.ts",
"command": "show.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/ShowRuntimeProbe.cpp:fc_web_dispatch_json"
},
"input": {
"cmd": "show.pythonFamilyBatch",
"args": {
"tier": "tier-1-readonly",
"records": [
{
"apiId": "py:Show:class:Camera",
"name": "Camera",
"family": "generic-object",
"sourcePath": "src/Mod/Show/SceneDetails/Camera.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Show:class:ClipPlane",
"name": "ClipPlane",
"family": "generic-object",
"sourcePath": "src/Mod/Show/SceneDetails/ClipPlane.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Show:class:Container",
"name": "Container",
"family": "generic-object",
"sourcePath": "src/Mod/Show/Containers.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:ContainerError",
"name": "ContainerError",
"family": "generic-object",
"sourcePath": "src/Mod/Show/Containers.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:ContainerTreeError",
"name": "ContainerTreeError",
"family": "generic-object",
"sourcePath": "src/Mod/Show/Containers.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:MAINSTACK",
"name": "MAINSTACK",
"family": "generic-object",
"sourcePath": "src/Mod/Show/mTempoVis.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:NotAContainerError",
"name": "NotAContainerError",
"family": "generic-object",
"sourcePath": "src/Mod/Show/Containers.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:Pickability",
"name": "Pickability",
"family": "generic-object",
"sourcePath": "src/Mod/Show/SceneDetails/Pickability.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:SceneDetail",
"name": "SceneDetail",
"family": "generic-object",
"sourcePath": "src/Mod/Show/SceneDetail.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:TVObserver",
"name": "TVObserver",
"family": "generic-object",
"sourcePath": "src/Mod/Show/TVObserver.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:TVStack",
"name": "TVStack",
"family": "generic-object",
"sourcePath": "src/Mod/Show/TVStack.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:TempoVis",
"name": "TempoVis",
"family": "generic-object",
"sourcePath": "src/Mod/Show/mTempoVis.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:class:Workbench",
"name": "Workbench",
"family": "generic-object",
"sourcePath": "src/Mod/Show/SceneDetails/Workbench.py",
"disposition": "restricted"
},
{
"apiId": "py:Show:method:Container.isACS",
"name": "Container.isACS",
"family": "generic-object",
"sourcePath": "src/Mod/Show/Containers.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:method:TVStack.getSplitSequence",
"name": "TVStack.getSplitSequence",
"family": "generic-object",
"sourcePath": "src/Mod/Show/TVStack.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:method:TempoVis.get_all_dependent",
"name": "TempoVis.get_all_dependent",
"family": "generic-object",
"sourcePath": "src/Mod/Show/mTempoVis.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:method:TempoVis.has",
"name": "TempoVis.has",
"family": "generic-object",
"sourcePath": "src/Mod/Show/mTempoVis.py",
"disposition": "exposed"
},
{
"apiId": "py:Show:method:TempoVis.is_in_stack",
"name": "TempoVis.is_in_stack",
"family": "generic-object",
"sourcePath": "src/Mod/Show/mTempoVis.py",
"disposition": "exposed"
}
]
}
},
"inputSha256": "c7ced207d27c8699563ffd73cefa267df1d8119de8287724e455f3b591300f9c",
"result": {
"cmd": "show.pythonFamilyBatch",
"count": 18,
"module": "Show",
"ok": true,
"records": [
{
"apiId": "py:Show:class:Camera",
"code": "native_python_import_failed",
"family": "generic-object",
"message": "Show Python source module could not be imported by the headless runtime",
"name": "Camera",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"sourceEntry": "src/Mod/Show/SceneDetails/Camera.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Show:class:ClipPlane",
"code": "native_python_import_failed",
"family": "generic-object",
"message": "Show Python source module could not be imported by the headless runtime",
"name": "ClipPlane",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"sourceEntry": "src/Mod/Show/SceneDetails/ClipPlane.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Show:class:Container",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "Container",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.Container",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:ContainerError",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "ContainerError",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.ContainerError",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:ContainerTreeError",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "ContainerTreeError",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.ContainerTreeError",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:MAINSTACK",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "MAINSTACK",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.MAINSTACK",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:NotAContainerError",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "NotAContainerError",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.NotAContainerError",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:Pickability",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "Pickability",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.Pickability",
"sourceEntry": "src/Mod/Show/SceneDetails/Pickability.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:SceneDetail",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "SceneDetail",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.SceneDetail",
"sourceEntry": "src/Mod/Show/SceneDetail.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:TVObserver",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "TVObserver",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.TVObserver",
"sourceEntry": "src/Mod/Show/TVObserver.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:TVStack",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "TVStack",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.TVStack",
"sourceEntry": "src/Mod/Show/TVStack.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:TempoVis",
"code": "native_python_symbol",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "TempoVis",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-python-reflection",
"resourcesReleased": true,
"returnSchema": "Show.TempoVis",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:class:Workbench",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Show Workbench API requires FreeCADGui unavailable in the headless Web runtime",
"name": "Workbench",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "gui-resource",
"sourceEntry": "src/Mod/Show/SceneDetails/Workbench.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "restricted"
},
{
"apiId": "py:Show:method:Container.isACS",
"code": "native_object_method",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "Container.isACS",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-object-method",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:method:TVStack.getSplitSequence",
"code": "native_object_method",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "TVStack.getSplitSequence",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-object-method",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Show/TVStack.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:method:TempoVis.get_all_dependent",
"code": "native_object_method",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "TempoVis.get_all_dependent",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-object-method",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:method:TempoVis.has",
"code": "native_object_method",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "TempoVis.has",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-object-method",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Show:method:TempoVis.is_in_stack",
"code": "native_object_method",
"family": "generic-object",
"message": "Show Python symbol/method is registered and resolved by FreeCAD",
"name": "TempoVis.is_in_stack",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-object-method",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-show/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
},
"resultSha256": "c6ee75cfcc1bd2f953af924b2c9dfd9b67166ed8853ad70d003ba7c0175ce9c0",
"replay": {
"equal": true,
"resultSha256": "c6ee75cfcc1bd2f953af924b2c9dfd9b67166ed8853ad70d003ba7c0175ce9c0"
},
"crossModuleBoundary": {
"result": {
"cmd": "show.pythonFamilyBatch",
"count": 1,
"module": "Show",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Camera",
"code": "unmatched_source_record",
"family": "generic-object",
"message": "Show API record is not part of this module-scoped adapter",
"name": "Camera",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/Show/SceneDetails/Camera.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-show/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
},
"resultSha256": "8f46ab34bad6a57f1a17e9f040f1777da99b67c1106355784f8fe3f260a45623"
},
"malformedRequest": {
"result": {
"ok": false,
"code": "invalid_request",
"error": "show.pythonFamilyBatch requires tier=tier-1-readonly and non-empty args.records"
},
"resultSha256": "7de57323efcbe5b39ed8d2e3953631063f497ba9feb45340c6a14c3eb2695a9d"
},
"dispositionCounts": {
"exposed": 15,
"restricted": 1,
"nonportable": 0,
"not_implemented": 2
},
"records": [
{
"apiId": "py:Show:class:Camera",
"name": "Camera",
"family": "generic-object",
"status": "not_implemented",
"code": "native_python_import_failed",
"parameterSchema": "source-declared",
"sourceEntry": "src/Mod/Show/SceneDetails/Camera.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "56ba865c9d7e70aafcc5f393063448c3ddae0dca55a65c143e0f05960332c838"
},
{
"apiId": "py:Show:class:ClipPlane",
"name": "ClipPlane",
"family": "generic-object",
"status": "not_implemented",
"code": "native_python_import_failed",
"parameterSchema": "source-declared",
"sourceEntry": "src/Mod/Show/SceneDetails/ClipPlane.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "56e5ea091a4f8a4b9f2c4f466e485a332f15929d90fd2df6ba902054f4c34abb"
},
{
"apiId": "py:Show:class:Container",
"name": "Container",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.Container",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "b999044dcb6481865c2b92c53b20df6b70cbd6565a354540a5ffb6f2ed882f5c"
},
{
"apiId": "py:Show:class:ContainerError",
"name": "ContainerError",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.ContainerError",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "6bcb35784c093dacb138814eab7ae416174779dad51f4d4d6927d781f93d2b8f"
},
{
"apiId": "py:Show:class:ContainerTreeError",
"name": "ContainerTreeError",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.ContainerTreeError",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "c8e76164e78b09104df2bea08a549282d1a73b4e7a43cd3b005b1c6c48c74104"
},
{
"apiId": "py:Show:class:MAINSTACK",
"name": "MAINSTACK",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.MAINSTACK",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "d24650528a77be7dd5650dcc76b5ed9638356e85ad0a4565728b3bd86d7afdf9"
},
{
"apiId": "py:Show:class:NotAContainerError",
"name": "NotAContainerError",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.NotAContainerError",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "76d757d69aa593e5b87b72f16c75b3e1523ead6434b17301327ab169733763f4"
},
{
"apiId": "py:Show:class:Pickability",
"name": "Pickability",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.Pickability",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/SceneDetails/Pickability.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "ff6e4b2f9babeb0f9a209067b5a3cfd2b495d9becb246fe6c752a57ac706107a"
},
{
"apiId": "py:Show:class:SceneDetail",
"name": "SceneDetail",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.SceneDetail",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/SceneDetail.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "164dd6cfd6bdf64ab0a4db334e026e12afc76d43f4386fbca61fde3ec5ef5a36"
},
{
"apiId": "py:Show:class:TVObserver",
"name": "TVObserver",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.TVObserver",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/TVObserver.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "555a6f866d583b2dee8734e0e28e28489d26bee740d3ade48019d1a001df3084"
},
{
"apiId": "py:Show:class:TVStack",
"name": "TVStack",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.TVStack",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/TVStack.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "33351535c215f6c55ba5a4031d3f78f6f8e09a72a42dd471f0961738835f2f35"
},
{
"apiId": "py:Show:class:TempoVis",
"name": "TempoVis",
"family": "generic-object",
"status": "exposed",
"code": "native_python_symbol",
"parameterSchema": "source-declared",
"returnSchema": "Show.TempoVis",
"replay": "native-python-reflection",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "92d5f870b96572cbe4e96af933fc0d2ed55d4c1e9804d865bf2ffa2eaf9c717d"
},
{
"apiId": "py:Show:class:Workbench",
"name": "Workbench",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"parameterSchema": "source-declared",
"returnSchema": "gui-resource",
"sourceEntry": "src/Mod/Show/SceneDetails/Workbench.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "f9714e681a40ef36a08c1690d75ee236ba876c272fa8a23d48a94aa16abf3836"
},
{
"apiId": "py:Show:method:Container.isACS",
"name": "Container.isACS",
"family": "generic-object",
"status": "exposed",
"code": "native_object_method",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-object-method",
"sourceEntry": "src/Mod/Show/Containers.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "b1f65cb67a8b0b252b58b4f374abcdfd11d407f81d63e3d07cfab4e068ef7021"
},
{
"apiId": "py:Show:method:TVStack.getSplitSequence",
"name": "TVStack.getSplitSequence",
"family": "generic-object",
"status": "exposed",
"code": "native_object_method",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-object-method",
"sourceEntry": "src/Mod/Show/TVStack.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "f021cef615b2fc6acac8786de9f2361b886b90dcaec9a8eaad86de62bdb7a725"
},
{
"apiId": "py:Show:method:TempoVis.get_all_dependent",
"name": "TempoVis.get_all_dependent",
"family": "generic-object",
"status": "exposed",
"code": "native_object_method",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-object-method",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e2fd096d394e6583137e85e21a2ee131da2c956ed498ed333327ab5e75f5d60b"
},
{
"apiId": "py:Show:method:TempoVis.has",
"name": "TempoVis.has",
"family": "generic-object",
"status": "exposed",
"code": "native_object_method",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-object-method",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "1c343541036101fe4c598124d5eed67a45f8e7f2fc0a1289458d4981d92f5fef"
},
{
"apiId": "py:Show:method:TempoVis.is_in_stack",
"name": "TempoVis.is_in_stack",
"family": "generic-object",
"status": "exposed",
"code": "native_object_method",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-object-method",
"sourceEntry": "src/Mod/Show/mTempoVis.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e3b68ba8a07f84a1f907966b0ec39324fdfb4b0b1b09c22f9fa9b50cf2531aa1"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebShowRuntimeProbe.wasm",
"sha256": "c3cbd66624d3be968384697c525168d613bb9125583b98dc6089a39792ea8b68"
},
"loader": {
"path": "web/public/kernel/FreeCADWebShowRuntimeProbe.js",
"sha256": "856cef1dc66b47c77ace48283410b795d88cc475010dce4ea4b27fd123d7c9af"
}
},
"boundaries": [
"Show Workbench remains restricted because FreeCADGui is unavailable in the headless Web runtime.",
"Camera and ClipPlane source modules fail native import in the embedded runtime and remain not_implemented; no source-only record is promoted.",
"All statuses, schemas and hashes come from compiled FreeCAD through fc_web_dispatch_json; no JavaScript API result is substituted."
]
}