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

374 lines
12 KiB
JSON

{
"schema": "freecad-web-p6-sandbox-ax2-xdir-method-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"module": "Sandbox",
"tier": "tier-2-pure",
"apiId": "py:Sandbox:function:ax2_xdir",
"status": "pass",
"source": {
"entry": "src/Mod/Sandbox/exportDRAWEXE.py",
"function": "ax2_xdir",
"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-ax2-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": "not_implemented",
"args": {
"normal": {
"x": 1,
"y": 2,
"z": 3
}
}
}
]
},
"documentId": "sandbox-python-family"
},
"requestSha256": "dcf84f038746c7b453b7ec5e7a9ba0853be46f79acb882c159cecabdcaf1ea4b",
"trace": {
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-ax2-success",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:ax2_xdir",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:ax2_xdir executed by FreeCAD Python",
"name": "ax2_xdir",
"native": true,
"parameterSchema": "ax2_xdir(normal: Vector) -> Vector",
"replay": "native-python-source",
"resourcesReleased": true,
"result": {
"x": 0,
"y": 3,
"z": -2
},
"returnSchema": "Vector",
"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-ax2-repeat",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:ax2_xdir",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:ax2_xdir executed by FreeCAD Python",
"name": "ax2_xdir",
"native": true,
"parameterSchema": "ax2_xdir(normal: Vector) -> Vector",
"replay": "native-python-source",
"resourcesReleased": true,
"result": {
"x": 0,
"y": 3,
"z": -2
},
"returnSchema": "Vector",
"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-ax2-invalid",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:ax2_xdir",
"code": "source_error",
"family": "pure-function",
"message": "Sandbox.ax2_xdir requires normal={x,y,z} numeric components",
"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"
}
},
"cross": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-ax2-cross",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:BIM:function:ax2_xdir",
"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"
}
},
"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:ax2_xdir",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:ax2_xdir executed by FreeCAD Python",
"name": "ax2_xdir",
"native": true,
"parameterSchema": "ax2_xdir(normal: Vector) -> Vector",
"replay": "native-python-source",
"resourcesReleased": true,
"result": {
"x": 0,
"y": 3,
"z": -2
},
"returnSchema": "Vector",
"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-1788332238755",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:ax2_xdir",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:ax2_xdir executed by FreeCAD Python",
"name": "ax2_xdir",
"native": true,
"parameterSchema": "ax2_xdir(normal: Vector) -> Vector",
"replay": "native-python-source",
"resourcesReleased": true,
"result": {
"x": 0,
"y": 3,
"z": -2
},
"returnSchema": "Vector",
"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-1788332238755",
"error": {
"code": "invalid_arguments",
"message": "Sandbox.ax2_xdir requires [x, y, z] finite numeric components",
"diagnostic": {
"apiId": "py:Sandbox:function:ax2_xdir",
"args": [
"bad",
2,
3
]
}
}
},
"worker": {
"ready": {
"kind": "ready",
"action": "sandbox.pythonFamilyBatch"
},
"workerSuccess": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sandbox-ax2-worker",
"result": {
"cmd": "sandbox.pythonFamilyBatch",
"count": 1,
"module": "Sandbox",
"ok": true,
"records": [
{
"apiId": "py:Sandbox:function:ax2_xdir",
"code": "native_python_execution",
"family": "pure-function",
"message": "official Sandbox exportDRAWEXE.py:ax2_xdir executed by FreeCAD Python",
"name": "ax2_xdir",
"native": true,
"parameterSchema": "ax2_xdir(normal: Vector) -> Vector",
"replay": "native-python-source",
"resourcesReleased": true,
"result": {
"x": 0,
"y": 3,
"z": -2
},
"returnSchema": "Vector",
"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-ax2-worker",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
}
}
},
"traceSha256": "71ad36fd5626eaa5dd0e897d5efe19dc57dcbccd41503efd7b5a2e4a53045241",
"replay": {
"equal": true,
"resultSha256": "4b4ef8a583a716e81ec8419781151ad024b44c792b15abd73f79598309cb60e9"
},
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebSandboxRuntimeProbe.wasm",
"sha256": "6bd50fbe340a493310264e193b40f8f62a4cf535bd27062986aa09bb6cf9f5e0"
},
"loader": {
"path": "web/public/kernel/FreeCADWebSandboxRuntimeProbe.js",
"sha256": "ee767486481ae3b61200327e2054a1eccbfc23f93537b5f530fd370b1e4851d8"
}
},
"boundaries": [
"Malformed numeric components remain 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."
]
}