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

888 lines
36 KiB
JSON

{
"schema": "freecad-web-material-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "b0f1f9c723328e1b42d025d4",
"module": "Material",
"tier": "tier-3-stateful",
"family": "serialization",
"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-3-stateful",
"records": [
{
"apiId": "py:Material:method:MaterialManager.save",
"name": "MaterialManager.save",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/App/MaterialManager.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.savefile",
"name": "MaterialEditor.savefile",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:read",
"name": "read",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/importFCMat.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:read_old",
"name": "read_old",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/importFCMat.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:read2",
"name": "read2",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/importFCMat.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:write",
"name": "write",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/importFCMat.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:getPreferredSaveDirectory",
"name": "getPreferredSaveDirectory",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/MaterialModels.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:saveModel",
"name": "saveModel",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/MaterialModels.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:saveYaml",
"name": "saveYaml",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/Tools/ConvertFCMat.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:get_material_preferred_save_directory",
"name": "get_material_preferred_save_directory",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/cardutils.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:read_cards_from_path",
"name": "read_cards_from_path",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/cardutils.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:write_cards_to_path",
"name": "write_cards_to_path",
"family": "serialization",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/cardutils.py",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "cbc97b3915e0d2e45d287afbd0d3adae52748047f22545a3ae404eb92897fdea",
"result": {
"cmd": "material.pythonFamilyBatch",
"count": 12,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:MaterialManager.save",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialManager.save",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/MaterialManager.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.savefile",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.savefile",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read_old",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read_old",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read2",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read2",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:write",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "write",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:getPreferredSaveDirectory",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "getPreferredSaveDirectory",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/MaterialModels.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:saveModel",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "saveModel",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/MaterialModels.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:saveYaml",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "saveYaml",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/Tools/ConvertFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:get_material_preferred_save_directory",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "get_material_preferred_save_directory",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read_cards_from_path",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read_cards_from_path",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:write_cards_to_path",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "write_cards_to_path",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-material/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
},
"resultSha256": "0209fb4186a06e8546e11457b3f7568a449bd780b5e013f450ca00e7e4a09802",
"replay": {
"equal": true,
"resultSha256": "0209fb4186a06e8546e11457b3f7568a449bd780b5e013f450ca00e7e4a09802"
},
"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": 12,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:MaterialManager.save",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialManager.save",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/MaterialManager.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.savefile",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.savefile",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read_old",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read_old",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read2",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read2",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:write",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "write",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:getPreferredSaveDirectory",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "getPreferredSaveDirectory",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/MaterialModels.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:saveModel",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "saveModel",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/MaterialModels.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:saveYaml",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "saveYaml",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/Tools/ConvertFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:get_material_preferred_save_directory",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "get_material_preferred_save_directory",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read_cards_from_path",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read_cards_from_path",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:write_cards_to_path",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "write_cards_to_path",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-material/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "material-object-batch-repeat",
"result": {
"cmd": "material.pythonFamilyBatch",
"count": 12,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:MaterialManager.save",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialManager.save",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/MaterialManager.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.savefile",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.savefile",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read_old",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read_old",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read2",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read2",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:write",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "write",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:getPreferredSaveDirectory",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "getPreferredSaveDirectory",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/MaterialModels.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:saveModel",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "saveModel",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/MaterialModels.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:saveYaml",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "saveYaml",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/Tools/ConvertFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:get_material_preferred_save_directory",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "get_material_preferred_save_directory",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:read_cards_from_path",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "read_cards_from_path",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:write_cards_to_path",
"code": "unmatched_source_record",
"family": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "write_cards_to_path",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-material/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"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": "serialization",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialManager.save",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/MaterialManager.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-material/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"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": "9cf909ceb878ddb5268fc5feb6b3105b66971f45fa11e29a9e5f9d1282d1f04f"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 12
},
"records": [
{
"apiId": "py:Material:method:MaterialManager.save",
"name": "MaterialManager.save",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/App/MaterialManager.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "fa18501865d5ebcb93dc5c9c91401b6ed73340942378f9de33c74d5207f253ae"
},
{
"apiId": "py:Material:method:MaterialEditor.savefile",
"name": "MaterialEditor.savefile",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "fd9c9cf8a742039f9164868d1a7831657e5f950481b93988ab2e35300885531c"
},
{
"apiId": "py:Material:function:read",
"name": "read",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "9a18062641be166e53d8994189d61d2e4957713b3bd594b8f316609afcb19870"
},
{
"apiId": "py:Material:function:read_old",
"name": "read_old",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "6cc1058c0da853fcf49077e1b58afd47e6f2c197ecb7a8ddddf590718c67159f"
},
{
"apiId": "py:Material:function:read2",
"name": "read2",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "008ade5adae2e23763c161a456d7c301463ca678f9523c63942ea54b2b91d0b9"
},
{
"apiId": "py:Material:function:write",
"name": "write",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/importFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "6c5e4ab1384b416d8249037970d2f93658d3eb3a7db91d02c0411ef38adf490c"
},
{
"apiId": "py:Material:function:getPreferredSaveDirectory",
"name": "getPreferredSaveDirectory",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/materialtools/MaterialModels.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "544eefc0a9065ca67a0ab552fd03289e86b275fe1872a72731fd8d5527e90072"
},
{
"apiId": "py:Material:function:saveModel",
"name": "saveModel",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/materialtools/MaterialModels.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "052ac52c7f4630bf436a26cc0ea64959938b03adb998564b3d7ad46ee12f63b2"
},
{
"apiId": "py:Material:function:saveYaml",
"name": "saveYaml",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/materialtools/Tools/ConvertFCMat.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "b3fc54216595c183a16a9935f598587ab8519a19e77cfea1764813c5e6f47ac1"
},
{
"apiId": "py:Material:function:get_material_preferred_save_directory",
"name": "get_material_preferred_save_directory",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "5ecde5fa912c33d51c4cf9e9b6848eee37c434df5b07382c77e813b4b068f082"
},
{
"apiId": "py:Material:function:read_cards_from_path",
"name": "read_cards_from_path",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "50e5c0084a5f950a610ba008bfe696ce18aadd014a93b909bd7d568344dd017c"
},
{
"apiId": "py:Material:function:write_cards_to_path",
"name": "write_cards_to_path",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "6422b8ef3dc23ef2ebaacf0e636ba327f53122e1b066b740397936d9a021deb9"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebMaterialKernelProbe.wasm",
"sha256": "105dca79c155a7a88a5369fadd88b22d2c59d741f1288ed4f6c45704c9436052"
},
"loader": {
"path": "web/public/kernel/FreeCADWebMaterialKernelProbe.js",
"sha256": "f6d5e2a8dcbdc74573fcf6322769d55c0309cb800ec612ed896921a815498d60"
}
},
"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."
]
}