Files
FreeCADWasmDev/docs/p6/part-module-batch-7d5d19212e9bc94ee3424d61-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

652 lines
26 KiB
JSON

{
"schema": "freecad-web-p6-part-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "7d5d19212e9bc94ee3424d61",
"module": "Part",
"tier": "object-contract",
"family": "generic-document-object",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"command": "part.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/PartBoxProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/part-python-family-facade.ts",
"worker": "web/src/part.worker.ts"
},
"input": {
"cmd": "part.pythonFamilyBatch",
"args": {
"schema": "freecad-web-part/python-family-batch/v1",
"module": "Part",
"tier": "object-contract",
"records": [
{
"apiId": "obj:Part:Part::GeomCone",
"name": "Part::GeomCone",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/Geometry.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::GeomToroid",
"name": "Part::GeomToroid",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/Geometry.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::GeomPlane",
"name": "Part::GeomPlane",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/Geometry.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::Geom2dBezierCurve",
"name": "Part::Geom2dBezierCurve",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/Geometry2d.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::Geom2dBSplineCurve",
"name": "Part::Geom2dBSplineCurve",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/Geometry2d.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::Geom2dCircle",
"name": "Part::Geom2dCircle",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/Geometry2d.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::Geom2dArcOfCircle",
"name": "Part::Geom2dArcOfCircle",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/Geometry2d.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::Geom2dEllipse",
"name": "Part::Geom2dEllipse",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/Geometry2d.cpp",
"disposition": "planned"
}
]
}
},
"inputSha256": "ff24fc1595844980db7ffffc5091a502c82d82bf55e163412d4ef1550107c1bf",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 8,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "obj:Part:Part::GeomCone",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomCone",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::GeomToroid",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomToroid",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::GeomPlane",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomPlane",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dBezierCurve",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dBezierCurve",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dBSplineCurve",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dBSplineCurve",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dCircle",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dCircle",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dArcOfCircle",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dArcOfCircle",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dEllipse",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dEllipse",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
},
"resultSha256": "96f791782f331c96a50912ab077d6eabaeacac21c5ade20e977bb12e000f28da",
"replay": {
"equal": true,
"resultSha256": "96f791782f331c96a50912ab077d6eabaeacac21c5ade20e977bb12e000f28da"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "part.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "part-module-batch-success",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 8,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "obj:Part:Part::GeomCone",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomCone",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::GeomToroid",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomToroid",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::GeomPlane",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomPlane",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dBezierCurve",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dBezierCurve",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dBSplineCurve",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dBSplineCurve",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dCircle",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dCircle",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dArcOfCircle",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dArcOfCircle",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dEllipse",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dEllipse",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "part-module-batch-repeat",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 8,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "obj:Part:Part::GeomCone",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomCone",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::GeomToroid",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomToroid",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::GeomPlane",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::GeomPlane",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dBezierCurve",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dBezierCurve",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dBSplineCurve",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dBSplineCurve",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dCircle",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dCircle",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dArcOfCircle",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dArcOfCircle",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::Geom2dEllipse",
"code": "method_evidence_pending",
"family": "generic-document-object",
"message": "Part Python API has no method-level readonly native argument/return evidence",
"name": "Part::Geom2dEllipse",
"native": true,
"parameterSchema": "source-declared",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "part-module-batch-cross",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 1,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "py:BIM:class:Binding",
"code": "unmatched_source_record",
"family": "generic-document-object",
"message": "Part API record is not part of this module-scoped adapter",
"name": "Part::GeomCone",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "invalid",
"error": {
"code": "invalid_request",
"message": "Part Python family envelope is invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "part-module-batch-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"traceSha256": "fa0494fb87fd550f17ea6639bae05c01ddf8d0e7347110f7d1646300a9e60283"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 8
},
"records": [
{
"apiId": "obj:Part:Part::GeomCone",
"name": "Part::GeomCone",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "9a76c219931251020381b6a6beafb22c45ee3b78e16d8b414a0f9a70693982e9"
},
{
"apiId": "obj:Part:Part::GeomToroid",
"name": "Part::GeomToroid",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "3d9ac8c9ed22b40f8e396d0f6d9d72c8c5bfe16643909c2eef26bdfdde1cbcae"
},
{
"apiId": "obj:Part:Part::GeomPlane",
"name": "Part::GeomPlane",
"sourceEntry": "src/Mod/Part/App/Geometry.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "62966e61c144e1564773a43a44300ca4159be3c011ac3be2441e225021a273b7"
},
{
"apiId": "obj:Part:Part::Geom2dBezierCurve",
"name": "Part::Geom2dBezierCurve",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "df0877d385dac3eeb98123ce630e632e1b352ded397c4ea94bfcb42f3edda044"
},
{
"apiId": "obj:Part:Part::Geom2dBSplineCurve",
"name": "Part::Geom2dBSplineCurve",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "4767908027a31244302bf1e7be76c8c24c16d054d36834a9fd7332639d862718"
},
{
"apiId": "obj:Part:Part::Geom2dCircle",
"name": "Part::Geom2dCircle",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "fd61552fb20baf9ce07a35b53f6cb93331cee962dd14c591a270191bfe441a55"
},
{
"apiId": "obj:Part:Part::Geom2dArcOfCircle",
"name": "Part::Geom2dArcOfCircle",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "2dc14c7715cf00a630746f221a5d6e0c9b4d9d699be63307b1b7896594c8c46d"
},
{
"apiId": "obj:Part:Part::Geom2dEllipse",
"name": "Part::Geom2dEllipse",
"sourceEntry": "src/Mod/Part/App/Geometry2d.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "method_evidence_pending",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "d68b46fd4f7bbb693a7cb240628a701fb3bfec3582e2e87eceeebec9debf9d04"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false,
"makerFixturesClosed": true
},
"evidence": {
"path": "docs/p6/part-module-batch-7d5d19212e9bc94ee3424d61-runtime.json",
"log": "docs/freecad-p6-part-module-batch-7d5d19212e9bc94ee3424d61.log"
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebPartBoxProbe.wasm",
"sha256": "612f78d3d8c4236afe858241cc8c09531fc47ca033c40d0d3b433ddfa4e503ef"
},
"loader": {
"path": "web/public/kernel/FreeCADWebPartBoxProbe.js",
"sha256": "22ad95c9c6245a41741db75f456b1d646357ab8d38fd0a59362cc75e5ecc720d"
}
},
"boundaries": [
"Part.makeBoreHole remains a GUI restricted boundary because the official source unconditionally imports and uses FreeCADGui.",
"Part.makeBottle remains not_implemented with source_execution_timeout because the official OCC fillet/thickness/thread fixture exceeds the bounded Web execution window; create_test_file retains its native source compatibility error without a fabricated result.",
"All statuses, values and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
]
}