Files
FreeCADWasmDev/docs/p6/fem-generic-object-module-batch-47a46ab3cf5c13f293d7ba33-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

405 lines
16 KiB
JSON

{
"schema": "freecad-web-fem-generic-object-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "47a46ab3cf5c13f293d7ba33",
"module": "Fem",
"tier": "tier-1-readonly",
"family": "generic-object",
"status": "pass_with_boundaries",
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"dispatcher": "fc_web_dispatch_json",
"route": {
"command": "fem.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/FemGenericFamilyProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/fem-python-family-facade.ts",
"worker": "web/src/fem.worker.ts"
},
"input": {
"cmd": "fem.pythonFamilyBatch",
"args": {
"tier": "tier-1-readonly",
"records": [
{
"apiId": "py:Fem:class:VPSolverCalculiX",
"name": "VPSolverCalculiX",
"family": "generic-object",
"kind": "class",
"sourcePath": "src/Mod/Fem/femviewprovider/view_solver_calculix.py",
"sourceLine": 38,
"disposition": "planned"
},
{
"apiId": "py:Fem:class:VPSolverCcxTools",
"name": "VPSolverCcxTools",
"family": "generic-object",
"kind": "class",
"sourcePath": "src/Mod/Fem/femviewprovider/view_solver_ccxtools.py",
"sourceLine": 36,
"disposition": "planned"
},
{
"apiId": "py:Fem:class:VPSolverElmer",
"name": "VPSolverElmer",
"family": "generic-object",
"kind": "class",
"sourcePath": "src/Mod/Fem/femviewprovider/view_solver_elmer.py",
"sourceLine": 38,
"disposition": "planned"
}
]
}
},
"inputSha256": "0456ac69c3bffae895431404b71ec861af1b61ece8b206ea56af89d27d5b5590",
"result": {
"cmd": "fem.pythonFamilyBatch",
"count": 3,
"module": "Fem",
"ok": true,
"records": [
{
"apiId": "py:Fem:class:VPSolverCalculiX",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverCalculiX",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_calculix.py",
"sourceLine": 38,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
},
{
"apiId": "py:Fem:class:VPSolverCcxTools",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverCcxTools",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_ccxtools.py",
"sourceLine": 36,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
},
{
"apiId": "py:Fem:class:VPSolverElmer",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverElmer",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_elmer.py",
"sourceLine": 38,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
}
],
"resourcesReleased": true,
"schema": "freecad-web-fem/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
},
"resultSha256": "efe6ee48017b6ff568835035a3b2f58e9fb782f761501f7f3b5e8434030612d5",
"replay": {
"equal": true,
"resultSha256": "efe6ee48017b6ff568835035a3b2f58e9fb782f761501f7f3b5e8434030612d5"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "fem.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "fem-generic-object-success",
"result": {
"cmd": "fem.pythonFamilyBatch",
"count": 3,
"module": "Fem",
"ok": true,
"records": [
{
"apiId": "py:Fem:class:VPSolverCalculiX",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverCalculiX",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_calculix.py",
"sourceLine": 38,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
},
{
"apiId": "py:Fem:class:VPSolverCcxTools",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverCcxTools",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_ccxtools.py",
"sourceLine": 36,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
},
{
"apiId": "py:Fem:class:VPSolverElmer",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverElmer",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_elmer.py",
"sourceLine": 38,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
}
],
"resourcesReleased": true,
"schema": "freecad-web-fem/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "fem-generic-object-repeat",
"result": {
"cmd": "fem.pythonFamilyBatch",
"count": 3,
"module": "Fem",
"ok": true,
"records": [
{
"apiId": "py:Fem:class:VPSolverCalculiX",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverCalculiX",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_calculix.py",
"sourceLine": 38,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
},
{
"apiId": "py:Fem:class:VPSolverCcxTools",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverCcxTools",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_ccxtools.py",
"sourceLine": 36,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
},
{
"apiId": "py:Fem:class:VPSolverElmer",
"code": "gui_dependency_unavailable",
"family": "generic-object",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"name": "VPSolverElmer",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_elmer.py",
"sourceLine": 38,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "restricted"
}
],
"resourcesReleased": true,
"schema": "freecad-web-fem/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "fem-generic-object-cross",
"result": {
"cmd": "fem.pythonFamilyBatch",
"count": 1,
"module": "Fem",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Binding",
"code": "unmatched_source_record",
"family": "generic-object",
"message": "Fem adapter rejects API records owned by another module",
"name": "VPSolverCalculiX",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_calculix.py",
"sourceLine": 38,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"sourceVerified": true,
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-fem/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "fem-generic-object-invalid",
"error": {
"code": "invalid_request",
"message": "Fem Python family batch envelope is invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "fem-generic-object-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "fem-generic-object-reset"
},
"traceSha256": "0f20a6e85af2544614c44d60db1d89126ae1da58695e24235a87d0960d0c55d9"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 3,
"nonportable": 0,
"not_implemented": 0
},
"records": [
{
"apiId": "py:Fem:class:VPSolverCalculiX",
"name": "VPSolverCalculiX",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_calculix.py",
"sourceLine": 38,
"sourceVerified": true,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "c9e66ae3d291a7b0b33073e88d2681d3e0031540491b69e6b1eea95fdaeac183"
},
{
"apiId": "py:Fem:class:VPSolverCcxTools",
"name": "VPSolverCcxTools",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_ccxtools.py",
"sourceLine": 36,
"sourceVerified": true,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "bf8b6d661bbcab5fc876bda11ffd7467948548c1e3637e9b5fafa0c34fd005a8"
},
{
"apiId": "py:Fem:class:VPSolverElmer",
"name": "VPSolverElmer",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "Official Fem Python API requires FreeCADGui, Qt, Coin3D, or VTK UI providers unavailable in the headless Web kernel",
"sourceEntry": "src/Mod/Fem/femviewprovider/view_solver_elmer.py",
"sourceLine": 38,
"sourceVerified": true,
"sourceRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
"evidenceSha256": "527fe934ced3af9a715c0c79b9b40d7e273f61caacb88054f76666f56726cde3"
}
],
"sourceEvidence": [
{
"apiId": "py:Fem:class:VPSolverCalculiX",
"path": "src/Mod/Fem/femviewprovider/view_solver_calculix.py",
"line": 38,
"declaration": "class VPSolverCalculiX(view_base_femobject.VPBaseFemObject):",
"sha256": "0b2c30a6a5fe3f662652e2a1a7d2ee44ca7a1308aeb18234eec6241110c06601"
},
{
"apiId": "py:Fem:class:VPSolverCcxTools",
"path": "src/Mod/Fem/femviewprovider/view_solver_ccxtools.py",
"line": 36,
"declaration": "class VPSolverCcxTools(view_base_femconstraint.VPBaseFemConstraint):",
"sha256": "ef3158f124c8294b12ef79ac189ca27ac0c467b78381b1f294fd109ca261d1fa"
},
{
"apiId": "py:Fem:class:VPSolverElmer",
"path": "src/Mod/Fem/femviewprovider/view_solver_elmer.py",
"line": 38,
"declaration": "class VPSolverElmer(view_base_femobject.VPBaseFemObject):",
"sha256": "85941efdecc0a988f02463a4a9fee831cc31a57efb8cb496336212f957f3f17f"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"loader": {
"path": "freecad-source/build-web/fem-wasm/bin/FreeCADWebFemGenericFamilyProbe.js",
"sha256": "ce09fc4c2d228c8674236da51d934c44481f1b8e5e3632babab73de424e902e7"
},
"wasm": {
"path": "freecad-source/build-web/fem-wasm/bin/FreeCADWebFemGenericFamilyProbe.wasm",
"sha256": "fdee415b2ffb078d41353fc2a086d1805495e9f2e7cc677c4852f6c39b720b96"
}
},
"boundaries": [
"FemMesh and FemPost records are exposed only after the compiled FreeCAD/WASM fixture executes the selected official API methods.",
"FreeCADGui, Qt, Coin3D, and VTK UI records are explicit restricted boundaries in the headless Fem Web kernel.",
"All statuses and typed Fem values originate from compiled FreeCAD through fc_web_dispatch_json; JavaScript only validates and transports the shared batch envelope."
]
}