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

619 lines
24 KiB
JSON

{
"schema": "freecad-web-p6-part-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "adc86981f6591669efb4c73c",
"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::Helix",
"name": "Part::Helix",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/PrimitiveFeature.h",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::Spiral",
"name": "Part::Spiral",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/PrimitiveFeature.h",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::Ellipse",
"name": "Part::Ellipse",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/PrimitiveFeature.h",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::PrismExtension",
"name": "Part::PrismExtension",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/PrismExtension.h",
"disposition": "planned"
},
{
"apiId": "obj:Part:Part::PropertyGeometryList",
"name": "Part::PropertyGeometryList",
"family": "generic-document-object",
"sourcePath": "src/Mod/Part/App/PropertyGeometryList.cpp",
"disposition": "planned"
}
]
}
},
"inputSha256": "697d8052f5643847025b47714b858daf55f46ace3da66183de94ff4b6fe09e20",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 5,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "obj:Part:Part::Helix",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Helix",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Helix",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Wire",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::Spiral",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Spiral",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Spiral",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Wire",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::Ellipse",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Ellipse",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Ellipse",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Edge",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::PrismExtension",
"code": "native_fixture_error",
"family": "generic-document-object",
"message": "Part.PrismExtension is a document-object extension, not a standalone object",
"name": "Part::PrismExtension",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract-error",
"resourcesReleased": true,
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrismExtension.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::PropertyGeometryList",
"code": "native_fixture_error",
"family": "generic-document-object",
"message": "Part.PropertyGeometryList is a property value type, not a document object",
"name": "Part::PropertyGeometryList",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract-error",
"resourcesReleased": true,
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PropertyGeometryList.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
},
"resultSha256": "f72942112cc9e0943e704be24ef4306fbcb09ebff37b2c0ecb1e3562200afb44",
"replay": {
"equal": true,
"resultSha256": "f72942112cc9e0943e704be24ef4306fbcb09ebff37b2c0ecb1e3562200afb44"
},
"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": 5,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "obj:Part:Part::Helix",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Helix",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Helix",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Wire",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::Spiral",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Spiral",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Spiral",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Wire",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::Ellipse",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Ellipse",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Ellipse",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Edge",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::PrismExtension",
"code": "native_fixture_error",
"family": "generic-document-object",
"message": "Part.PrismExtension is a document-object extension, not a standalone object",
"name": "Part::PrismExtension",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract-error",
"resourcesReleased": true,
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrismExtension.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::PropertyGeometryList",
"code": "native_fixture_error",
"family": "generic-document-object",
"message": "Part.PropertyGeometryList is a property value type, not a document object",
"name": "Part::PropertyGeometryList",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract-error",
"resourcesReleased": true,
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PropertyGeometryList.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": 5,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "obj:Part:Part::Helix",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Helix",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Helix",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Wire",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::Spiral",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Spiral",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Spiral",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Wire",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::Ellipse",
"code": "native_fixture",
"family": "generic-document-object",
"message": "Official Part object type registration and native contract replay passed",
"name": "Part::Ellipse",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Ellipse",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Edge",
"volume": 0
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Part:Part::PrismExtension",
"code": "native_fixture_error",
"family": "generic-document-object",
"message": "Part.PrismExtension is a document-object extension, not a standalone object",
"name": "Part::PrismExtension",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract-error",
"resourcesReleased": true,
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PrismExtension.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "obj:Part:Part::PropertyGeometryList",
"code": "native_fixture_error",
"family": "generic-document-object",
"message": "Part.PropertyGeometryList is a property value type, not a document object",
"name": "Part::PropertyGeometryList",
"native": true,
"parameterSchema": "native object registration/create/recompute contract",
"replay": "native-source-object-contract-error",
"resourcesReleased": true,
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Part/App/PropertyGeometryList.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::Helix",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"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": "2c7bf97893a06126b6dc7ff38c2ec7ddaf840c36e8f04ac4ff73dd5a089a75c4"
},
"dispositionCounts": {
"exposed": 3,
"restricted": 0,
"nonportable": 0,
"not_implemented": 2
},
"records": [
{
"apiId": "obj:Part:Part::Helix",
"name": "Part::Helix",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native object registration/create/recompute contract",
"returnSchema": "object-contract result",
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Helix",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Wire",
"volume": 0
},
"evidenceSha256": "e2a9c0d18b591851ebc5ee3758617ad9e671417a3912cf785714ed349bf685eb"
},
{
"apiId": "obj:Part:Part::Spiral",
"name": "Part::Spiral",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native object registration/create/recompute contract",
"returnSchema": "object-contract result",
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Spiral",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Wire",
"volume": 0
},
"evidenceSha256": "e6e2b3ef817163fd1bf7b19883e48e8976d32cddde5a732928caaae5f87e211c"
},
{
"apiId": "obj:Part:Part::Ellipse",
"name": "Part::Ellipse",
"sourceEntry": "src/Mod/Part/App/PrimitiveFeature.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"code": "native_fixture",
"parameterSchema": "native object registration/create/recompute contract",
"returnSchema": "object-contract result",
"result": {
"documentObject": true,
"documentObjects": 1,
"objectType": "Part::Ellipse",
"propertyBound": true,
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"shapeType": "Edge",
"volume": 0
},
"evidenceSha256": "606fa4f27b5c5b0cb8d50d6b9996480f6b1125a8313bf4e3a0ca388ae40ac90c"
},
{
"apiId": "obj:Part:Part::PrismExtension",
"name": "Part::PrismExtension",
"sourceEntry": "src/Mod/Part/App/PrismExtension.h",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "native_fixture_error",
"parameterSchema": "native object registration/create/recompute contract",
"returnSchema": "object-contract result",
"evidenceSha256": "4a027c6fcebdf2c23b5c64081b474a1ed9dffcb93ef1ac713dd2ff315351875e"
},
{
"apiId": "obj:Part:Part::PropertyGeometryList",
"name": "Part::PropertyGeometryList",
"sourceEntry": "src/Mod/Part/App/PropertyGeometryList.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "native_fixture_error",
"parameterSchema": "native object registration/create/recompute contract",
"returnSchema": "object-contract result",
"evidenceSha256": "1ea70a67b4c5bb9dd50f52f4eab89866c96f400b90fee888cdb91162ce1a93e6"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false,
"makerFixturesClosed": true
},
"evidence": {
"path": "docs/p6/part-module-batch-adc86981f6591669efb4c73c-runtime.json",
"log": "docs/freecad-p6-part-module-batch-adc86981f6591669efb4c73c.log"
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebPartBoxProbe.wasm",
"sha256": "08eb7e1cee36dd3fed60f1574fac16e57e0c598ecc42e91c59f259be0c24dc70"
},
"loader": {
"path": "web/public/kernel/FreeCADWebPartBoxProbe.js",
"sha256": "9c90be96c67ff1a6fb21c13e353013609dde395407a6505cdb0201bc21ffd0da"
}
},
"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."
]
}