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

1058 lines
43 KiB
JSON

{
"schema": "freecad-web-p6-part-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "d90846de6e271393d6e6a579",
"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:BSplineCurve2d.makeC1Continuous",
"name": "BSplineCurve2d.makeC1Continuous",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:BezierCurve2d.increase",
"name": "BezierCurve2d.increase",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleAfter",
"name": "BezierCurve2d.insertPoleAfter",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleBefore",
"name": "BezierCurve2d.insertPoleBefore",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:BezierCurve2d.removePole",
"name": "BezierCurve2d.removePole",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:BezierCurve2d.segment",
"name": "BezierCurve2d.segment",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPole",
"name": "BezierCurve2d.setPole",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPoles",
"name": "BezierCurve2d.setPoles",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:BezierCurve2d.setWeight",
"name": "BezierCurve2d.setWeight",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.reverse",
"name": "Curve2d.reverse",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.discretize",
"name": "Curve2d.discretize",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:Curve2d.length",
"name": "Curve2d.length",
"family": "generic-object",
"sourcePath": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "3eefbbc11b343637b3481b0c74d337a2a7485dddab5ec41a2990939af565a8f8",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 12,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "py:Part:method:BSplineCurve2d.makeC1Continuous",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BSplineCurve2d.makeC1Continuous",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BSplineCurve2d",
"value": "source-declared:BSplineCurve2d.makeC1Continuous"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.increase",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.increase",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.increase"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleAfter",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.insertPoleAfter",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.insertPoleAfter"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleBefore",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.insertPoleBefore",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.insertPoleBefore"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.removePole",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.removePole",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.removePole"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.segment",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.segment",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.segment"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPole",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setPole",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setPole"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPoles",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setPoles",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setPoles"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setWeight",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setWeight",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setWeight"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:Curve2d.reverse",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.reverse",
"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.discretize",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.discretize",
"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.length",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.length",
"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"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "3bf724d063adce3552817d40c0eb66d9a125f24c7421869193958ff81710c876",
"replay": {
"equal": true,
"projectionSha256": "4d791d96961a3ee4aea14ca4f346b9dd18d070b86cced0da72bb657925c869d7",
"resultSha256": "3bf724d063adce3552817d40c0eb66d9a125f24c7421869193958ff81710c876",
"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:BSplineCurve2d.makeC1Continuous",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BSplineCurve2d.makeC1Continuous",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BSplineCurve2d",
"value": "source-declared:BSplineCurve2d.makeC1Continuous"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.increase",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.increase",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.increase"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleAfter",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.insertPoleAfter",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.insertPoleAfter"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleBefore",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.insertPoleBefore",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.insertPoleBefore"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.removePole",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.removePole",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.removePole"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.segment",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.segment",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.segment"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPole",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setPole",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setPole"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPoles",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setPoles",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setPoles"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setWeight",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setWeight",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setWeight"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:Curve2d.reverse",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.reverse",
"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.discretize",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.discretize",
"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.length",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.length",
"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"
}
],
"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:BSplineCurve2d.makeC1Continuous",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BSplineCurve2d.makeC1Continuous",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BSplineCurve2d",
"value": "source-declared:BSplineCurve2d.makeC1Continuous"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.increase",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.increase",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.increase"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleAfter",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.insertPoleAfter",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.insertPoleAfter"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleBefore",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.insertPoleBefore",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.insertPoleBefore"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.removePole",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.removePole",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.removePole"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.segment",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.segment",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.segment"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPole",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setPole",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setPole"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPoles",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setPoles",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setPoles"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:BezierCurve2d.setWeight",
"code": "native_fixture",
"family": "generic-object",
"message": "Official Part generic readonly source replay passed",
"name": "BezierCurve2d.setWeight",
"native": true,
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"resourcesReleased": true,
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setWeight"
},
"returnSchema": "source-declared readonly value",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "py:Part:method:Curve2d.reverse",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.reverse",
"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.discretize",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.discretize",
"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.length",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "Curve2d.length",
"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"
}
],
"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": "BSplineCurve2d.makeC1Continuous",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Part/App/Geom2d/BSplineCurve2d.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": "896d9909b8c944ea47a1f892d08dca5320b0c08e26d1d93e949613d74e7e3090"
},
"dispositionCounts": {
"exposed": 9,
"restricted": 0,
"nonportable": 0,
"not_implemented": 3
},
"records": [
{
"apiId": "py:Part:method:BSplineCurve2d.makeC1Continuous",
"name": "BSplineCurve2d.makeC1Continuous",
"sourceEntry": "src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BSplineCurve2d",
"value": "source-declared:BSplineCurve2d.makeC1Continuous"
},
"evidenceSha256": "042df5a243478e2e6283b996adae34d1b670a8827d8a9ba90f7c83a2be441a33"
},
{
"apiId": "py:Part:method:BezierCurve2d.increase",
"name": "BezierCurve2d.increase",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.increase"
},
"evidenceSha256": "0abd589a0fa06e8c036e662eec1a8e3076aae43b5200e47983bc49d44ebe4d45"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleAfter",
"name": "BezierCurve2d.insertPoleAfter",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.insertPoleAfter"
},
"evidenceSha256": "1046885af4f1ffbe9ec05cc8e75b30dafe150f666adb4881ecb60b8d30842bab"
},
{
"apiId": "py:Part:method:BezierCurve2d.insertPoleBefore",
"name": "BezierCurve2d.insertPoleBefore",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.insertPoleBefore"
},
"evidenceSha256": "55b51ac9f43a3a04f72a8a8f2d1689bfc4818cd746785954ec7077583fcf7fd3"
},
{
"apiId": "py:Part:method:BezierCurve2d.removePole",
"name": "BezierCurve2d.removePole",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.removePole"
},
"evidenceSha256": "e0cc77117a7fc2b911fe5b6bbc0892905111d875852bda13478f2fb8bba652dd"
},
{
"apiId": "py:Part:method:BezierCurve2d.segment",
"name": "BezierCurve2d.segment",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.segment"
},
"evidenceSha256": "f1bc04c9f19f515795bf852aff7dc54456cf5a9e39ebc2ab881fc28be72de181"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPole",
"name": "BezierCurve2d.setPole",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setPole"
},
"evidenceSha256": "bc93865969b575543970f4c10223a3ffc0983d0ebe01a610bd90c90cd87c6c25"
},
{
"apiId": "py:Part:method:BezierCurve2d.setPoles",
"name": "BezierCurve2d.setPoles",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setPoles"
},
"evidenceSha256": "1ee2df6b57f0e023652c421af14271720742778bcbf3ba66b00dd46e4ee13f01"
},
{
"apiId": "py:Part:method:BezierCurve2d.setWeight",
"name": "BezierCurve2d.setWeight",
"sourceEntry": "src/Mod/Part/App/Geom2d/BezierCurve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native FreeCAD Part readonly generic fixture",
"returnSchema": "source-declared readonly value",
"result": {
"nativeType": "BezierCurve2d",
"value": "source-declared:BezierCurve2d.setWeight"
},
"evidenceSha256": "6ba14c36a19f2f4e9a641bea0b16ea414837a9a3e549cc520371304ad791af21"
},
{
"apiId": "py:Part:method:Curve2d.reverse",
"name": "Curve2d.reverse",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "f59bc7caab079441d838b9745fc09867000f891fc450ba3b0ee3ce0a6ca941ff"
},
{
"apiId": "py:Part:method:Curve2d.discretize",
"name": "Curve2d.discretize",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "fbb0f562c4e3c1d9b716893a5d0da793cd514afebce492318011501b47a7c7e6"
},
{
"apiId": "py:Part:method:Curve2d.length",
"name": "Curve2d.length",
"sourceEntry": "src/Mod/Part/App/Geom2d/Curve2d.pyi",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "0c3c87b7a102436b8ea220a25614eafec006549bbbd960bd7b602ae890b1b704"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false,
"makerFixturesClosed": true
},
"evidence": {
"path": "docs/p6/part-module-batch-d90846de6e271393d6e6a579-runtime.json",
"log": "docs/freecad-p6-part-module-batch-d90846de6e271393d6e6a579.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."
]
}