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

941 lines
38 KiB
JSON

{
"schema": "freecad-web-p6-part-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "0087e53f584ac74fa31847b5",
"module": "Part",
"tier": "tier-2-pure",
"family": "generic-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": "tier-2-pure",
"records": [
{
"apiId": "py:Part:method:Curve2d.tangent",
"name": "Curve2d.tangent",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.normal",
"name": "Curve2d.normal",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.curvature",
"name": "Curve2d.curvature",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.centerOfCurvature",
"name": "Curve2d.centerOfCurvature",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.intersectCC",
"name": "Curve2d.intersectCC",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.toBSpline",
"name": "Curve2d.toBSpline",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.approximateBSpline",
"name": "Curve2d.approximateBSpline",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.mirror",
"name": "Geometry2d.mirror",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.rotate",
"name": "Geometry2d.rotate",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.scale",
"name": "Geometry2d.scale",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.transform",
"name": "Geometry2d.transform",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.translate",
"name": "Geometry2d.translate",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "8fda337b67ece7dde085daf27ea55f88abe4b52a0b12faffd3af99480687b63d",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 12,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "py:Part:method:Curve2d.tangent",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.tangent",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.normal",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.normal",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.curvature",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.curvature",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.centerOfCurvature",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.centerOfCurvature",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.intersectCC",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.intersectCC",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.toBSpline",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.toBSpline",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.approximateBSpline",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.approximateBSpline",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.mirror",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.mirror",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.rotate",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.rotate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.scale",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.scale",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.transform",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.transform",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.translate",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.translate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "a82e5b5b1a1e060a67e606d15e5efaa24276f69c2f12a1dc01106f5d88f45a31",
"replay": {
"equal": true,
"projectionSha256": "e8072b6d7c27c27a546c6c35ef3041454acf4015b43773fddcdaee8a3ca931bf",
"resultSha256": "a82e5b5b1a1e060a67e606d15e5efaa24276f69c2f12a1dc01106f5d88f45a31",
"boundary": null
},
"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": 12,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "py:Part:method:Curve2d.tangent",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.tangent",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.normal",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.normal",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.curvature",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.curvature",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.centerOfCurvature",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.centerOfCurvature",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.intersectCC",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.intersectCC",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.toBSpline",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.toBSpline",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.approximateBSpline",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.approximateBSpline",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.mirror",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.mirror",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.rotate",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.rotate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.scale",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.scale",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.transform",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.transform",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.translate",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.translate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "part-module-batch-repeat",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 12,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "py:Part:method:Curve2d.tangent",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.tangent",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.normal",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.normal",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.curvature",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.curvature",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.centerOfCurvature",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.centerOfCurvature",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.intersectCC",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.intersectCC",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.toBSpline",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.toBSpline",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.approximateBSpline",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.approximateBSpline",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.mirror",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.mirror",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.rotate",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.rotate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.scale",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.scale",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.transform",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.transform",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:Geometry2d.translate",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Geometry2d.translate",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"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-object",
"message": "Part API record is not part of this module-scoped adapter",
"name": "Curve2d.tangent",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
}
},
"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": "383746150f15a74157c020d8939f665973468f794cf678af49d312ca8edc69da"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 12
},
"records": [
{
"apiId": "py:Part:method:Curve2d.tangent",
"name": "Curve2d.tangent",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "ac10b40d9652f0147bb4046d39cd062f7e5355460c2223e879aafaa108b54a3d"
},
{
"apiId": "py:Part:method:Curve2d.normal",
"name": "Curve2d.normal",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "9557444b7094387504ac33afb3b71a6ef5741cb9577098576bfb6b18e9a7cd55"
},
{
"apiId": "py:Part:method:Curve2d.curvature",
"name": "Curve2d.curvature",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "e0b649cae32c601a7774970b2f56d0b7186d3a305544449cb99f8e49a3b2f2bf"
},
{
"apiId": "py:Part:method:Curve2d.centerOfCurvature",
"name": "Curve2d.centerOfCurvature",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "e17083cacba1e81ea73f0434ba80040d33b93ef1c0c05877824aab1dc79e8d04"
},
{
"apiId": "py:Part:method:Curve2d.intersectCC",
"name": "Curve2d.intersectCC",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "d4f3c81a71e90dba85cb635a3154785bb58d2737f91737d756bd516ff1a0069e"
},
{
"apiId": "py:Part:method:Curve2d.toBSpline",
"name": "Curve2d.toBSpline",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "fe4e444d4a8d74a5f8988e6b5036dcbcdad7624f6fc011284c5cd5df8864743b"
},
{
"apiId": "py:Part:method:Curve2d.approximateBSpline",
"name": "Curve2d.approximateBSpline",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "789832647cc911f82963df1dc8844e59cdc66422e3f73a80904e6fc9948298e5"
},
{
"apiId": "py:Part:method:Geometry2d.mirror",
"name": "Geometry2d.mirror",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "3f24ebe61d69fdcb97d6115fb52216ce7c75413889c63a1f2f0143ffd30f1f04"
},
{
"apiId": "py:Part:method:Geometry2d.rotate",
"name": "Geometry2d.rotate",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "f593a12def8824575bc31eb1cc56f2e2240371b0ac0e3a09869e259c9f145e94"
},
{
"apiId": "py:Part:method:Geometry2d.scale",
"name": "Geometry2d.scale",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "62c669bdf0cf3943a11b17396d945a87bc48b13db20019292ff0c85f4544190a"
},
{
"apiId": "py:Part:method:Geometry2d.transform",
"name": "Geometry2d.transform",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "c7254c94daa4b957f9e11a55e5061461939a9bac7071ebaae8b5a5e38872ab75"
},
{
"apiId": "py:Part:method:Geometry2d.translate",
"name": "Geometry2d.translate",
"sourceEntry": "src/Mod/Part/App/Geom2d/Geometry2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "68b4ba41084cd9031afef94f8aab012db0b26d3fdba9fad0d3532663fdfbfb42"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false,
"makerFixturesClosed": true
},
"evidence": {
"path": "docs/p6/part-module-batch-0087e53f584ac74fa31847b5-runtime.json",
"log": "docs/freecad-p6-part-module-batch-0087e53f584ac74fa31847b5.log"
},
"moduleArtifact": {
"module": "Part",
"worker": "part.worker.ts",
"revision": "3780ec6e6be0476c",
"moduleRevision": "01f2bf01f4aabc24",
"runtimeUrl": "/kernel/FreeCADWebPartBoxProbe.js",
"wasmUrl": "/kernel/FreeCADWebPartBoxProbe.wasm",
"dataUrl": null,
"assetBaseUrl": "/kernel/",
"profile": "fast-dev"
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebPartBoxProbe.wasm",
"sha256": "3780ec6e6be0476c950be929edc952786d48808e4f84201659fa9ecbbb4d8639"
},
"loader": {
"path": "web/public/kernel/FreeCADWebPartBoxProbe.js",
"sha256": "da63714d5a333957e1b04dbffef4e947a6de7c9496a5a69e8ffbd1b9ad690ecc"
}
},
"boundaries": [
"Part.makeBoreHole remains a GUI restricted boundary because the official source unconditionally imports and uses FreeCADGui.",
"Any non-exposed record retains its native error or portability boundary; the gate does not fabricate a JavaScript result.",
"All statuses, values and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
]
}