426 lines
14 KiB
JSON
426 lines
14 KiB
JSON
{
|
|
"schema": "freecad-web-p6-sketcher-hexagon-method-runtime/v1",
|
|
"taskId": "FW-P6-FPA-Y",
|
|
"module": "Sketcher",
|
|
"tier": "tier-2-pure",
|
|
"apiId": "py:Sketcher:function:makeHexagonSimple",
|
|
"status": "pass",
|
|
"route": {
|
|
"command": "sketcher.pythonMethod",
|
|
"worker": "web/src/sketcher-python.worker.ts",
|
|
"facade": "web/src/sketcher-python-method-facade.ts",
|
|
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/SketcherProbe.cpp:fc_web_dispatch_json"
|
|
},
|
|
"source": {
|
|
"entry": "src/Mod/Sketcher/ProfileLib/Hexagon.py",
|
|
"revision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"function": "makeHexagonSimple",
|
|
"guiImportBoundary": "top-level FreeCADGui import and command registration are excluded; the official function definition executes unchanged against native App/Sketcher/Part"
|
|
},
|
|
"request": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "request",
|
|
"requestId": "sketcher-hex-success",
|
|
"command": "sketcher.pythonMethod",
|
|
"payload": {
|
|
"schema": "freecad-web-sketcher/python-method/v1",
|
|
"module": "Sketcher",
|
|
"tier": "tier-2-pure",
|
|
"apiId": "py:Sketcher:function:makeHexagonSimple",
|
|
"name": "makeHexagonSimple",
|
|
"family": "pure-function",
|
|
"args": {}
|
|
},
|
|
"documentId": "sketcher-python-method"
|
|
},
|
|
"requestSha256": "a91faf251b41b7bf2a2302fe423c0a2c266be735f5ea5d759e30593269678870",
|
|
"trace": {
|
|
"profile": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "sketcher-hex-profile",
|
|
"result": {
|
|
"apiId": "py:Sketcher:function:isProfileActive",
|
|
"family": "pure-function",
|
|
"module": "Sketcher",
|
|
"name": "isProfileActive",
|
|
"native": true,
|
|
"ok": true,
|
|
"parameterSchema": {},
|
|
"resourcesReleased": true,
|
|
"result": {
|
|
"value": false,
|
|
"withDocument": true,
|
|
"withoutDocument": false
|
|
},
|
|
"returnSchema": {
|
|
"fields": {
|
|
"value": "boolean",
|
|
"withDocument": "boolean",
|
|
"withoutDocument": "boolean"
|
|
},
|
|
"type": "bool"
|
|
},
|
|
"schema": "freecad-web-sketcher/python-method/v1",
|
|
"source": "freecad-source",
|
|
"sourceEntry": "src/Mod/Sketcher/Profiles.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "exposed",
|
|
"tier": "tier-2-pure"
|
|
}
|
|
},
|
|
"success": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "sketcher-hex-success",
|
|
"result": {
|
|
"apiId": "py:Sketcher:function:makeHexagonSimple",
|
|
"family": "pure-function",
|
|
"module": "Sketcher",
|
|
"name": "makeHexagonSimple",
|
|
"native": true,
|
|
"ok": true,
|
|
"parameterSchema": {},
|
|
"resourcesReleased": true,
|
|
"result": {
|
|
"constraintCount": 14,
|
|
"documentObjects": 1,
|
|
"geometryCount": 6,
|
|
"objectType": "Sketcher::SketchObject",
|
|
"recomputeCount": 1,
|
|
"recomputeHasError": false,
|
|
"resourcesReleased": true
|
|
},
|
|
"returnSchema": {
|
|
"fields": {
|
|
"constraintCount": "integer",
|
|
"documentObjects": "integer",
|
|
"geometryCount": "integer",
|
|
"objectType": "string",
|
|
"recomputeCount": "integer",
|
|
"recomputeHasError": "boolean"
|
|
},
|
|
"type": "NoneType"
|
|
},
|
|
"schema": "freecad-web-sketcher/python-method/v1",
|
|
"source": "freecad-source",
|
|
"sourceEntry": "src/Mod/Sketcher/ProfileLib/Hexagon.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "exposed",
|
|
"tier": "tier-2-pure"
|
|
}
|
|
},
|
|
"repeat": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "sketcher-hex-repeat",
|
|
"result": {
|
|
"apiId": "py:Sketcher:function:makeHexagonSimple",
|
|
"family": "pure-function",
|
|
"module": "Sketcher",
|
|
"name": "makeHexagonSimple",
|
|
"native": true,
|
|
"ok": true,
|
|
"parameterSchema": {},
|
|
"resourcesReleased": true,
|
|
"result": {
|
|
"constraintCount": 14,
|
|
"documentObjects": 1,
|
|
"geometryCount": 6,
|
|
"objectType": "Sketcher::SketchObject",
|
|
"recomputeCount": 1,
|
|
"recomputeHasError": false,
|
|
"resourcesReleased": true
|
|
},
|
|
"returnSchema": {
|
|
"fields": {
|
|
"constraintCount": "integer",
|
|
"documentObjects": "integer",
|
|
"geometryCount": "integer",
|
|
"objectType": "string",
|
|
"recomputeCount": "integer",
|
|
"recomputeHasError": "boolean"
|
|
},
|
|
"type": "NoneType"
|
|
},
|
|
"schema": "freecad-web-sketcher/python-method/v1",
|
|
"source": "freecad-source",
|
|
"sourceEntry": "src/Mod/Sketcher/ProfileLib/Hexagon.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "exposed",
|
|
"tier": "tier-2-pure"
|
|
}
|
|
},
|
|
"malformed": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "sketcher-hex-malformed",
|
|
"error": {
|
|
"code": "invalid_request",
|
|
"message": "Sketcher Python method envelope invalid"
|
|
}
|
|
},
|
|
"duplicate": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "sketcher-hex-duplicate",
|
|
"error": {
|
|
"code": "duplicate_request",
|
|
"message": "requestId has already been dispatched"
|
|
}
|
|
},
|
|
"duplicateResult": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "sketcher-hex-duplicate",
|
|
"result": {
|
|
"apiId": "py:Sketcher:function:makeHexagonSimple",
|
|
"family": "pure-function",
|
|
"module": "Sketcher",
|
|
"name": "makeHexagonSimple",
|
|
"native": true,
|
|
"ok": true,
|
|
"parameterSchema": {},
|
|
"resourcesReleased": true,
|
|
"result": {
|
|
"constraintCount": 14,
|
|
"documentObjects": 1,
|
|
"geometryCount": 6,
|
|
"objectType": "Sketcher::SketchObject",
|
|
"recomputeCount": 1,
|
|
"recomputeHasError": false,
|
|
"resourcesReleased": true
|
|
},
|
|
"returnSchema": {
|
|
"fields": {
|
|
"constraintCount": "integer",
|
|
"documentObjects": "integer",
|
|
"geometryCount": "integer",
|
|
"objectType": "string",
|
|
"recomputeCount": "integer",
|
|
"recomputeHasError": "boolean"
|
|
},
|
|
"type": "NoneType"
|
|
},
|
|
"schema": "freecad-web-sketcher/python-method/v1",
|
|
"source": "freecad-source",
|
|
"sourceEntry": "src/Mod/Sketcher/ProfileLib/Hexagon.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "exposed",
|
|
"tier": "tier-2-pure"
|
|
}
|
|
},
|
|
"cancelled": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "sketcher-hex-cancel",
|
|
"error": {
|
|
"code": "cancelled",
|
|
"message": "request was cancelled before execution"
|
|
}
|
|
},
|
|
"direct": {
|
|
"apiId": "py:Sketcher:function:makeHexagonSimple",
|
|
"family": "pure-function",
|
|
"module": "Sketcher",
|
|
"name": "makeHexagonSimple",
|
|
"native": true,
|
|
"ok": true,
|
|
"parameterSchema": {},
|
|
"resourcesReleased": true,
|
|
"result": {
|
|
"constraintCount": 14,
|
|
"documentObjects": 1,
|
|
"geometryCount": 6,
|
|
"objectType": "Sketcher::SketchObject",
|
|
"recomputeCount": 1,
|
|
"recomputeHasError": false,
|
|
"resourcesReleased": true
|
|
},
|
|
"returnSchema": {
|
|
"fields": {
|
|
"constraintCount": "integer",
|
|
"documentObjects": "integer",
|
|
"geometryCount": "integer",
|
|
"objectType": "string",
|
|
"recomputeCount": "integer",
|
|
"recomputeHasError": "boolean"
|
|
},
|
|
"type": "NoneType"
|
|
},
|
|
"schema": "freecad-web-sketcher/python-method/v1",
|
|
"source": "freecad-source",
|
|
"sourceEntry": "src/Mod/Sketcher/ProfileLib/Hexagon.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "exposed",
|
|
"tier": "tier-2-pure"
|
|
},
|
|
"directRepeat": {
|
|
"apiId": "py:Sketcher:function:makeHexagonSimple",
|
|
"family": "pure-function",
|
|
"module": "Sketcher",
|
|
"name": "makeHexagonSimple",
|
|
"native": true,
|
|
"ok": true,
|
|
"parameterSchema": {},
|
|
"resourcesReleased": true,
|
|
"result": {
|
|
"constraintCount": 14,
|
|
"documentObjects": 1,
|
|
"geometryCount": 6,
|
|
"objectType": "Sketcher::SketchObject",
|
|
"recomputeCount": 1,
|
|
"recomputeHasError": false,
|
|
"resourcesReleased": true
|
|
},
|
|
"returnSchema": {
|
|
"fields": {
|
|
"constraintCount": "integer",
|
|
"documentObjects": "integer",
|
|
"geometryCount": "integer",
|
|
"objectType": "string",
|
|
"recomputeCount": "integer",
|
|
"recomputeHasError": "boolean"
|
|
},
|
|
"type": "NoneType"
|
|
},
|
|
"schema": "freecad-web-sketcher/python-method/v1",
|
|
"source": "freecad-source",
|
|
"sourceEntry": "src/Mod/Sketcher/ProfileLib/Hexagon.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "exposed",
|
|
"tier": "tier-2-pure"
|
|
},
|
|
"crossModule": {
|
|
"ok": false,
|
|
"code": "unmatched_source_record",
|
|
"error": "Sketcher native method is not registered for this module/tier"
|
|
},
|
|
"unsupported": {
|
|
"ok": false,
|
|
"code": "unsupported_command",
|
|
"error": "Sketcher native dispatch command is not registered"
|
|
}
|
|
},
|
|
"traceSha256": "8ffafe54aceda18594991aaeae97048684b19faf75d426e3422b596ce8f60de1",
|
|
"worker": {
|
|
"trace": {
|
|
"ready": {
|
|
"kind": "ready",
|
|
"action": "sketcher.pythonMethod"
|
|
},
|
|
"success": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "sketcher-hex-success",
|
|
"result": {
|
|
"apiId": "py:Sketcher:function:makeHexagonSimple",
|
|
"family": "pure-function",
|
|
"module": "Sketcher",
|
|
"name": "makeHexagonSimple",
|
|
"native": true,
|
|
"ok": true,
|
|
"parameterSchema": {},
|
|
"resourcesReleased": true,
|
|
"result": {
|
|
"constraintCount": 14,
|
|
"documentObjects": 1,
|
|
"geometryCount": 6,
|
|
"objectType": "Sketcher::SketchObject",
|
|
"recomputeCount": 1,
|
|
"recomputeHasError": false,
|
|
"resourcesReleased": true
|
|
},
|
|
"returnSchema": {
|
|
"fields": {
|
|
"constraintCount": "integer",
|
|
"documentObjects": "integer",
|
|
"geometryCount": "integer",
|
|
"objectType": "string",
|
|
"recomputeCount": "integer",
|
|
"recomputeHasError": "boolean"
|
|
},
|
|
"type": "NoneType"
|
|
},
|
|
"schema": "freecad-web-sketcher/python-method/v1",
|
|
"source": "freecad-source",
|
|
"sourceEntry": "src/Mod/Sketcher/ProfileLib/Hexagon.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "exposed",
|
|
"tier": "tier-2-pure"
|
|
}
|
|
},
|
|
"duplicate": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "sketcher-hex-success",
|
|
"error": {
|
|
"code": "duplicate_request",
|
|
"message": "requestId has already been dispatched"
|
|
}
|
|
},
|
|
"cancelled": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "sketcher-hex-worker-cancel",
|
|
"error": {
|
|
"code": "cancelled",
|
|
"message": "request was cancelled"
|
|
}
|
|
},
|
|
"reset": {
|
|
"kind": "reset",
|
|
"requestId": "sketcher-hex-worker-reset"
|
|
}
|
|
},
|
|
"traceSha256": "6ca9c76e808f055dfb5586d02d952fc10e9d0165a39ee0f8ca67255a47696f65",
|
|
"sequencing": {
|
|
"duplicate": true,
|
|
"cancelAccepted": true,
|
|
"resetAccepted": true,
|
|
"maxActive": 1
|
|
}
|
|
},
|
|
"replay": {
|
|
"equal": true,
|
|
"resultSha256": "316d292e41741b75e6296277ebef1279dca1f44f0381d48b52f1164bd9cbbf26"
|
|
},
|
|
"resources": {
|
|
"resourcesReleased": true,
|
|
"documentMutation": true,
|
|
"temporaryDocumentClosed": true
|
|
},
|
|
"artifacts": {
|
|
"wasm": {
|
|
"path": "web/public/kernel/FreeCADWebSketcherProbe.wasm",
|
|
"sha256": "ae8770578737612018556d8a406bfbd47a8a93a502c5b63a63d60a2a3647ea88"
|
|
},
|
|
"loader": {
|
|
"path": "web/public/kernel/FreeCADWebSketcherProbe.js",
|
|
"sha256": "cc3e2fa493f7214a79fb879676acfeedcd0f640cac568219f0f3382dce893e00"
|
|
}
|
|
},
|
|
"commands": [
|
|
"ninja -C freecad-source/build-web/configure FreeCADWebSketcherProbe -j8",
|
|
"cp FreeCADWebSketcherProbe.js/.wasm web/public/kernel/",
|
|
"node tools/run_p6_sketcher_hexagon_method_gate.mjs freecad-source/build-web/configure/bin"
|
|
],
|
|
"boundaries": [
|
|
"The official function returns None after creating a native Sketcher::SketchObject; the result envelope reports the created object and recompute contract.",
|
|
"GUI-only module import/command registration remains a declared headless boundary; no GUI result is substituted.",
|
|
"All result fields and statuses come from compiled FreeCAD through fc_web_dispatch_json."
|
|
],
|
|
"resultSha256": "f055cdb938e806f2d61bd319e3d80b3488e3860459f44cfbc52de5b33b1978fa"
|
|
}
|