Files
FreeCADWasmDev/docs/p6/bim-generic-object-module-batch-b12656b4a75f61dab2a38213-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

498 lines
20 KiB
JSON

{
"schema": "freecad-web-bim-python-family-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "b12656b4a75f61dab2a38213",
"module": "BIM",
"tier": "tier-2-pure",
"family": "generic-object",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"dispatcher": "fc_web_dispatch_json",
"route": {
"command": "bim.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/BimRuntimeProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/bim-python-family-batch-facade.ts",
"worker": "web/src/bim.worker.ts"
},
"input": {
"cmd": "bim.pythonFamilyBatch",
"args": {
"tier": "tier-2-pure",
"records": [
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testTinyLines",
"name": "BIM_Preflight_TaskPanel.testTinyLines",
"family": "generic-object",
"kind": "method",
"sourcePath": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1026,
"disposition": "not_implemented"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testRectangleProfileDef",
"name": "BIM_Preflight_TaskPanel.testRectangleProfileDef",
"family": "generic-object",
"kind": "method",
"sourcePath": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1087,
"disposition": "not_implemented"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testCustom",
"name": "BIM_Preflight_TaskPanel.testCustom",
"family": "generic-object",
"kind": "method",
"sourcePath": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1107,
"disposition": "not_implemented"
},
{
"apiId": "py:BIM:method:Arch_Profile.setCategory",
"name": "Arch_Profile.setCategory",
"family": "generic-object",
"kind": "method",
"sourcePath": "src/Mod/BIM/bimcommands/BimProfile.py",
"sourceLine": 147,
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "b8d5e8e5fe8679d145834b7e26c8e175d650033a93b2cf1fad23117bbe764bd9",
"result": {
"ok": true,
"cmd": "bim.pythonFamilyBatch",
"schema": "freecad-web-bim/python-family-batch/v1",
"module": "BIM",
"tier": "tier-2-pure",
"source": "freecad-source",
"records": [
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testTinyLines",
"name": "BIM_Preflight_TaskPanel.testTinyLines",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1026,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testRectangleProfileDef",
"name": "BIM_Preflight_TaskPanel.testRectangleProfileDef",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1087,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testCustom",
"name": "BIM_Preflight_TaskPanel.testCustom",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1107,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:Arch_Profile.setCategory",
"name": "Arch_Profile.setCategory",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "BIM geometry-value source execution failed: 'Arch_Profile' object has no attribute 'getStandardButtons'",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimProfile.py",
"sourceLine": 147,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
}
],
"count": 4,
"resourcesReleased": true
},
"resultSha256": "4fe881eca426d179cdeaa4fdcfd8bfb6bb7829ad1e7f8507419f7b567d72c233",
"replay": {
"equal": true,
"resultSha256": "4fe881eca426d179cdeaa4fdcfd8bfb6bb7829ad1e7f8507419f7b567d72c233"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "bim.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "bim-python-family-batch-success",
"result": {
"ok": true,
"cmd": "bim.pythonFamilyBatch",
"schema": "freecad-web-bim/python-family-batch/v1",
"module": "BIM",
"tier": "tier-2-pure",
"source": "freecad-source",
"records": [
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testTinyLines",
"name": "BIM_Preflight_TaskPanel.testTinyLines",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1026,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testRectangleProfileDef",
"name": "BIM_Preflight_TaskPanel.testRectangleProfileDef",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1087,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testCustom",
"name": "BIM_Preflight_TaskPanel.testCustom",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1107,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:Arch_Profile.setCategory",
"name": "Arch_Profile.setCategory",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "BIM geometry-value source execution failed: 'Arch_Profile' object has no attribute 'getStandardButtons'",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimProfile.py",
"sourceLine": 147,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
}
],
"count": 4,
"resourcesReleased": true
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "bim-python-family-batch-repeat",
"result": {
"ok": true,
"cmd": "bim.pythonFamilyBatch",
"schema": "freecad-web-bim/python-family-batch/v1",
"module": "BIM",
"tier": "tier-2-pure",
"source": "freecad-source",
"records": [
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testTinyLines",
"name": "BIM_Preflight_TaskPanel.testTinyLines",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1026,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testRectangleProfileDef",
"name": "BIM_Preflight_TaskPanel.testRectangleProfileDef",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1087,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testCustom",
"name": "BIM_Preflight_TaskPanel.testCustom",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1107,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
},
{
"apiId": "py:BIM:method:Arch_Profile.setCategory",
"name": "Arch_Profile.setCategory",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "BIM geometry-value source execution failed: 'Arch_Profile' object has no attribute 'getStandardButtons'",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimProfile.py",
"sourceLine": 147,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"replay": "native-source-disposition"
}
],
"count": 4,
"resourcesReleased": true
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "bim-python-family-batch-cross",
"result": {
"ok": true,
"cmd": "bim.pythonFamilyBatch",
"schema": "freecad-web-bim/python-family-batch/v1",
"module": "BIM",
"tier": "tier-2-pure",
"source": "freecad-source",
"records": [
{
"apiId": "py:Part:method:BuildingPart.getShapes",
"name": "BIM_Preflight_TaskPanel.testTinyLines",
"family": "generic-object",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "BIM API record is not part of this module-scoped adapter",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1026,
"sourceVerified": false,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "source-declared",
"returnSchema": "source-declared"
}
],
"count": 1,
"resourcesReleased": true
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "bim-python-family-batch-invalid",
"error": {
"code": "invalid_request",
"message": "BIM Python family batch envelope is invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "bim-python-family-batch-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "bim-python-family-batch-reset"
},
"traceSha256": "9004e0756b3a9b1313e1a990a6554ed4d62932663214619d5342c4f83a878da8"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 3,
"nonportable": 0,
"not_implemented": 1
},
"records": [
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testTinyLines",
"name": "BIM_Preflight_TaskPanel.testTinyLines",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1026,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "3c105224b32ac8fbe06cac85ce04d407d4c38048af3d0c8ef173553202137e5b"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testRectangleProfileDef",
"name": "BIM_Preflight_TaskPanel.testRectangleProfileDef",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1087,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "fc818807010b65e5e87843d5abb939be5a401d4d94d5035e1e7841f43a108ada"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testCustom",
"name": "BIM_Preflight_TaskPanel.testCustom",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "BIM GUI-dependent Python API requires GUI providers unavailable in the Web kernel",
"sourceEntry": "src/Mod/BIM/bimcommands/BimPreflight.py",
"sourceLine": 1107,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "db53b90d16bf5a65aea28f75b403086fc00a9e50915e8d2c3f410315f2843810"
},
{
"apiId": "py:BIM:method:Arch_Profile.setCategory",
"name": "Arch_Profile.setCategory",
"family": "generic-object",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "BIM geometry-value source execution failed: 'Arch_Profile' object has no attribute 'getStandardButtons'",
"sourceEntry": "src/Mod/BIM/bimcommands/BimProfile.py",
"sourceLine": 147,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "03aa853f56305f176f006d1f1da18aaabd03f4ee976ae14374aee396c32f81d1"
}
],
"sourceEvidence": [
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testTinyLines",
"path": "src/Mod/BIM/bimcommands/BimPreflight.py",
"line": 1026,
"declaration": "def testTinyLines(self):",
"sha256": "66297f92bfc8a8d547fcb8348ea67d5d83242465eba4e9a0e9396e9e779c4722"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testRectangleProfileDef",
"path": "src/Mod/BIM/bimcommands/BimPreflight.py",
"line": 1087,
"declaration": "def testRectangleProfileDef(self):",
"sha256": "66297f92bfc8a8d547fcb8348ea67d5d83242465eba4e9a0e9396e9e779c4722"
},
{
"apiId": "py:BIM:method:BIM_Preflight_TaskPanel.testCustom",
"path": "src/Mod/BIM/bimcommands/BimPreflight.py",
"line": 1107,
"declaration": "def testCustom(self, test):",
"sha256": "66297f92bfc8a8d547fcb8348ea67d5d83242465eba4e9a0e9396e9e779c4722"
},
{
"apiId": "py:BIM:method:Arch_Profile.setCategory",
"path": "src/Mod/BIM/bimcommands/BimProfile.py",
"line": 147,
"declaration": "def setCategory(self, i):",
"sha256": "7fca74fcc79a386a2e36ebbfec89015cc15887422098af68704920df0e1056a4"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebBimRuntimeProbe.wasm",
"sha256": "f8726e80fcb05c3096e1c885cbca95e5804e70a7d55b976241e41030375593f4"
},
"loader": {
"path": "web/public/kernel/FreeCADWebBimRuntimeProbe.js",
"sha256": "692a2589c28d6d259e1584839dfee4c4f7a7db3fb5dcf648009d7f08d414913a"
},
"data": {
"path": "web/public/kernel/FreeCADWebBimRuntimeProbe.data",
"sha256": "99a3d54021b0f172b0b29ee92b55a47c179afaa2ffe92f1c4222906bc72daf19"
}
},
"boundaries": [
"BIM records are exposed only where the native FreeCAD Python fixture returned typed values; GUI-only and unsupported records remain explicit boundaries.",
"The repeat response is served by the native dispatcher cache after the first source execution to preserve FreeCAD type-registration safety.",
"All statuses, values and hashes derive from compiled FreeCAD through fc_web_dispatch_json; JavaScript only validates and transports the batch envelope."
]
}