Files
FreeCADWasmDev/docs/p6/material-module-batch-57661b267692cca16b25dc10-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

648 lines
27 KiB
JSON

{
"schema": "freecad-web-material-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "57661b267692cca16b25dc10",
"module": "Material",
"tier": "tier-2-pure",
"family": "generic-object",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"command": "material.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/MaterialKernelProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/material-python-family-facade.ts",
"worker": "web/src/material.worker.ts"
},
"input": {
"cmd": "material.pythonFamilyBatch",
"args": {
"tier": "tier-2-pure",
"records": [
{
"apiId": "py:Material:method:MaterialEditor.collapseKey",
"name": "MaterialEditor.collapseKey",
"family": "generic-object",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.onClickTree",
"name": "MaterialEditor.onClickTree",
"family": "generic-object",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.outputDict",
"name": "MaterialEditor.outputDict",
"family": "generic-object",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.openfile",
"name": "MaterialEditor.openfile",
"family": "generic-object",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.show",
"name": "MaterialEditor.show",
"family": "generic-object",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.exec_",
"name": "MaterialEditor.exec_",
"family": "generic-object",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialsDelegate.createEditor",
"name": "MaterialsDelegate.createEditor",
"family": "generic-object",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialsDelegate.setEditorData",
"name": "MaterialsDelegate.setEditorData",
"family": "generic-object",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "e864266430a81f89e9f946f30cef83ccbd449d5b2b5497b7ac37de10c90bc982",
"result": {
"cmd": "material.pythonFamilyBatch",
"count": 8,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:MaterialEditor.collapseKey",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.collapseKey",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.onClickTree",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.onClickTree",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.outputDict",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.outputDict",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.openfile",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.openfile",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.show",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.show",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.exec_",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.exec_",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialsDelegate.createEditor",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialsDelegate.createEditor",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialsDelegate.setEditorData",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialsDelegate.setEditorData",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-material/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "44c9e054529bc602dfdf478b3f454193426e8bbd9594de851886531fd88583cc",
"replay": {
"equal": true,
"resultSha256": "44c9e054529bc602dfdf478b3f454193426e8bbd9594de851886531fd88583cc"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "material.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "material-object-batch-success",
"result": {
"cmd": "material.pythonFamilyBatch",
"count": 8,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:MaterialEditor.collapseKey",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.collapseKey",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.onClickTree",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.onClickTree",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.outputDict",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.outputDict",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.openfile",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.openfile",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.show",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.show",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.exec_",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.exec_",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialsDelegate.createEditor",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialsDelegate.createEditor",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialsDelegate.setEditorData",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialsDelegate.setEditorData",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-material/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "material-object-batch-repeat",
"result": {
"cmd": "material.pythonFamilyBatch",
"count": 8,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:MaterialEditor.collapseKey",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.collapseKey",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.onClickTree",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.onClickTree",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.outputDict",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.outputDict",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.openfile",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.openfile",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.show",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.show",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.exec_",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialEditor.exec_",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialsDelegate.createEditor",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialsDelegate.createEditor",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialsDelegate.setEditorData",
"code": "method_evidence_pending",
"family": "generic-object",
"message": "Material Python method has no method-level readonly fixture in this batch",
"name": "MaterialsDelegate.setEditorData",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-material/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "material-object-batch-cross",
"result": {
"cmd": "material.pythonFamilyBatch",
"count": 1,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "obj:BIM:Materials::Library",
"code": "unmatched_source_record",
"family": "generic-object",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.collapseKey",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-material/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "material-object-batch-invalid",
"error": {
"code": "invalid_request",
"message": "Material Python family envelope is invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "material-object-batch-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "material-object-batch-reset"
},
"traceSha256": "64330175d4138d9dce02831658d0fcaa62b86a69a1367704d80b553cd6147c31"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 8
},
"records": [
{
"apiId": "py:Material:method:MaterialEditor.collapseKey",
"name": "MaterialEditor.collapseKey",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Material Python method has no method-level readonly fixture in this batch",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "5995aab7700b0d09413f1ec49489bc2c3e1f91aa565aa1f95dabb0b28d18964e"
},
{
"apiId": "py:Material:method:MaterialEditor.onClickTree",
"name": "MaterialEditor.onClickTree",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Material Python method has no method-level readonly fixture in this batch",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "31d632df42fdfefe4993b6ae1dbcd262a1d16b0bc5e2b119a1777802ddbc95b6"
},
{
"apiId": "py:Material:method:MaterialEditor.outputDict",
"name": "MaterialEditor.outputDict",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Material Python method has no method-level readonly fixture in this batch",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "ec206e64a6613c1506902f6965bba0149b1780c2c58b038245c323050170cbdf"
},
{
"apiId": "py:Material:method:MaterialEditor.openfile",
"name": "MaterialEditor.openfile",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Material Python method has no method-level readonly fixture in this batch",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "4e56dc75ec2ce740a6e1aa1bb2289dad48793de9f19d76a0564d4890df901080"
},
{
"apiId": "py:Material:method:MaterialEditor.show",
"name": "MaterialEditor.show",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Material Python method has no method-level readonly fixture in this batch",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "cba152945d44bb7a6765fbc91876d84ac5f56e71816b09594ddbcbdce6d01a2a"
},
{
"apiId": "py:Material:method:MaterialEditor.exec_",
"name": "MaterialEditor.exec_",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Material Python method has no method-level readonly fixture in this batch",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "15a54b1ca6d0948f4b254d312759812f0fbec5b58d8019047438204cb23cfb89"
},
{
"apiId": "py:Material:method:MaterialsDelegate.createEditor",
"name": "MaterialsDelegate.createEditor",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Material Python method has no method-level readonly fixture in this batch",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "3d05386e3261860b68f38ba77352eacbdc3dc6b87132932c7571f038ddb78ee4"
},
{
"apiId": "py:Material:method:MaterialsDelegate.setEditorData",
"name": "MaterialsDelegate.setEditorData",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Material Python method has no method-level readonly fixture in this batch",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "f5de58a287b2c3162039f3f6fd1bc55588ed2a0f71e3360a08f22b5835736fd0"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebMaterialKernelProbe.wasm",
"sha256": "b78996da3f4be21b8bedc9302c342272a4ff065dad7458b5c2bd27dc443c91ba"
},
"loader": {
"path": "web/public/kernel/FreeCADWebMaterialKernelProbe.js",
"sha256": "40a2f71bf3cce5d46c5da115bbd22c2bd8d2aa680a117a41c14ee1e7c2bbdf03"
}
},
"boundaries": [
"MaterialManagerExternal remains restricted because BUILD_MATERIAL_EXTERNAL is disabled in the Web build.",
"All statuses, schemas and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
]
}