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

729 lines
28 KiB
JSON

{
"schema": "freecad-web-p6-sandbox-tier2-pure-family-runtime/v1",
"taskId": "FW-P6-FPA-F2-SANDBOX",
"module": "Sandbox",
"tier": "tier-2-pure",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"worker": "web/src/sandbox-python.worker.ts",
"facade": "web/src/sandbox-python-family-facade.ts",
"command": "sandbox.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/SandboxRuntimeProbe.cpp:fc_web_dispatch_json"
},
"input": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "request",
"requestId": "sandbox-tier2-success",
"command": "sandbox.pythonFamilyBatch",
"payload": {
"schema": "freecad-web-sandbox/python-family-batch/v1",
"module": "Sandbox",
"tier": "tier-2-pure",
"records": [
{
"apiId": "py:Sandbox:function:ax2_xdir",
"name": "ax2_xdir",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:export",
"name": "export",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:f2s",
"name": "f2s",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isDeform",
"name": "isDeform",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isDraftCircle",
"name": "isDraftCircle",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isDraftClone",
"name": "isDraftClone",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isDraftEllipse",
"name": "isDraftEllipse",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isDraftFeature",
"name": "isDraftFeature",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isDraftPoint",
"name": "isDraftPoint",
"family": "geometry-value",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isDraftPolygon",
"name": "isDraftPolygon",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isDraftWire",
"name": "isDraftWire",
"family": "geometry-value",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isOpenSCADFeature",
"name": "isOpenSCADFeature",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:isOpenSCADMultMatrixFeature",
"name": "isOpenSCADMultMatrixFeature",
"family": "geometry-value",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:occversiontuple",
"name": "occversiontuple",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:placement2draw",
"name": "placement2draw",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:polygonstr",
"name": "polygonstr",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:function:quaternionToString",
"name": "quaternionToString",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
},
{
"apiId": "py:Sandbox:method:Drawexporter.export_annotations",
"name": "Drawexporter.export_annotations",
"family": "generic-object",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "planned"
}
]
},
"documentId": "sandbox-python-family"
},
"inputSha256": "b628c0e30f9b15351ee057fdc4a7ea33a6165563ed2b311e747ff27f56ae107c",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 18,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:ax2_xdir",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "ax2_xdir",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:export",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "export",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:f2s",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "f2s",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isDeform",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isDeform",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isDraftCircle",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isDraftCircle",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isDraftClone",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isDraftClone",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isDraftEllipse",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isDraftEllipse",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isDraftFeature",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isDraftFeature",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isDraftPoint",
"code": "unmatched_source_record",
"family": "geometry-value",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isDraftPoint",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isDraftPolygon",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isDraftPolygon",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isDraftWire",
"code": "unmatched_source_record",
"family": "geometry-value",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isDraftWire",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isOpenSCADFeature",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isOpenSCADFeature",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:isOpenSCADMultMatrixFeature",
"code": "unmatched_source_record",
"family": "geometry-value",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "isOpenSCADMultMatrixFeature",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:occversiontuple",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "occversiontuple",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:placement2draw",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "placement2draw",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:polygonstr",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "polygonstr",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:function:quaternionToString",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "quaternionToString",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Sandbox:method:Drawexporter.export_annotations",
"code": "unmatched_source_record",
"family": "generic-object",
"message": "Sandbox API record is outside the Tier-1 adapter contract",
"name": "Drawexporter.export_annotations",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sandbox/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "ac53e772e9367887a4172210061c22032e6d810d0a72b3a52ed66009fcfdb4b8",
"replay": {
"equal": true,
"resultSha256": "ac53e772e9367887a4172210061c22032e6d810d0a72b3a52ed66009fcfdb4b8"
},
"crossModuleBoundary": {
"result": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-tier2-cross",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Binding",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is not part of this module-scoped adapter",
"name": "ax2_xdir",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sandbox/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"resultSha256": "79873cfbdb6a31d7d8e13388eebfde5477a7d1c064d8cd48b72700b4f5692af1"
},
"malformedRequest": {
"result": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sandbox-tier2-invalid-tier",
"error": {
"code": "invalid_fixture",
"message": "Sandbox Python family payload is invalid"
}
},
"resultSha256": "c0fe6a7a16ce0f416bc63aee369716fe59adbb9d13565220472791a1e03978fc"
},
"cancellation": {
"result": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sandbox-tier2-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"resultSha256": "fafe6e7158568b9e52dc6932be8b1da66ab0b255e82cb8aadca95b7b8e47e12f"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 18
},
"records": [
{
"apiId": "py:Sandbox:function:ax2_xdir",
"name": "ax2_xdir",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "97c408be7f4674c0a46083b40d3c0da05049c9412f7c277dba70b4571a7f00b7"
},
{
"apiId": "py:Sandbox:function:export",
"name": "export",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "1f42d23521fae33c46535f582f8d9572bd23c3ff69e2f4d41756d1e3d31db112"
},
{
"apiId": "py:Sandbox:function:f2s",
"name": "f2s",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "92af08f52abd53c22020c0f4c2cdb9fec8484e9bb9da1e09414c4ee144b9f317"
},
{
"apiId": "py:Sandbox:function:isDeform",
"name": "isDeform",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "98a064f87d68b56d337694ecdb5924071faa9526f4bea34b947b6cc9a990aca7"
},
{
"apiId": "py:Sandbox:function:isDraftCircle",
"name": "isDraftCircle",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "80da428eb570ec38fa82a6c967c9b4777160e5889d6de80306f2a878f0dda0c4"
},
{
"apiId": "py:Sandbox:function:isDraftClone",
"name": "isDraftClone",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "47b9de7278ccb9c765926564cfc2834a376179af59b01740b8313d157204fe47"
},
{
"apiId": "py:Sandbox:function:isDraftEllipse",
"name": "isDraftEllipse",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "c370eb690baeb5ba3eef720bda195e2e64eab4301fabc9b767942b1dfa9df46a"
},
{
"apiId": "py:Sandbox:function:isDraftFeature",
"name": "isDraftFeature",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "082ef9ee72b1a6638b3f5f9acb2b710462a4dc8233ef686e946c36b6833ef800"
},
{
"apiId": "py:Sandbox:function:isDraftPoint",
"name": "isDraftPoint",
"family": "geometry-value",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "8aa9f4028ca5c8e53aa65766bca5a34a91f03a2ee830f8a8a0f8a0f460813fcf"
},
{
"apiId": "py:Sandbox:function:isDraftPolygon",
"name": "isDraftPolygon",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "920dfe7552251f3cee8c2fd2b9d05cd73917b86d77f1706abeccf095c64b8d04"
},
{
"apiId": "py:Sandbox:function:isDraftWire",
"name": "isDraftWire",
"family": "geometry-value",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "3f5a1a4d7bdd8cf5d45e07c709ec54e2c8d2b566fc9aeb38e92a277e5f919e06"
},
{
"apiId": "py:Sandbox:function:isOpenSCADFeature",
"name": "isOpenSCADFeature",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "9e540880171795bc69d878f48198fd945c5d6a1df2bdd810949f70b4b847e51e"
},
{
"apiId": "py:Sandbox:function:isOpenSCADMultMatrixFeature",
"name": "isOpenSCADMultMatrixFeature",
"family": "geometry-value",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "a0852eab3228f5c5bf780627656106788ccfab5bb07f68db1a547e31495218a0"
},
{
"apiId": "py:Sandbox:function:occversiontuple",
"name": "occversiontuple",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "c26a51847cb1f666e15d0288957d208e3deec10d643ac9480369aea69ff65d22"
},
{
"apiId": "py:Sandbox:function:placement2draw",
"name": "placement2draw",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "56567281463ab13e7a3c5eff7e9545b822d4e9b607ec93edf7afe3559ff7bd0d"
},
{
"apiId": "py:Sandbox:function:polygonstr",
"name": "polygonstr",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "5d63a83b64ab9b4a5f0317ecdd62a8809bd917eb1867c0e477e8de118dadc3f4"
},
{
"apiId": "py:Sandbox:function:quaternionToString",
"name": "quaternionToString",
"family": "pure-function",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "9092cc8e2c6d1047fcc3f140fc4ffd3b8a1be33cb61cb5998dce20be7f93643a"
},
{
"apiId": "py:Sandbox:method:Drawexporter.export_annotations",
"name": "Drawexporter.export_annotations",
"family": "generic-object",
"status": "not_implemented",
"code": "unmatched_source_record",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Sandbox/App/AppSandbox.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "fc7486fc4fb76b1e37c2e1061fc0389f55616f89d2e0d7f23354c60a55735006"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "freecad-source/build-web/configure/bin/FreeCADWebSandboxRuntimeProbe.wasm",
"sha256": "6752d611de9e0c608caa22b2704b51b21f6d1151464cf77412282450a8368545"
},
"loader": {
"path": "freecad-source/build-web/configure/bin/FreeCADWebSandboxRuntimeProbe.js",
"sha256": "d782d338a1b538c29610a50eae60531f44430aeaa832c027e7f35489a5fac7b9"
}
},
"boundaries": [
"Sandbox GUI/view-resource APIs remain restricted; unsupported methods remain not_implemented.",
"All statuses and schemas derive from compiled FreeCAD through fc_web_dispatch_json."
]
}