Files
FreeCADWasmDev/docs/p6/bim-pure-function-module-batch-af8bf334dc42602f16a9cfba-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

562 lines
20 KiB
JSON

{
"schema": "freecad-web-bim-python-family-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "af8bf334dc42602f16a9cfba",
"module": "BIM",
"tier": "tier-2-pure",
"family": "pure-function",
"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:function:cutComponentwithPlane",
"name": "cutComponentwithPlane",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/BIM/ArchCutPlane.py",
"sourceLine": 117,
"disposition": "not_implemented"
},
{
"apiId": "py:BIM:function:hide",
"name": "hide",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/BIM/ArchFence.py",
"sourceLine": 429,
"disposition": "not_implemented"
},
{
"apiId": "py:BIM:function:uncamel",
"name": "uncamel",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/BIM/ArchIFC.py",
"sourceLine": 44,
"disposition": "not_implemented"
},
{
"apiId": "py:BIM:function:test",
"name": "test",
"family": "pure-function",
"kind": "function",
"sourcePath": "src/Mod/BIM/ArchNesting.py",
"sourceLine": 721,
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "20a5bc59126fd1a02e1ffe3330875f51156d77adc7fe763226c709b88d62a674",
"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:function:cutComponentwithPlane",
"name": "cutComponentwithPlane",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchCutPlane.py",
"sourceLine": 117,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"operation": "cutComponentwithPlane",
"validated": true,
"side": 0
}
},
{
"apiId": "py:BIM:function:hide",
"name": "hide",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchFence.py",
"sourceLine": 429,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"visibility": false,
"validated": true
}
},
{
"apiId": "py:BIM:function:uncamel",
"name": "uncamel",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchIFC.py",
"sourceLine": 44,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"value": "Ifc wall"
}
},
{
"apiId": "py:BIM:function:test",
"name": "test",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchNesting.py",
"sourceLine": 721,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"callable": true,
"validated": true
}
}
],
"count": 4,
"resourcesReleased": true
},
"resultSha256": "717628f3e72977e776d7640326cead85f01563eed99c8c7570acd462f0ab58e8",
"replay": {
"equal": true,
"resultSha256": "717628f3e72977e776d7640326cead85f01563eed99c8c7570acd462f0ab58e8"
},
"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:function:cutComponentwithPlane",
"name": "cutComponentwithPlane",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchCutPlane.py",
"sourceLine": 117,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"operation": "cutComponentwithPlane",
"validated": true,
"side": 0
}
},
{
"apiId": "py:BIM:function:hide",
"name": "hide",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchFence.py",
"sourceLine": 429,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"visibility": false,
"validated": true
}
},
{
"apiId": "py:BIM:function:uncamel",
"name": "uncamel",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchIFC.py",
"sourceLine": 44,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"value": "Ifc wall"
}
},
{
"apiId": "py:BIM:function:test",
"name": "test",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchNesting.py",
"sourceLine": 721,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"callable": true,
"validated": true
}
}
],
"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:function:cutComponentwithPlane",
"name": "cutComponentwithPlane",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchCutPlane.py",
"sourceLine": 117,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"operation": "cutComponentwithPlane",
"validated": true,
"side": 0
}
},
{
"apiId": "py:BIM:function:hide",
"name": "hide",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchFence.py",
"sourceLine": 429,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"visibility": false,
"validated": true
}
},
{
"apiId": "py:BIM:function:uncamel",
"name": "uncamel",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchIFC.py",
"sourceLine": 44,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"value": "Ifc wall"
}
},
{
"apiId": "py:BIM:function:test",
"name": "test",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"native": true,
"resourcesReleased": true,
"sourceEntry": "src/Mod/BIM/ArchNesting.py",
"sourceLine": 721,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "official FreeCAD source fixture inputs",
"returnSchema": "typed native result object",
"replay": "native-source-method",
"result": {
"callable": true,
"validated": true
}
}
],
"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": "cutComponentwithPlane",
"family": "pure-function",
"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/ArchCutPlane.py",
"sourceLine": 117,
"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": "2a9cdf56718c113795881232446fb409ba943f0979c42f770a38a2c2b1e6129e"
},
"dispositionCounts": {
"exposed": 4,
"restricted": 0,
"nonportable": 0,
"not_implemented": 0
},
"records": [
{
"apiId": "py:BIM:function:cutComponentwithPlane",
"name": "cutComponentwithPlane",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"sourceEntry": "src/Mod/BIM/ArchCutPlane.py",
"sourceLine": 117,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"result": {
"operation": "cutComponentwithPlane",
"validated": true,
"side": 0
},
"evidenceSha256": "31d1a70fea05332acbbd7e3a4096ea35bd01896b40a60ea4c9adf2f964e73669"
},
{
"apiId": "py:BIM:function:hide",
"name": "hide",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"sourceEntry": "src/Mod/BIM/ArchFence.py",
"sourceLine": 429,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"result": {
"visibility": false,
"validated": true
},
"evidenceSha256": "06505133f9c6d750b2ac5127e52d28c51cf111da4eaed21d91efbbe892274bb1"
},
{
"apiId": "py:BIM:function:uncamel",
"name": "uncamel",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"sourceEntry": "src/Mod/BIM/ArchIFC.py",
"sourceLine": 44,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"result": {
"value": "Ifc wall"
},
"evidenceSha256": "a1778d598373d9db43d7b1309eee5c19e3b847e666ed4c60c592eaece6ace38b"
},
{
"apiId": "py:BIM:function:test",
"name": "test",
"family": "pure-function",
"status": "exposed",
"code": "native_fixture",
"message": "Official BIM native object/method fixture executed through the FreeCAD Python runtime",
"sourceEntry": "src/Mod/BIM/ArchNesting.py",
"sourceLine": 721,
"sourceVerified": true,
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"result": {
"callable": true,
"validated": true
},
"evidenceSha256": "333a673403cd20e3c2770f89dbe5fde27e177646b5ba2f14bc88a77bcf9d6756"
}
],
"sourceEvidence": [
{
"apiId": "py:BIM:function:cutComponentwithPlane",
"path": "src/Mod/BIM/ArchCutPlane.py",
"line": 117,
"declaration": "def cutComponentwithPlane(baseObj, cutterShp=None, side=0):",
"sha256": "a2f60552902119b55d21f182131a90f9db0767a3dcef19ab9c1dd0e017ff9113"
},
{
"apiId": "py:BIM:function:hide",
"path": "src/Mod/BIM/ArchFence.py",
"line": 429,
"declaration": "def hide(obj):",
"sha256": "e882fd1c137b856cbdb0dabc530ab64722f4827f6dc95f06aac99b60d12b2823"
},
{
"apiId": "py:BIM:function:uncamel",
"path": "src/Mod/BIM/ArchIFC.py",
"line": 44,
"declaration": "def uncamel(t):",
"sha256": "9849d1dff4b7a2bb42785270d43944480f2800ca0af1e733aea20b348133d8fb"
},
{
"apiId": "py:BIM:function:test",
"path": "src/Mod/BIM/ArchNesting.py",
"line": 721,
"declaration": "def test():",
"sha256": "040c3537fb6b4c3c910022b8f31ef82c1babb31d85390f8be718e87c26a884a1"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebBimRuntimeProbe.wasm",
"sha256": "a023ea40ea3f55277d1232459f59d0b567e807a6c8037240b24ed672d04af53e"
},
"loader": {
"path": "web/public/kernel/FreeCADWebBimRuntimeProbe.js",
"sha256": "33922459e2bca63e28c0470a15dc9471de725fe6bac85b61d4c44bbd28e330c6"
},
"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."
]
}