Files
FreeCADWasmDev/docs/p6/sketcher-regular-polygon-method-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

446 lines
14 KiB
JSON

{
"schema": "freecad-web-p6-sketcher-regular-polygon-method-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"module": "Sketcher",
"tier": "tier-2-pure",
"apiId": "py:Sketcher:function:makeRegularPolygon",
"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/RegularPolygon.py",
"revision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"function": "makeRegularPolygon",
"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-regular-success",
"command": "sketcher.pythonMethod",
"payload": {
"schema": "freecad-web-sketcher/python-method/v1",
"module": "Sketcher",
"tier": "tier-2-pure",
"apiId": "py:Sketcher:function:makeRegularPolygon",
"name": "makeRegularPolygon",
"family": "pure-function",
"args": {
"sides": 5,
"centerPoint": [
0,
0,
0
],
"firstCornerPoint": [
10,
0,
0
],
"construction": false
}
},
"documentId": "sketcher-python-method"
},
"requestSha256": "e657ddea719b74f5f7558082c65b1265193fbdccafa917865e3c960a7c950b46",
"trace": {
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-regular-success",
"result": {
"apiId": "py:Sketcher:function:makeRegularPolygon",
"family": "pure-function",
"module": "Sketcher",
"name": "makeRegularPolygon",
"native": true,
"ok": true,
"parameterSchema": {
"centerPoint": "Vector3",
"construction": "boolean",
"firstCornerPoint": "Vector3",
"sides": "integer"
},
"resourcesReleased": true,
"result": {
"constraintCount": 14,
"documentObjects": 1,
"geometryCount": 6,
"objectType": "Sketcher::SketchObject",
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"sides": 5
},
"returnSchema": {
"fields": {
"constraintCount": "integer",
"documentObjects": "integer",
"geometryCount": "integer",
"objectType": "string",
"recomputeCount": "integer",
"recomputeHasError": "boolean",
"sides": "integer"
},
"type": "NoneType"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/ProfileLib/RegularPolygon.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
}
},
"repeat": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-regular-repeat",
"result": {
"apiId": "py:Sketcher:function:makeRegularPolygon",
"family": "pure-function",
"module": "Sketcher",
"name": "makeRegularPolygon",
"native": true,
"ok": true,
"parameterSchema": {
"centerPoint": "Vector3",
"construction": "boolean",
"firstCornerPoint": "Vector3",
"sides": "integer"
},
"resourcesReleased": true,
"result": {
"constraintCount": 14,
"documentObjects": 1,
"geometryCount": 6,
"objectType": "Sketcher::SketchObject",
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"sides": 5
},
"returnSchema": {
"fields": {
"constraintCount": "integer",
"documentObjects": "integer",
"geometryCount": "integer",
"objectType": "string",
"recomputeCount": "integer",
"recomputeHasError": "boolean",
"sides": "integer"
},
"type": "NoneType"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/ProfileLib/RegularPolygon.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
}
},
"malformed": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-regular-malformed",
"error": {
"code": "invalid_request",
"message": "Sketcher Python method envelope invalid"
}
},
"duplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-regular-duplicate",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
},
"duplicateResult": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-regular-duplicate",
"result": {
"apiId": "py:Sketcher:function:makeRegularPolygon",
"family": "pure-function",
"module": "Sketcher",
"name": "makeRegularPolygon",
"native": true,
"ok": true,
"parameterSchema": {
"centerPoint": "Vector3",
"construction": "boolean",
"firstCornerPoint": "Vector3",
"sides": "integer"
},
"resourcesReleased": true,
"result": {
"constraintCount": 14,
"documentObjects": 1,
"geometryCount": 6,
"objectType": "Sketcher::SketchObject",
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"sides": 5
},
"returnSchema": {
"fields": {
"constraintCount": "integer",
"documentObjects": "integer",
"geometryCount": "integer",
"objectType": "string",
"recomputeCount": "integer",
"recomputeHasError": "boolean",
"sides": "integer"
},
"type": "NoneType"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/ProfileLib/RegularPolygon.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-regular-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"direct": {
"apiId": "py:Sketcher:function:makeRegularPolygon",
"family": "pure-function",
"module": "Sketcher",
"name": "makeRegularPolygon",
"native": true,
"ok": true,
"parameterSchema": {
"centerPoint": "Vector3",
"construction": "boolean",
"firstCornerPoint": "Vector3",
"sides": "integer"
},
"resourcesReleased": true,
"result": {
"constraintCount": 14,
"documentObjects": 1,
"geometryCount": 6,
"objectType": "Sketcher::SketchObject",
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"sides": 5
},
"returnSchema": {
"fields": {
"constraintCount": "integer",
"documentObjects": "integer",
"geometryCount": "integer",
"objectType": "string",
"recomputeCount": "integer",
"recomputeHasError": "boolean",
"sides": "integer"
},
"type": "NoneType"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/ProfileLib/RegularPolygon.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
},
"directRepeat": {
"apiId": "py:Sketcher:function:makeRegularPolygon",
"family": "pure-function",
"module": "Sketcher",
"name": "makeRegularPolygon",
"native": true,
"ok": true,
"parameterSchema": {
"centerPoint": "Vector3",
"construction": "boolean",
"firstCornerPoint": "Vector3",
"sides": "integer"
},
"resourcesReleased": true,
"result": {
"constraintCount": 14,
"documentObjects": 1,
"geometryCount": 6,
"objectType": "Sketcher::SketchObject",
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"sides": 5
},
"returnSchema": {
"fields": {
"constraintCount": "integer",
"documentObjects": "integer",
"geometryCount": "integer",
"objectType": "string",
"recomputeCount": "integer",
"recomputeHasError": "boolean",
"sides": "integer"
},
"type": "NoneType"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/ProfileLib/RegularPolygon.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": "65a5b19973361019174145cd1c1ff98da540cc731981e7c8cb35256ba5ceaa92",
"worker": {
"trace": {
"ready": {
"kind": "ready",
"action": "sketcher.pythonMethod"
},
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "sketcher-regular-success",
"result": {
"apiId": "py:Sketcher:function:makeRegularPolygon",
"family": "pure-function",
"module": "Sketcher",
"name": "makeRegularPolygon",
"native": true,
"ok": true,
"parameterSchema": {
"centerPoint": "Vector3",
"construction": "boolean",
"firstCornerPoint": "Vector3",
"sides": "integer"
},
"resourcesReleased": true,
"result": {
"constraintCount": 14,
"documentObjects": 1,
"geometryCount": 6,
"objectType": "Sketcher::SketchObject",
"recomputeCount": 1,
"recomputeHasError": false,
"resourcesReleased": true,
"sides": 5
},
"returnSchema": {
"fields": {
"constraintCount": "integer",
"documentObjects": "integer",
"geometryCount": "integer",
"objectType": "string",
"recomputeCount": "integer",
"recomputeHasError": "boolean",
"sides": "integer"
},
"type": "NoneType"
},
"schema": "freecad-web-sketcher/python-method/v1",
"source": "freecad-source",
"sourceEntry": "src/Mod/Sketcher/ProfileLib/RegularPolygon.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "exposed",
"tier": "tier-2-pure"
}
},
"duplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-regular-success",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "sketcher-regular-worker-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled"
}
},
"reset": {
"kind": "reset",
"requestId": "sketcher-regular-worker-reset"
}
},
"traceSha256": "8021d6bf2c344388edf5608bea2ea889db871e1c754115ec59d63fa79a0c1af9",
"sequencing": {
"duplicate": true,
"cancelAccepted": true,
"resetAccepted": true,
"maxActive": 1
}
},
"replay": {
"equal": true,
"resultSha256": "2e7bbea8fbb41841f82b20dc4956a9b812c0ad61a8469ff6d159ef3b1524d897"
},
"resources": {
"resourcesReleased": true,
"documentMutation": true,
"temporaryDocumentClosed": true
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebSketcherProbe.wasm",
"sha256": "309c79322ee612dcab9ff1a66c27272d6fdf26b4d077d81afabd8c12220222a4"
},
"loader": {
"path": "web/public/kernel/FreeCADWebSketcherProbe.js",
"sha256": "42477964333d0e9e87fe50aed495ff49c636e0630934a79d5a2457841b508776"
}
},
"commands": [
"ninja -C freecad-source/build-web/configure FreeCADWebSketcherProbe -j8",
"cp FreeCADWebSketcherProbe.js/.wasm web/public/kernel/",
"node tools/run_p6_sketcher_regular_polygon_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": "a64fb3f5c697687ed610cebddec6d63b9c110d8f38426dc1b0ad35d0ce882421"
}