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

708 lines
29 KiB
JSON

{
"schema": "freecad-web-material-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "14e09aafc91979884a54bd73",
"module": "Material",
"tier": "tier-3-stateful",
"family": "property",
"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:Model.addProperty",
"name": "Model.addProperty",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/App/Model.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:class:ModelProperty",
"name": "ModelProperty",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/App/ModelProperty.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.updateMatParamsInTree",
"name": "MaterialEditor.updateMatParamsInTree",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.addCustomProperty",
"name": "MaterialEditor.addCustomProperty",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.deleteCustomProperty",
"name": "MaterialEditor.deleteCustomProperty",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/MaterialEditor.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:output_material_param",
"name": "output_material_param",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/cardutils.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:get_known_material_quantity_parameter",
"name": "get_known_material_quantity_parameter",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/cardutils.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:check_value_unit",
"name": "check_value_unit",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/cardutils.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Material:function:output_value_unit_info",
"name": "output_value_unit_info",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Material/materialtools/cardutils.py",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "09f3f3149d26f33ec441027a522fec08c86f1eeb02a0aec28755e820f52cae4e",
"result": {
"cmd": "material.pythonFamilyBatch",
"count": 9,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:Model.addProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "Model.addProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/Model.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:class:ModelProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "ModelProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/ModelProperty.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.updateMatParamsInTree",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.updateMatParamsInTree",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.addCustomProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.addCustomProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.deleteCustomProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.deleteCustomProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:output_material_param",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "output_material_param",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:get_known_material_quantity_parameter",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "get_known_material_quantity_parameter",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:check_value_unit",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "check_value_unit",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:output_value_unit_info",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "output_value_unit_info",
"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": "ce3eea044842268fd38420209a2c9ecf3b5bd8adb3a6f4ffe2326d9199205513",
"replay": {
"equal": true,
"resultSha256": "ce3eea044842268fd38420209a2c9ecf3b5bd8adb3a6f4ffe2326d9199205513"
},
"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": 9,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:Model.addProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "Model.addProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/Model.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:class:ModelProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "ModelProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/ModelProperty.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.updateMatParamsInTree",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.updateMatParamsInTree",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.addCustomProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.addCustomProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.deleteCustomProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.deleteCustomProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:output_material_param",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "output_material_param",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:get_known_material_quantity_parameter",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "get_known_material_quantity_parameter",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:check_value_unit",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "check_value_unit",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:output_value_unit_info",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "output_value_unit_info",
"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": 9,
"module": "Material",
"ok": true,
"records": [
{
"apiId": "py:Material:method:Model.addProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "Model.addProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/Model.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:class:ModelProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "ModelProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/ModelProperty.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.updateMatParamsInTree",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.updateMatParamsInTree",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.addCustomProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.addCustomProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:method:MaterialEditor.deleteCustomProperty",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "MaterialEditor.deleteCustomProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/MaterialEditor.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:output_material_param",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "output_material_param",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:get_known_material_quantity_parameter",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "get_known_material_quantity_parameter",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:check_value_unit",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "check_value_unit",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/materialtools/cardutils.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Material:function:output_value_unit_info",
"code": "unmatched_source_record",
"family": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "output_value_unit_info",
"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": "property",
"message": "Material API record is not part of this module-scoped adapter",
"name": "Model.addProperty",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Material/App/Model.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": "267ec5ea81cbaa5f473e10653e3b34399a9526cbcdbf13788b5d0a47d3c51170"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 9
},
"records": [
{
"apiId": "py:Material:method:Model.addProperty",
"name": "Model.addProperty",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/App/Model.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "e6d0663b4a98790d2b9888f9eca79526bb505db0339e6988b99149e8e45c7067"
},
{
"apiId": "py:Material:class:ModelProperty",
"name": "ModelProperty",
"status": "not_implemented",
"code": "unmatched_source_record",
"message": "Material API record is not part of this module-scoped adapter",
"sourceEntry": "src/Mod/Material/App/ModelProperty.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "8468119f2f071bb37f356638bb612d752e66f7ffcae0fada4b2a19cfff15d1cd"
},
{
"apiId": "py:Material:method:MaterialEditor.updateMatParamsInTree",
"name": "MaterialEditor.updateMatParamsInTree",
"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": "134ba28f46ffc2cf27f3139f5273f64113b355af56ecf0a0b7bf16e1e4b0d6a6"
},
{
"apiId": "py:Material:method:MaterialEditor.addCustomProperty",
"name": "MaterialEditor.addCustomProperty",
"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": "0ff318d25b1e69cbe115e7c6c4eae28c036c9e5d2adab72c16fd1eb2c80d9053"
},
{
"apiId": "py:Material:method:MaterialEditor.deleteCustomProperty",
"name": "MaterialEditor.deleteCustomProperty",
"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": "e2313c351fb0697a90db90edac722aed570393ed6d4b8b0435533f821f7815f3"
},
{
"apiId": "py:Material:function:output_material_param",
"name": "output_material_param",
"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": "162808df736b01c786970106f171b01f3fb2379de5f00b792437e6656ca860bd"
},
{
"apiId": "py:Material:function:get_known_material_quantity_parameter",
"name": "get_known_material_quantity_parameter",
"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": "92f13cda3161af602cee96d1024451343febb09f41c67634e8e370955e6d402a"
},
{
"apiId": "py:Material:function:check_value_unit",
"name": "check_value_unit",
"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": "9c73a959dac417f21ef13d5d157011f8f4607b4a41517a0ac2195f55c30491a5"
},
{
"apiId": "py:Material:function:output_value_unit_info",
"name": "output_value_unit_info",
"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": "23e3e51ab68d8646943d8f5be9c49e2302527553152ec48187e8f3b0db8bb6c8"
}
],
"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."
]
}