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

350 lines
12 KiB
JSON

{
"schema": "freecad-web-p6-sandbox-polygonstr-method-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"module": "Sandbox",
"tier": "tier-2-pure",
"apiId": "py:Sandbox:function:polygonstr",
"status": "pass",
"source": {
"entry": "src/Mod/Sandbox/exportDRAWEXE.py",
"function": "polygonstr",
"revision": "2778e3f9c215da48bf0cfd562478d45d624aaa47"
},
"route": {
"command": "sandbox.pythonFamilyBatch",
"worker": "web/src/sandbox-python.worker.ts",
"facade": "web/src/sandbox-python-family-facade.ts",
"apiBridge": "web/src/api-method-bridge.ts",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/SandboxRuntimeProbe.cpp:fc_web_dispatch_json"
},
"request": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "request",
"requestId": "sandbox-poly-success",
"command": "sandbox.pythonFamilyBatch",
"payload": {
"schema": "freecad-web-sandbox/python-family-batch/v1",
"module": "Sandbox",
"tier": "tier-2-pure",
"records": [
{
"apiId": "py:Sandbox:function:polygonstr",
"name": "polygonstr",
"family": "pure-function",
"sourcePath": "src/Mod/Sandbox/exportDRAWEXE.py",
"disposition": "not_implemented",
"args": {
"radius": 1,
"pcount": 4
}
}
]
},
"documentId": "sandbox-python-family"
},
"requestSha256": "db4989b829402fd979a39b584b4d15b81153e8dedd70e42cf095763503895403",
"trace": {
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-poly-success",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:polygonstr",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:polygonstr executed by FreeCAD Python",
"name": "polygonstr",
"native": true,
"parameterSchema": "polygonstr(radius: float, pcount: int) -> str",
"replay": "native-python-source",
"resourcesReleased": true,
"result": "1 0 0 0 1 0 -1 0 0 0 -1 0 1 0 0",
"returnSchema": "string",
"sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sandbox/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-poly-repeat",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:polygonstr",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:polygonstr executed by FreeCAD Python",
"name": "polygonstr",
"native": true,
"parameterSchema": "polygonstr(radius: float, pcount: int) -> str",
"replay": "native-python-source",
"resourcesReleased": true,
"result": "1 0 0 0 1 0 -1 0 0 0 -1 0 1 0 0",
"returnSchema": "string",
"sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sandbox/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"invalid": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-poly-invalid",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:polygonstr",
"code": "source_error",
"family": "pure-function",
"message": "Sandbox.polygonstr requires radius=float and integer pcount in [3,128]",
"name": "polygonstr",
"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"
}
},
"cross": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-poly-cross",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:BIM:function:polygonstr",
"code": "unmatched_source_record",
"family": "pure-function",
"message": "Sandbox API record is not part of this module-scoped adapter",
"name": "polygonstr",
"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"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sandbox-family-cancel-1",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"direct": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:polygonstr",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:polygonstr executed by FreeCAD Python",
"name": "polygonstr",
"native": true,
"parameterSchema": "polygonstr(radius: float, pcount: int) -> str",
"replay": "native-python-source",
"resourcesReleased": true,
"result": "1 0 0 0 1 0 -1 0 0 0 -1 0 1 0 0",
"returnSchema": "string",
"sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sandbox/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"unsupported": {
"ok": false,
"code": "unsupported_command",
"error": "Sandbox native dispatch command is not registered"
},
"bridgeSuccess": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "api-method-1788335254093",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:polygonstr",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:polygonstr executed by FreeCAD Python",
"name": "polygonstr",
"native": true,
"parameterSchema": "polygonstr(radius: float, pcount: int) -> str",
"replay": "native-python-source",
"resourcesReleased": true,
"result": "1 0 0 0 1 0 -1 0 0 0 -1 0 1 0 0",
"returnSchema": "string",
"sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sandbox/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"bridgeInvalid": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "api-method-1788335254093",
"error": {
"code": "invalid_arguments",
"message": "Sandbox.polygonstr requires [radius, pcount] with pcount in [3,128]",
"diagnostic": {
"apiId": "py:Sandbox:function:polygonstr",
"args": [
1,
2
]
}
}
},
"worker": {
"ready": {
"kind": "ready",
"action": "sandbox.pythonFamilyBatch"
},
"workerSuccess": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-poly-worker",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:polygonstr",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:polygonstr executed by FreeCAD Python",
"name": "polygonstr",
"native": true,
"parameterSchema": "polygonstr(radius: float, pcount: int) -> str",
"replay": "native-python-source",
"resourcesReleased": true,
"result": "1 0 0 0 1 0 -1 0 0 0 -1 0 1 0 0",
"returnSchema": "string",
"sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sandbox/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"workerDuplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sandbox-poly-worker",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
}
}
},
"traceSha256": "c1419e6ec121d192d47fe7fcf411f6bbd3120e8e089a4d9ea9785a5e09446d41",
"replay": {
"equal": true,
"resultSha256": "f6545e82f4c55983e01b3ac2cd2b1e7757a71e2d777529a4b8286010107957df"
},
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebSandboxRuntimeProbe.wasm",
"sha256": "79ea528890b7c64f2e7a6a6238670e44208e8d84f9db2adf1ac94267cac8dc4a"
},
"loader": {
"path": "web/public/kernel/FreeCADWebSandboxRuntimeProbe.js",
"sha256": "7d6100651fc2c90b395682ab888b8a5ec31d3a626e1668033f072b6b3d5836ee"
}
},
"boundaries": [
"Invalid pcount remains source_error from the official function path.",
"Cross-module IDs remain unmatched_source_record.",
"All values derive from compiled FreeCAD source through fc_web_dispatch_json; JavaScript only carries the typed envelope."
]
}