Files
FreeCADWasmDev/docs/p6/sketcher-module-batch-5f77f3aca8e66e65e76c3d5a-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

592 lines
22 KiB
JSON

{
"schema": "freecad-web-sketcher-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "5f77f3aca8e66e65e76c3d5a",
"module": "Sketcher",
"tier": "object-contract",
"family": "geometry-recompute",
"status": "pass_with_boundaries",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"route": {
"command": "sketcher.pythonFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/SketcherProbe.cpp:fc_web_dispatch_json",
"facade": "web/src/sketcher-python-family-facade.ts",
"worker": "web/src/sketcher-python.worker.ts"
},
"input": {
"cmd": "sketcher.pythonFamilyBatch",
"args": {
"tier": "object-contract",
"records": [
{
"apiId": "obj:Sketcher:Sketcher::Constraint",
"name": "Sketcher::Constraint",
"family": "geometry-recompute",
"sourcePath": "src/Mod/Sketcher/App/Constraint.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryExtension",
"name": "Sketcher::ExternalGeometryExtension",
"family": "geometry-recompute",
"sourcePath": "src/Mod/Sketcher/App/ExternalGeometryExtension.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryFacade",
"name": "Sketcher::ExternalGeometryFacade",
"family": "geometry-recompute",
"sourcePath": "src/Mod/Sketcher/App/ExternalGeometryFacade.cpp",
"disposition": "planned"
},
{
"apiId": "obj:Sketcher:Sketcher::GeometryFacade",
"name": "Sketcher::GeometryFacade",
"family": "geometry-recompute",
"sourcePath": "src/Mod/Sketcher/App/GeometryFacade.cpp",
"disposition": "planned"
}
]
}
},
"inputSha256": "20286b38049f665c203a0f8016d034e33d3a2f47ff95e18e9e640954568cbbd7",
"result": {
"cmd": "sketcher.pythonFamilyBatch",
"count": 4,
"module": "Sketcher",
"ok": true,
"records": [
{
"apiId": "obj:Sketcher:Sketcher::Constraint",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native Constraint construction and property contract passed",
"name": "Sketcher::Constraint",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"constraintType": "Horizontal",
"created": true,
"documentObjects": 0,
"geometryId": 0,
"objectType": "Sketcher::Constraint",
"recomputeHasError": false,
"recomputed": true,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/Constraint.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryExtension",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native ExternalGeometryExtension construction and property contract passed",
"name": "Sketcher::ExternalGeometryExtension",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"created": true,
"defining": true,
"documentObjects": 0,
"objectType": "Sketcher::ExternalGeometryExtension",
"recomputeHasError": false,
"recomputed": true,
"reference": "Edge1",
"referenceIndex": 1,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryExtension.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryFacade",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native ExternalGeometryFacade construction and property contract passed",
"name": "Sketcher::ExternalGeometryFacade",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"construction": true,
"created": true,
"documentObjects": 0,
"geometryId": 4,
"objectType": "Sketcher::ExternalGeometryFacade",
"recomputeHasError": false,
"recomputed": true,
"reference": "Edge1",
"referenceIndex": 1,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::GeometryFacade",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native GeometryFacade construction and property contract passed",
"name": "Sketcher::GeometryFacade",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"construction": true,
"created": true,
"documentObjects": 0,
"geometryId": 5,
"geometryType": "Part::GeomLineSegment",
"objectType": "Sketcher::GeometryFacade",
"recomputeHasError": false,
"recomputed": true,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sketcher/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
},
"resultSha256": "5c3ce6530d2b221c60ce1f8e2bcdb438d2ecd3bc0b3cf0df69c48ad962509713",
"replay": {
"equal": true,
"resultSha256": "5c3ce6530d2b221c60ce1f8e2bcdb438d2ecd3bc0b3cf0df69c48ad962509713"
},
"facadeWorker": {
"ready": {
"kind": "ready",
"action": "sketcher.pythonFamilyBatch"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-object-batch-success",
"result": {
"cmd": "sketcher.pythonFamilyBatch",
"count": 4,
"module": "Sketcher",
"ok": true,
"records": [
{
"apiId": "obj:Sketcher:Sketcher::Constraint",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native Constraint construction and property contract passed",
"name": "Sketcher::Constraint",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"constraintType": "Horizontal",
"created": true,
"documentObjects": 0,
"geometryId": 0,
"objectType": "Sketcher::Constraint",
"recomputeHasError": false,
"recomputed": true,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/Constraint.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryExtension",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native ExternalGeometryExtension construction and property contract passed",
"name": "Sketcher::ExternalGeometryExtension",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"created": true,
"defining": true,
"documentObjects": 0,
"objectType": "Sketcher::ExternalGeometryExtension",
"recomputeHasError": false,
"recomputed": true,
"reference": "Edge1",
"referenceIndex": 1,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryExtension.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryFacade",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native ExternalGeometryFacade construction and property contract passed",
"name": "Sketcher::ExternalGeometryFacade",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"construction": true,
"created": true,
"documentObjects": 0,
"geometryId": 4,
"objectType": "Sketcher::ExternalGeometryFacade",
"recomputeHasError": false,
"recomputed": true,
"reference": "Edge1",
"referenceIndex": 1,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::GeometryFacade",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native GeometryFacade construction and property contract passed",
"name": "Sketcher::GeometryFacade",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"construction": true,
"created": true,
"documentObjects": 0,
"geometryId": 5,
"geometryType": "Part::GeomLineSegment",
"objectType": "Sketcher::GeometryFacade",
"recomputeHasError": false,
"recomputed": true,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sketcher/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-object-batch-repeat",
"result": {
"cmd": "sketcher.pythonFamilyBatch",
"count": 4,
"module": "Sketcher",
"ok": true,
"records": [
{
"apiId": "obj:Sketcher:Sketcher::Constraint",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native Constraint construction and property contract passed",
"name": "Sketcher::Constraint",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"constraintType": "Horizontal",
"created": true,
"documentObjects": 0,
"geometryId": 0,
"objectType": "Sketcher::Constraint",
"recomputeHasError": false,
"recomputed": true,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/Constraint.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryExtension",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native ExternalGeometryExtension construction and property contract passed",
"name": "Sketcher::ExternalGeometryExtension",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"created": true,
"defining": true,
"documentObjects": 0,
"objectType": "Sketcher::ExternalGeometryExtension",
"recomputeHasError": false,
"recomputed": true,
"reference": "Edge1",
"referenceIndex": 1,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryExtension.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryFacade",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native ExternalGeometryFacade construction and property contract passed",
"name": "Sketcher::ExternalGeometryFacade",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"construction": true,
"created": true,
"documentObjects": 0,
"geometryId": 4,
"objectType": "Sketcher::ExternalGeometryFacade",
"recomputeHasError": false,
"recomputed": true,
"reference": "Edge1",
"referenceIndex": 1,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
},
{
"apiId": "obj:Sketcher:Sketcher::GeometryFacade",
"code": "native_fixture",
"family": "geometry-recompute",
"message": "native GeometryFacade construction and property contract passed",
"name": "Sketcher::GeometryFacade",
"native": true,
"parameterSchema": "native object construction/property contract",
"replay": "native-source-object-contract",
"resourcesReleased": true,
"result": {
"construction": true,
"created": true,
"documentObjects": 0,
"geometryId": 5,
"geometryType": "Part::GeomLineSegment",
"objectType": "Sketcher::GeometryFacade",
"recomputeHasError": false,
"recomputed": true,
"registered": true
},
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sketcher/python-family-batch/v1",
"source": "freecad-source",
"tier": "object-contract"
}
},
"crossModule": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-object-batch-cross",
"result": {
"cmd": "sketcher.pythonFamilyBatch",
"count": 1,
"module": "Sketcher",
"ok": true,
"records": [
{
"apiId": "obj:BIM:Sketcher::Constraint",
"code": "unmatched_source_record",
"family": "geometry-recompute",
"message": "Sketcher object record is not part of this module-scoped adapter",
"name": "Sketcher::Constraint",
"native": true,
"parameterSchema": "native object construction/property contract",
"resourcesReleased": true,
"returnSchema": "object-contract result",
"sourceEntry": "src/Mod/Sketcher/App/Constraint.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-sketcher/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": "Sketcher Python family envelope is invalid"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-family-cancel-1",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "sketcher-object-batch-reset"
},
"traceSha256": "10b71643ca8b0cf3eba17a79877aab8c5422384ac267576b91cb32047739635f"
},
"dispositionCounts": {
"exposed": 4,
"restricted": 0,
"nonportable": 0,
"not_implemented": 0
},
"records": [
{
"apiId": "obj:Sketcher:Sketcher::Constraint",
"name": "Sketcher::Constraint",
"status": "exposed",
"code": "native_fixture",
"message": "native Constraint construction and property contract passed",
"result": {
"constraintType": "Horizontal",
"created": true,
"documentObjects": 0,
"geometryId": 0,
"objectType": "Sketcher::Constraint",
"recomputeHasError": false,
"recomputed": true,
"registered": true
},
"sourceEntry": "src/Mod/Sketcher/App/Constraint.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "1f6ed99facdbaab78958537417ce65f87cc242d33992f310c55b139fcae46a98"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryExtension",
"name": "Sketcher::ExternalGeometryExtension",
"status": "exposed",
"code": "native_fixture",
"message": "native ExternalGeometryExtension construction and property contract passed",
"result": {
"created": true,
"defining": true,
"documentObjects": 0,
"objectType": "Sketcher::ExternalGeometryExtension",
"recomputeHasError": false,
"recomputed": true,
"reference": "Edge1",
"referenceIndex": 1,
"registered": true
},
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryExtension.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "0d8529357696350d660e1ec7636d3f7afe6f2cf721ea742cbbafeafd8ccb967a"
},
{
"apiId": "obj:Sketcher:Sketcher::ExternalGeometryFacade",
"name": "Sketcher::ExternalGeometryFacade",
"status": "exposed",
"code": "native_fixture",
"message": "native ExternalGeometryFacade construction and property contract passed",
"result": {
"construction": true,
"created": true,
"documentObjects": 0,
"geometryId": 4,
"objectType": "Sketcher::ExternalGeometryFacade",
"recomputeHasError": false,
"recomputed": true,
"reference": "Edge1",
"referenceIndex": 1,
"registered": true
},
"sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "301bf4675f1242b292c8a61f865804c80c6371643b122e8ec3b85e070108ee20"
},
{
"apiId": "obj:Sketcher:Sketcher::GeometryFacade",
"name": "Sketcher::GeometryFacade",
"status": "exposed",
"code": "native_fixture",
"message": "native GeometryFacade construction and property contract passed",
"result": {
"construction": true,
"created": true,
"documentObjects": 0,
"geometryId": 5,
"geometryType": "Part::GeomLineSegment",
"objectType": "Sketcher::GeometryFacade",
"recomputeHasError": false,
"recomputed": true,
"registered": true
},
"sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.cpp",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"evidenceSha256": "83c498200c9f9805292131cdd9609bf3c7fea8a00441d4eedd64d0e527c8273e"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebSketcherProbe.wasm",
"sha256": "41ff15b33adaf359bfff2a0c9fdb85591743adaaed7f54c7e499cd376d123b77"
},
"loader": {
"path": "web/public/kernel/FreeCADWebSketcherProbe.js",
"sha256": "540e122453f6701d3f299c242f456e04a46eecb4f3ab4a2b942d2e32dc0791be"
}
},
"boundaries": [
"The four selected geometry-recompute records use native C++ construction/property fixtures without document mutation.",
"All statuses, values and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
]
}