Files
FreeCADWasmDev/docs/p6/draft-module-batch-9076734231dcb27e9738d994-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

475 lines
19 KiB
JSON

{
"schema": "freecad-web-draft-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "9076734231dcb27e9738d994",
"module": "Draft",
"tier": "tier-3-stateful",
"family": "property",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"command": "draft.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/DraftRuntimeProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/draft-python-family-facade.ts",
"worker": "web/src/draft.worker.ts"
},
"input": {
"cmd": "draft.pythonFamilyBatch",
"args": {
"tier": "tier-3-stateful",
"records": [
{
"apiId": "py:Draft:method:ViewProviderLabel.update_label",
"name": "ViewProviderLabel.update_label",
"family": "property",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftviewproviders/view_label.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderLayer.set_properties",
"name": "ViewProviderLayer.set_properties",
"family": "property",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftviewproviders/view_layer.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderLayerContainer.merge_by_name",
"name": "ViewProviderLayerContainer.merge_by_name",
"family": "property",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftviewproviders/view_layer.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderText.set_text_properties",
"name": "ViewProviderText.set_text_properties",
"family": "property",
"kind": "method",
"sourcePath": "src/Mod/Draft/draftviewproviders/view_text.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Draft:function:rawValue",
"name": "rawValue",
"family": "property",
"kind": "function",
"sourcePath": "src/Mod/Draft/importDXF.py",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "644e252dd4ea7032da207ea4032c95c5a8d76cc287de372eaaaa6e6082034b6d",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 5,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:Draft:method:ViewProviderLabel.update_label",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLabel.update_label",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_label.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderLayer.set_properties",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLayer.set_properties",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_layer.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderLayerContainer.merge_by_name",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLayerContainer.merge_by_name",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_layer.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderText.set_text_properties",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderText.set_text_properties",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_text.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:rawValue",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "rawValue",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/importDXF.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
},
"resultSha256": "28f9afa660c1ff8b2d6e0ee53e875e85767573bf7ad8cf3e17a7cfa5d61b084f",
"replay": {
"equal": true,
"resultSha256": "28f9afa660c1ff8b2d6e0ee53e875e85767573bf7ad8cf3e17a7cfa5d61b084f"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "draft.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "draft-object-batch-success",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 5,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:Draft:method:ViewProviderLabel.update_label",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLabel.update_label",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_label.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderLayer.set_properties",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLayer.set_properties",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_layer.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderLayerContainer.merge_by_name",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLayerContainer.merge_by_name",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_layer.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderText.set_text_properties",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderText.set_text_properties",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_text.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:rawValue",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "rawValue",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/importDXF.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "draft-object-batch-repeat",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 5,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:Draft:method:ViewProviderLabel.update_label",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLabel.update_label",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_label.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderLayer.set_properties",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLayer.set_properties",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_layer.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderLayerContainer.merge_by_name",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLayerContainer.merge_by_name",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_layer.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:method:ViewProviderText.set_text_properties",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderText.set_text_properties",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_text.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Draft:function:rawValue",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "rawValue",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/importDXF.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "draft-object-batch-cross",
"result": {
"cmd": "draft.pythonFamilyBatch",
"count": 1,
"module": "Draft",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Binding",
"code": "method_evidence_pending",
"family": "property",
"message": "Draft Python API has no method-level readonly native evidence",
"name": "ViewProviderLabel.update_label",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_label.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-draft/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-3-stateful"
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "invalid",
"error": {
"code": "invalid_request",
"message": "Draft Python family envelope is invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "draft-family-cancel-1",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "draft-object-batch-reset"
},
"traceSha256": "c12ad042bff3208cb7fd9240d4579660572b12296f4a9724c6474efeb25c3381"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 5
},
"records": [
{
"apiId": "py:Draft:method:ViewProviderLabel.update_label",
"name": "ViewProviderLabel.update_label",
"family": "property",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_label.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "923566f7559e43e8fca97df6fb48bc33daeb6dbf317425977e818fb241e91342"
},
{
"apiId": "py:Draft:method:ViewProviderLayer.set_properties",
"name": "ViewProviderLayer.set_properties",
"family": "property",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_layer.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "d8bedcedd3431cf191fcbe01420baa4886a2b8bd2d785f9ec198d42b6b010639"
},
{
"apiId": "py:Draft:method:ViewProviderLayerContainer.merge_by_name",
"name": "ViewProviderLayerContainer.merge_by_name",
"family": "property",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_layer.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "1d7cb8fc11795116c4651167e34224fa8fd8726ff8f721322233a90d53f85123"
},
{
"apiId": "py:Draft:method:ViewProviderText.set_text_properties",
"name": "ViewProviderText.set_text_properties",
"family": "property",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/draftviewproviders/view_text.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "529c44edda453a9dcdebd6b76a74d24dcd62b5061b9934d08804656903a99669"
},
{
"apiId": "py:Draft:function:rawValue",
"name": "rawValue",
"family": "property",
"status": "not_implemented",
"code": "method_evidence_pending",
"message": "Draft Python API has no method-level readonly native evidence",
"sourceEntry": "src/Mod/Draft/importDXF.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "0f0170c1037f5f44634c6cdd37c6c5ebcb857f870da074a64c013a4509f85ce5"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"module": "Draft",
"worker": "draft.worker.ts",
"revision": "3068b5be7492250f",
"runtimeUrl": "/kernel/FreeCADWebDraftRuntimeProbe.js",
"wasmUrl": "/kernel/FreeCADWebDraftRuntimeProbe.wasm",
"dataUrl": null,
"assetBaseUrl": "/kernel/",
"buildProfile": "fast-dev",
"runtimeSha256": "df3897c5ba77c7724152c1855c33bfc3f08e225ea8c6b37fddbd87cd60eb997c",
"wasmSha256": "3068b5be7492250fedb71d5f335367f7376a8ed3a2d09164c98edfb98af32d00"
},
"boundaries": [
"Draft functions are executed from embedded official FreeCAD Python source by the native dispatcher.",
"All statuses, values and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
]
}