Files
FreeCADWasmDev/docs/p6/meshpart-tier1-readonly-family.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

286 lines
9.9 KiB
JSON

{
"schema": "freecad-web-p6-meshpart-tier1-readonly-family-runtime/v1",
"taskId": "FW-P6-FPA-F1-MESHPART",
"module": "MeshPart",
"tier": "tier-1-readonly",
"status": "pass_with_restricted",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"worker": "web/src/meshpart.worker.ts",
"facade": "web/src/meshpart-python-family-facade.ts",
"command": "meshpart.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshPartRuntimeProbe.cpp:fc_web_dispatch_json"
},
"input": {
"count": 8,
"requestSha256": "3fc012e27ec999b23a6863ff31337b0d787ee6a8fcbcd836f5ff55161402018d"
},
"result": {
"count": 8,
"resourcesReleased": true,
"dispositionCounts": {
"restricted": 8
},
"resultSha256": "84afd742e64ef6cfabd02a8fd1da98051aab37a6149cb9d146efd2e77bbe638e"
},
"replay": {
"equal": true,
"resultSha256": "84afd742e64ef6cfabd02a8fd1da98051aab37a6149cb9d146efd2e77bbe638e"
},
"mismatchRequest": {
"result": {
"cmd": "meshpart.pythonFamilyBatch",
"count": 1,
"module": "MeshPart",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:MeshPartWorkbench",
"code": "unmatched_source_record",
"family": "geometry-value",
"message": "MeshPart API record is not part of this module-scoped adapter",
"name": "CreateFlatFace",
"native": true,
"resourcesReleased": true,
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-meshpart/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-1-readonly"
},
"resultSha256": "1347e6da7e5a8755d94fa8b6cd513a6a06b5bf86d2ec96d6dbb145ab377b028c"
},
"malformedRequest": {
"result": {
"ok": false,
"code": "invalid_request",
"error": "meshpart.pythonFamilyBatch requires tier=tier-1-readonly and non-empty args.records"
},
"resultSha256": "e1955f2c5a4c2d39ef9110cf3faf93f6576ab8393f8d191c529486256cf977af"
},
"unsupportedRequest": {
"result": {
"ok": false,
"code": "unsupported_command",
"error": "MeshPart native dispatch command is not registered"
},
"resultSha256": "4debeac55d9a7e5192a7fc44f64333dbde1ce33a4ffbb076eaa1dcbd289fe939"
},
"records": [
{
"apiId": "py:MeshPart:class:CreateFlatFace",
"name": "CreateFlatFace",
"family": "geometry-value",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "MeshPart GUI Python API requires FreeCADGui, unavailable in the GUI-free Web kernel",
"sourceEntry": "src/Mod/MeshPart/Gui/MeshFlatteningCommand.py:83",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": {
"constructor": true,
"parameters": [],
"type": "object"
},
"returnSchema": {
"class": "CreateFlatFace",
"type": "object"
},
"pythonSymbolAvailable": false,
"evidenceSha256": "0b8b4ad0e30884b46bcf6fb2789b4d920f8b2a10774a1a4cc4762132e362482a"
},
{
"apiId": "py:MeshPart:class:CreateFlatMesh",
"name": "CreateFlatMesh",
"family": "geometry-value",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "MeshPart GUI Python API requires FreeCADGui, unavailable in the GUI-free Web kernel",
"sourceEntry": "src/Mod/MeshPart/Gui/MeshFlatteningCommand.py:45",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": {
"constructor": true,
"parameters": [],
"type": "object"
},
"returnSchema": {
"class": "CreateFlatMesh",
"type": "object"
},
"pythonSymbolAvailable": false,
"evidenceSha256": "043f544340cee3966590caa5199ecb9066ae820da2d43ba456eacda2f06f209b"
},
{
"apiId": "py:MeshPart:class:MeshPartWorkbench",
"name": "MeshPartWorkbench",
"family": "geometry-value",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "MeshPart GUI Python API requires FreeCADGui, unavailable in the GUI-free Web kernel",
"sourceEntry": "src/Mod/MeshPart/InitGui.py:34",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": {
"constructor": true,
"parameters": [],
"type": "object"
},
"returnSchema": {
"class": "MeshPartWorkbench",
"type": "object"
},
"pythonSymbolAvailable": false,
"evidenceSha256": "3e6d65c45b95fc403464631d16ddb70e6be77384ced8e1cb1dc2f3c38b0ac3d9"
},
{
"apiId": "py:MeshPart:method:BaseCommand.IsActive",
"name": "BaseCommand.IsActive",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "MeshPart GUI Python API requires FreeCADGui, unavailable in the GUI-free Web kernel",
"sourceEntry": "src/Mod/MeshPart/Gui/MeshFlatteningCommand.py:38",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": {
"parameters": [
{
"name": "self",
"type": "BaseCommand"
}
],
"type": "object"
},
"returnSchema": {
"type": "boolean"
},
"pythonSymbolAvailable": false,
"evidenceSha256": "8ac12e0dc8b6554271b50305a006b4b8e71698c1909acd39a49d6a84b3158c8f"
},
{
"apiId": "py:MeshPart:method:CreateFlatFace.GetResources",
"name": "CreateFlatFace.GetResources",
"family": "view-resource",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "MeshPart GUI Python API requires FreeCADGui, unavailable in the GUI-free Web kernel",
"sourceEntry": "src/Mod/MeshPart/Gui/MeshFlatteningCommand.py:87",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": {
"parameters": [
{
"name": "self",
"type": "CreateFlatFace"
}
],
"type": "object"
},
"returnSchema": {
"properties": [
"Pixmap",
"MenuText",
"ToolTip"
],
"type": "object"
},
"pythonSymbolAvailable": false,
"evidenceSha256": "1dd85b76ad41b567d2c9d290ab3b8f4901e5b3cf60aff4bf7f5f843dabdcfd12"
},
{
"apiId": "py:MeshPart:method:CreateFlatFace.IsActive",
"name": "CreateFlatFace.IsActive",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "MeshPart GUI Python API requires FreeCADGui, unavailable in the GUI-free Web kernel",
"sourceEntry": "src/Mod/MeshPart/Gui/MeshFlatteningCommand.py:121",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": {
"parameters": [
{
"name": "self",
"type": "CreateFlatFace"
}
],
"type": "object"
},
"returnSchema": {
"type": "boolean"
},
"pythonSymbolAvailable": false,
"evidenceSha256": "8b9f12a73d834bfbce4c6ae529e6b14e84390b1a9a547400f6bfb0dc57559a0b"
},
{
"apiId": "py:MeshPart:method:CreateFlatMesh.GetResources",
"name": "CreateFlatMesh.GetResources",
"family": "view-resource",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "MeshPart GUI Python API requires FreeCADGui, unavailable in the GUI-free Web kernel",
"sourceEntry": "src/Mod/MeshPart/Gui/MeshFlatteningCommand.py:48",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": {
"parameters": [
{
"name": "self",
"type": "CreateFlatMesh"
}
],
"type": "object"
},
"returnSchema": {
"properties": [
"Pixmap",
"MenuText",
"ToolTip"
],
"type": "object"
},
"pythonSymbolAvailable": false,
"evidenceSha256": "4bfb817bd6e1cc7ca00be04b4c3aea0ff1b7f7f0e05f0b60352ea5aa72ccb0c2"
},
{
"apiId": "py:MeshPart:method:CreateFlatMesh.IsActive",
"name": "CreateFlatMesh.IsActive",
"family": "generic-object",
"status": "restricted",
"code": "gui_dependency_unavailable",
"message": "MeshPart GUI Python API requires FreeCADGui, unavailable in the GUI-free Web kernel",
"sourceEntry": "src/Mod/MeshPart/Gui/MeshFlatteningCommand.py:77",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": {
"parameters": [
{
"name": "self",
"type": "CreateFlatMesh"
}
],
"type": "object"
},
"returnSchema": {
"type": "boolean"
},
"pythonSymbolAvailable": false,
"evidenceSha256": "58970dc82134c7241292ce2b33711d755ec577a9253da3478a4c5705f7b98b0e"
}
],
"artifacts": {
"js": {
"path": "freecad-source/build-web/configure/bin/FreeCADWebMeshPartRuntimeProbe.js",
"sha256": "cd078b6b67262cec93bdd9be0f3fa6f0ae8e5911be7556d626c9f6664e2f1cab"
},
"wasm": {
"path": "freecad-source/build-web/configure/bin/FreeCADWebMeshPartRuntimeProbe.wasm",
"sha256": "90ac8d4e299f0c3a8a9145c9197c68f5577df1a1648ac5e8307c3f488a668e6d"
}
},
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"boundaries": [
"All eight selected records are sourced from MeshPart GUI Python scripts and are returned as restricted by compiled FreeCAD WebAssembly.",
"The MeshPart App Python extension is initialized and reflected natively; FreeCADGui-dependent classes and methods remain unavailable in the GUI-free worker.",
"Parameter and return schemas are derived from the source declarations; no JavaScript API result or cross-module name match is used."
]
}