{"ref":"refs/heads/main","before":"acea4299cccda3f01cac0bc2512ab380d0a41940","after":"b14547084db28d9dcd996cd016ffa722c429eff1","repository":{"id":758965894,"node_id":"R_kgDOLTzmhg","name":"FreeCAD","full_name":"ilf-S/FreeCAD","private":false,"owner":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","login":"ilf-S","id":1728511,"node_id":"MDQ6VXNlcjE3Mjg1MTE=","avatar_url":"https://avatars.githubusercontent.com/u/1728511?v=4","gravatar_id":"","url":"https://api.github.com/users/ilf-S","html_url":"https://github.com/ilf-S","followers_url":"https://api.github.com/users/ilf-S/followers","following_url":"https://api.github.com/users/ilf-S/following{/other_user}","gists_url":"https://api.github.com/users/ilf-S/gists{/gist_id}","starred_url":"https://api.github.com/users/ilf-S/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilf-S/subscriptions","organizations_url":"https://api.github.com/users/ilf-S/orgs","repos_url":"https://api.github.com/users/ilf-S/repos","events_url":"https://api.github.com/users/ilf-S/events{/privacy}","received_events_url":"https://api.github.com/users/ilf-S/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/ilf-S/FreeCAD","description":"This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.","fork":true,"url":"https://api.github.com/repos/ilf-S/FreeCAD","forks_url":"https://api.github.com/repos/ilf-S/FreeCAD/forks","keys_url":"https://api.github.com/repos/ilf-S/FreeCAD/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ilf-S/FreeCAD/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ilf-S/FreeCAD/teams","hooks_url":"https://api.github.com/repos/ilf-S/FreeCAD/hooks","issue_events_url":"https://api.github.com/repos/ilf-S/FreeCAD/issues/events{/number}","events_url":"https://api.github.com/repos/ilf-S/FreeCAD/events","assignees_url":"https://api.github.com/repos/ilf-S/FreeCAD/assignees{/user}","branches_url":"https://api.github.com/repos/ilf-S/FreeCAD/branches{/branch}","tags_url":"https://api.github.com/repos/ilf-S/FreeCAD/tags","blobs_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/refs{/sha}","trees_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ilf-S/FreeCAD/statuses/{sha}","languages_url":"https://api.github.com/repos/ilf-S/FreeCAD/languages","stargazers_url":"https://api.github.com/repos/ilf-S/FreeCAD/stargazers","contributors_url":"https://api.github.com/repos/ilf-S/FreeCAD/contributors","subscribers_url":"https://api.github.com/repos/ilf-S/FreeCAD/subscribers","subscription_url":"https://api.github.com/repos/ilf-S/FreeCAD/subscription","commits_url":"https://api.github.com/repos/ilf-S/FreeCAD/commits{/sha}","git_commits_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/commits{/sha}","comments_url":"https://api.github.com/repos/ilf-S/FreeCAD/comments{/number}","issue_comment_url":"https://api.github.com/repos/ilf-S/FreeCAD/issues/comments{/number}","contents_url":"https://api.github.com/repos/ilf-S/FreeCAD/contents/{+path}","compare_url":"https://api.github.com/repos/ilf-S/FreeCAD/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ilf-S/FreeCAD/merges","archive_url":"https://api.github.com/repos/ilf-S/FreeCAD/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ilf-S/FreeCAD/downloads","issues_url":"https://api.github.com/repos/ilf-S/FreeCAD/issues{/number}","pulls_url":"https://api.github.com/repos/ilf-S/FreeCAD/pulls{/number}","milestones_url":"https://api.github.com/repos/ilf-S/FreeCAD/milestones{/number}","notifications_url":"https://api.github.com/repos/ilf-S/FreeCAD/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ilf-S/FreeCAD/labels{/name}","releases_url":"https://api.github.com/repos/ilf-S/FreeCAD/releases{/id}","deployments_url":"https://api.github.com/repos/ilf-S/FreeCAD/deployments","created_at":1708184682,"updated_at":"2026-08-23T01:12:27Z","pushed_at":1787533777,"git_url":"git://github.com/ilf-S/FreeCAD.git","ssh_url":"git@github.com:ilf-S/FreeCAD.git","clone_url":"https://github.com/ilf-S/FreeCAD.git","svn_url":"https://github.com/ilf-S/FreeCAD","homepage":"https://www.freecad.org","size":2728363,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1","node_id":"MDc6TGljZW5zZTEx"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","stargazers":0,"master_branch":"main"},"pusher":{"name":"github-actions[bot]","email":null},"forced":false,"sender":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"created":false,"deleted":false,"base_ref":null,"compare":"https://github.com/ilf-S/FreeCAD/compare/acea4299cccd...b14547084db2","commits":[{"id":"4b0ac3e13120d354565475f958cac8845130c244","tree_id":"1566408eb116cfd4ca6a51c9f6cc0fd6f56fe0b9","distinct":true,"message":"CAM: PathShape improve","timestamp":"2026-08-18T05:34:22+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/4b0ac3e13120d354565475f958cac8845130c244","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2025-10-13T09:21:30+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-18T05:34:22+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Gui/PathShapeTC.py"]},{"id":"f6b79ee82ad44ecd0c739f133de8152e18d8dd8f","tree_id":"34147e60b645dd4dea3e103bc21f1df13df3d61d","distinct":true,"message":"wip","timestamp":"2026-08-18T05:34:23+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/f6b79ee82ad44ecd0c739f133de8152e18d8dd8f","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-06-09T16:35:00+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-18T05:34:23+03:00","username":"tarman3"},"added":["src/Mod/CAM/Path/Op/Gui/PathShape.py"],"removed":["src/Mod/CAM/Path/Op/Gui/PathShapeTC.py"],"modified":["src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/InitGui.py","src/Mod/CAM/Path/GuiInit.py"]},{"id":"0c69b1ec3368a3863dc911a85162279776b7c070","tree_id":"07d858418ee91d3a2ca31c9f3fbd4aa561f5bcaa","distinct":true,"message":"wip","timestamp":"2026-08-18T05:34:23+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/0c69b1ec3368a3863dc911a85162279776b7c070","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-06-11T12:57:52+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-18T05:34:23+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Gui/PathShape.py"]},{"id":"90d3d11edfe90e4099359a777c25dd6d82e2c4e8","tree_id":"6dbfbf61f34888376f627d3dc166a6776c0fb289","distinct":true,"message":"wip","timestamp":"2026-08-18T05:34:23+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/90d3d11edfe90e4099359a777c25dd6d82e2c4e8","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-06-11T22:06:50+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-18T05:34:23+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Gui/PathShape.py"]},{"id":"cde04598e76b10b41847eacdb295da2295958065","tree_id":"d9b6f3582d99cc86db63402bd74e19c67f79b05b","distinct":true,"message":"wip","timestamp":"2026-08-18T05:34:23+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/cde04598e76b10b41847eacdb295da2295958065","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-06-12T08:41:40+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-18T05:34:23+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Gui/PathShape.py"]},{"id":"b7d3238ca5d0f18ae98a2be62b0a34943df5f210","tree_id":"4bab75ddf64d2cd3fa5089293114d6ef9c90e0e0","distinct":true,"message":"wip","timestamp":"2026-08-18T05:34:23+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/b7d3238ca5d0f18ae98a2be62b0a34943df5f210","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-11T13:36:40+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-18T05:34:23+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Gui/PathShape.py"]},{"id":"962c8bcc4a3b248fd2c1f9e282d74265da3ec183","tree_id":"57f42a433c0a8cfacf544d6bf2d04e1eaaac021a","distinct":true,"message":"create","timestamp":"2026-08-18T14:28:42+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/962c8bcc4a3b248fd2c1f9e282d74265da3ec183","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-18T10:08:38+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-08-18T14:28:42+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Gui/PathShape.py"]},{"id":"c67825804c04aea5a06b38d88b512f24ecdc394c","tree_id":"7a3673bc327a0d9086e650347d4d428e4bb6896d","distinct":true,"message":"CAM: Add 3D surface toolpath generators, C++ accelerator, and tests\n\nGenerator layer for the new Planar Surface operation developed by\nDimitris75 (PR #29910, branch 3DSurfaceExp): pattern, drop-cutter,\nmesh, waterline, z-level, and adaptive strategies with shared common\nmodules, a pybind11 C++ accelerator (surface_generator), and unit tests\nfor each generator. No existing operation is modified.\n\nCo-Authored-By: Claude Fable 5 ","timestamp":"2026-08-19T15:55:15-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/c67825804c04aea5a06b38d88b512f24ecdc394c","author":{"name":"Dimitris75","email":"30848292+Dimitris75@users.noreply.github.com","date":"2026-08-12T12:10:32-05:00","username":"Dimitris75"},"committer":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-19T15:55:15-05:00","username":"sliptonic"},"added":["src/Mod/CAM/App/surface_generator.cpp","src/Mod/CAM/CAMTests/TestAdaptiveCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceDropCutterGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceMeshGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePatternGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePostprocessGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceWaterlineGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceZLevelGenerator.py","src/Mod/CAM/Path/Base/Generator/adaptive_common.py","src/Mod/CAM/Path/Base/Generator/surface_common.py","src/Mod/CAM/Path/Base/Generator/surface_dropcutter.py","src/Mod/CAM/Path/Base/Generator/surface_mesh.py","src/Mod/CAM/Path/Base/Generator/surface_pattern.py","src/Mod/CAM/Path/Base/Generator/surface_postprocess.py","src/Mod/CAM/Path/Base/Generator/surface_waterline.py","src/Mod/CAM/Path/Base/Generator/surface_zlevel.py"],"removed":[],"modified":["src/Mod/CAM/App/CMakeLists.txt","src/Mod/CAM/CMakeLists.txt"]},{"id":"5c9f723701f19b9a80b769ab6266846565c25d61","tree_id":"96c64ff59583ff499a069aa8c1b916df27cf38be","distinct":true,"message":"CAM: Update stale surface generator tests to current API\n\nThe waterline, z-level, and postprocess generator tests were written\nagainst earlier generator signatures and were not updated when the API\nevolved: _shape_to_stl() lost use_cpp (C++/Python selection is now\nautomatic), zlevel_hybrid_stack() and _apply_fill_hole_masks() renamed\ncamelCase keywords to snake_case, zlevel_hybrid_to_gcode() grew a\nrequired enforce_geofence argument, and scan_lines_to_gcode() moved\noptimize_ratio into its options dict. All 27 tests in the three\nmodules now pass.\n\nCo-Authored-By: Claude Fable 5 ","timestamp":"2026-08-19T15:55:15-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/5c9f723701f19b9a80b769ab6266846565c25d61","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-12T13:01:35-05:00","username":"sliptonic"},"committer":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-19T15:55:15-05:00","username":"sliptonic"},"added":[],"removed":[],"modified":["src/Mod/CAM/CAMTests/TestSurfacePostprocessGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceWaterlineGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceZLevelGenerator.py"]},{"id":"ee36a2438a1ab4b875d0dab56013440c39188dcc","tree_id":"09c019d06974076636d7df96a5a5cceb36907299","distinct":true,"message":"CAM: Address review feedback on surface generators\n\nFixes from PR #31923 review comments:\n- surface_mesh: fix NameError in _mesh_to_stl (missing surface_common\n import) and in generate_stl (called mesh_to_stl instead of\n _mesh_to_stl) on the direct-mesh path\n- Remove unused variables (sample_faces, offset_avoid, is_multi_pass,\n kept_down, sub_face, unused z_height loop variable)\n- Style cleanups: needless f-string prefix, range(0, n), redundant\n conditional bool, max() instead of clamp-if, merge nested ifs\n\nCo-Authored-By: Claude Fable 5 ","timestamp":"2026-08-19T15:55:15-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/ee36a2438a1ab4b875d0dab56013440c39188dcc","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-19T15:54:57-05:00","username":"sliptonic"},"committer":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-19T15:55:15-05:00","username":"sliptonic"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Base/Generator/adaptive_common.py","src/Mod/CAM/Path/Base/Generator/surface_common.py","src/Mod/CAM/Path/Base/Generator/surface_mesh.py","src/Mod/CAM/Path/Base/Generator/surface_postprocess.py","src/Mod/CAM/Path/Base/Generator/surface_waterline.py","src/Mod/CAM/Path/Base/Generator/surface_zlevel.py"]},{"id":"b4dfef8734fd8ba355f47edec66c16335bc640ef","tree_id":"17bb624d016455019d5ceb34af9d8d5ad0e5916b","distinct":true,"message":"CAM: honor coolant for tapping cycles\n\nInclude extended drilling commands when locating cutting moves so G74 and G84 operations receive configured coolant commands.\n\nFixes #32065\n\nAssisted-by: GPT-5.6","timestamp":"2026-08-20T20:32:54+09:00","url":"https://github.com/ilf-S/FreeCAD/commit/b4dfef8734fd8ba355f47edec66c16335bc640ef","author":{"name":"jsk1004ha","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-20T20:32:54+09:00","username":"jsk1004ha"},"committer":{"name":"jsk1004ha","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-20T20:32:54+09:00","username":"jsk1004ha"},"added":[],"removed":[],"modified":["src/Mod/CAM/CAMTests/TestPathTapGenerator.py","src/Mod/CAM/Path/Op/Base.py"]},{"id":"577604a096df374e81470e9cfb4b38275dc8f097","tree_id":"9592758be8a70f2f4cdca1a4c6c9ed283ab325bb","distinct":true,"message":"CAM: include extended drills in move constants\n\nAssisted-by: GPT-5.6","timestamp":"2026-08-22T02:16:09+09:00","url":"https://github.com/ilf-S/FreeCAD/commit/577604a096df374e81470e9cfb4b38275dc8f097","author":{"name":"jsk1004ha","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-22T02:16:09+09:00","username":"jsk1004ha"},"committer":{"name":"jsk1004ha","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-22T02:16:09+09:00","username":"jsk1004ha"},"added":[],"removed":[],"modified":["src/Mod/CAM/Constants.py"]},{"id":"1e0df01b3a878de074dcec68790f0e56a386e5f2","tree_id":"7fa2e8d89a5cbd7dfdf849267a1c3f506261d904","distinct":true,"message":"CAM: use centralized move constant for coolant\n\nAssisted-by: GPT-5.6","timestamp":"2026-08-22T03:34:39+09:00","url":"https://github.com/ilf-S/FreeCAD/commit/1e0df01b3a878de074dcec68790f0e56a386e5f2","author":{"name":"jsk1004ha","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-22T03:34:39+09:00","username":"jsk1004ha"},"committer":{"name":"jsk1004ha","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-22T03:34:39+09:00","username":"jsk1004ha"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Base.py"]},{"id":"1cbd396f70aee174345d7e8176ee681d2ba78e44","tree_id":"f3eeda99d397facdd9b3cba05f032fd8ae07531d","distinct":true,"message":"Merge branch 'main' into codex/fix-tapping-coolant-32065","timestamp":"2026-08-22T03:38:27+09:00","url":"https://github.com/ilf-S/FreeCAD/commit/1cbd396f70aee174345d7e8176ee681d2ba78e44","author":{"name":"APZN","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-22T03:38:27+09:00","username":"jsk1004ha"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-08-22T03:38:27+09:00","username":"web-flow"},"added":["tests/src/Mod/CAM/App/CMakeLists.txt","tests/src/Mod/CAM/App/Path.cpp","tests/src/Mod/CAM/CMakeLists.txt","tests/src/Mod/PartDesign/App/Revolution.cpp"],"removed":[],"modified":[".github/workflows/actions/runCPPTests/runAllTests/action.yml","cMake/FreeCAD_Helpers/SetupCoin3D.cmake","src/3rdParty/pivy","src/Gui/Document.cpp","src/Gui/Inventor/Draggers/Gizmo.cpp","src/Gui/Inventor/Draggers/Gizmo.h","src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/FeaturePathCompound.cpp","src/Mod/CAM/App/Path.cpp","src/Mod/CAM/App/Path.h","src/Mod/CAM/CAMTests/TestPathCore.py","src/Mod/CAM/Gui/Resources/panels/DressUpLeadInOutEdit.ui","src/Mod/CAM/Gui/Resources/panels/PageOpAdaptiveEdit.ui","src/Mod/CAM/Gui/ViewProviderPath.cpp","src/Mod/CAM/Path/Base/Gui/Util.py","src/Mod/CAM/Path/Dressup/Gui/LeadInOut.py","src/Mod/CAM/Path/Dressup/Gui/ZCorrect.py","src/Mod/CAM/Path/Dressup/Utils.py","src/Mod/CAM/Path/Main/Gui/Camotics.py","src/Mod/CAM/Path/Main/Gui/Job.py","src/Mod/CAM/Path/Op/Adaptive.py","src/Mod/CAM/Path/Op/Gui/Adaptive.py","src/Mod/CAM/Path/Op/Util.py","src/Mod/CAM/Path/Post/Gui/DlgPostProcess.py","src/Mod/Part/App/TopoShapeExpansion.cpp","src/Mod/PartDesign/App/FeatureExtrude.cpp","src/Mod/PartDesign/App/FeatureGroove.cpp","src/Mod/PartDesign/App/FeatureRevolution.cpp","src/Mod/PartDesign/App/FeatureRevolved.cpp","src/Mod/PartDesign/App/FeatureRevolved.h","src/Mod/PartDesign/App/FeatureSketchBased.h","src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp","src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp","src/Mod/PartDesign/Gui/TaskRevolutionParameters.h","src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui","src/Mod/TechDraw/Gui/QGIView.cpp","src/Mod/TechDraw/Gui/QGIView.h","src/Mod/Test/GuiDocument.py","tests/CMakeLists.txt","tests/src/Mod/CMakeLists.txt","tests/src/Mod/PartDesign/App/CMakeLists.txt"]},{"id":"295effc3576534f584cba082f3dedbac5dcea051","tree_id":"481ffb4fbab777977887d405a9dfd9223d7ea564","distinct":true,"message":"CAM: simplify cutting move comment\n\nAssisted-by: GPT-5.6","timestamp":"2026-08-22T03:43:17+09:00","url":"https://github.com/ilf-S/FreeCAD/commit/295effc3576534f584cba082f3dedbac5dcea051","author":{"name":"jsk1004ha","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-22T03:42:41+09:00","username":"jsk1004ha"},"committer":{"name":"jsk1004ha","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-22T03:43:17+09:00","username":"jsk1004ha"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Base.py"]},{"id":"4134b6ca81c47d51f0348ce3df9c81f3ba4d1d11","tree_id":"738cf76eddfbee694b5bd0b9cfe82cd0eb3f9181","distinct":true,"message":"CAM: Address review feedback on surface generators\n\n- Convert all new files to the current SPDX header format, preserving\n each file's existing copyright holder and year\n- surface_zlevel: iterate dict directly instead of .keys(); use bool()\n instead of a redundant ternary\n- Add opencamlib packages to the Ubuntu apt dependency list\n\nCo-Authored-By: Claude Fable 5 ","timestamp":"2026-08-21T14:28:08-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/4134b6ca81c47d51f0348ce3df9c81f3ba4d1d11","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-21T14:05:45-05:00","username":"sliptonic"},"committer":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-21T14:28:08-05:00","username":"sliptonic"},"added":[],"removed":[],"modified":["package/ubuntu/install-apt-packages.sh","src/Mod/CAM/App/surface_generator.cpp","src/Mod/CAM/CAMTests/TestAdaptiveCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceDropCutterGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceMeshGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePatternGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePostprocessGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceWaterlineGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceZLevelGenerator.py","src/Mod/CAM/Path/Base/Generator/adaptive_common.py","src/Mod/CAM/Path/Base/Generator/surface_common.py","src/Mod/CAM/Path/Base/Generator/surface_dropcutter.py","src/Mod/CAM/Path/Base/Generator/surface_mesh.py","src/Mod/CAM/Path/Base/Generator/surface_pattern.py","src/Mod/CAM/Path/Base/Generator/surface_postprocess.py","src/Mod/CAM/Path/Base/Generator/surface_waterline.py","src/Mod/CAM/Path/Base/Generator/surface_zlevel.py"]},{"id":"6da7b0a66780459026107017ba0af0e814fab896","tree_id":"0275ab0dde3eb9fb839760ef23045b41225b15d9","distinct":true,"message":"Merge branch 'main' into codex/fix-tapping-coolant-32065","timestamp":"2026-08-22T11:52:42+09:00","url":"https://github.com/ilf-S/FreeCAD/commit/6da7b0a66780459026107017ba0af0e814fab896","author":{"name":"APZN","email":"129354802+jsk1004ha@users.noreply.github.com","date":"2026-08-22T11:52:42+09:00","username":"jsk1004ha"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-08-22T11:52:42+09:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Constants.py","src/Mod/CAM/Gui/Resources/panels/DlgPostProcess.ui","src/Mod/CAM/Gui/Resources/panels/PathEdit.ui","src/Mod/CAM/Gui/Resources/panels/ToolControllerEdit.ui","src/Mod/CAM/Path/Main/Gui/Job.py","src/Mod/CAM/Path/Op/Adaptive.py","src/Mod/CAM/Path/Post/Gui/DlgPostProcess.py","src/Mod/CAM/Path/Tool/Controller.py","src/Mod/CAM/Path/Tool/Gui/Controller.py"]},{"id":"f41e20ef9a698a6d85806bd1c7b0e35970cfb03a","tree_id":"cc0d13eb94e99836e31bd1d99df5fa83ffc6c142","distinct":true,"message":"Merge pull request #32072 from jsk1004ha/codex/fix-tapping-coolant-32065\n\nCAM: honor coolant for tapping cycles","timestamp":"2026-08-22T20:15:24-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/f41e20ef9a698a6d85806bd1c7b0e35970cfb03a","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-22T20:15:24-05:00","username":"sliptonic"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-08-22T20:15:24-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/CAMTests/TestPathTapGenerator.py","src/Mod/CAM/Constants.py","src/Mod/CAM/Path/Op/Base.py"]},{"id":"32216a6dc93d4082d7ce91f045590de535a7017c","tree_id":"f4d826a5b078c44dcb683983e215740ae61ce8c9","distinct":true,"message":"Merge pull request #23843 from tarman3/pathshape\n\nCAM: PathShape improve","timestamp":"2026-08-22T20:16:34-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/32216a6dc93d4082d7ce91f045590de535a7017c","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-08-22T20:16:34-05:00","username":"sliptonic"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-08-22T20:16:34-05:00","username":"web-flow"},"added":["src/Mod/CAM/Path/Op/Gui/PathShape.py"],"removed":["src/Mod/CAM/Path/Op/Gui/PathShapeTC.py"],"modified":["src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/InitGui.py","src/Mod/CAM/Path/GuiInit.py"]},{"id":"faf5feae9d2d7b0d9bb81ee9a9fda266ed38ae2c","tree_id":"940993e00b991a44bca44e9dbf948157944a50c6","distinct":true,"message":"Merge pull request #31923 from sliptonic/surface-generators\n\nCAM: Surface generators","timestamp":"2026-08-22T21:32:07-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/faf5feae9d2d7b0d9bb81ee9a9fda266ed38ae2c","author":{"name":"Billy Huddleston","email":"billy@ivdc.com","date":"2026-08-22T21:32:07-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-08-22T21:32:07-04:00","username":"web-flow"},"added":["src/Mod/CAM/App/surface_generator.cpp","src/Mod/CAM/CAMTests/TestAdaptiveCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceDropCutterGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceMeshGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePatternGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePostprocessGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceWaterlineGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceZLevelGenerator.py","src/Mod/CAM/Path/Base/Generator/adaptive_common.py","src/Mod/CAM/Path/Base/Generator/surface_common.py","src/Mod/CAM/Path/Base/Generator/surface_dropcutter.py","src/Mod/CAM/Path/Base/Generator/surface_mesh.py","src/Mod/CAM/Path/Base/Generator/surface_pattern.py","src/Mod/CAM/Path/Base/Generator/surface_postprocess.py","src/Mod/CAM/Path/Base/Generator/surface_waterline.py","src/Mod/CAM/Path/Base/Generator/surface_zlevel.py"],"removed":[],"modified":["package/ubuntu/install-apt-packages.sh","src/Mod/CAM/App/CMakeLists.txt","src/Mod/CAM/CMakeLists.txt"]},{"id":"b14547084db28d9dcd996cd016ffa722c429eff1","tree_id":"2cbab8bf7973f83d34ce4360ab519814833b1a2f","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-08-24T01:09:36Z","url":"https://github.com/ilf-S/FreeCAD/commit/b14547084db28d9dcd996cd016ffa722c429eff1","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-08-24T01:09:36Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-08-24T01:09:36Z","username":"ilf-S"},"added":["src/Mod/CAM/App/surface_generator.cpp","src/Mod/CAM/CAMTests/TestAdaptiveCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceDropCutterGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceMeshGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePatternGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePostprocessGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceWaterlineGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceZLevelGenerator.py","src/Mod/CAM/Path/Base/Generator/adaptive_common.py","src/Mod/CAM/Path/Base/Generator/surface_common.py","src/Mod/CAM/Path/Base/Generator/surface_dropcutter.py","src/Mod/CAM/Path/Base/Generator/surface_mesh.py","src/Mod/CAM/Path/Base/Generator/surface_pattern.py","src/Mod/CAM/Path/Base/Generator/surface_postprocess.py","src/Mod/CAM/Path/Base/Generator/surface_waterline.py","src/Mod/CAM/Path/Base/Generator/surface_zlevel.py","src/Mod/CAM/Path/Op/Gui/PathShape.py"],"removed":["src/Mod/CAM/Path/Op/Gui/PathShapeTC.py"],"modified":["package/ubuntu/install-apt-packages.sh","src/Mod/CAM/App/CMakeLists.txt","src/Mod/CAM/CAMTests/TestPathTapGenerator.py","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/Constants.py","src/Mod/CAM/InitGui.py","src/Mod/CAM/Path/GuiInit.py","src/Mod/CAM/Path/Op/Base.py"]}],"head_commit":{"id":"b14547084db28d9dcd996cd016ffa722c429eff1","tree_id":"2cbab8bf7973f83d34ce4360ab519814833b1a2f","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-08-24T01:09:36Z","url":"https://github.com/ilf-S/FreeCAD/commit/b14547084db28d9dcd996cd016ffa722c429eff1","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-08-24T01:09:36Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-08-24T01:09:36Z","username":"ilf-S"},"added":["src/Mod/CAM/App/surface_generator.cpp","src/Mod/CAM/CAMTests/TestAdaptiveCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceCommonGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceDropCutterGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceMeshGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePatternGenerator.py","src/Mod/CAM/CAMTests/TestSurfacePostprocessGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceWaterlineGenerator.py","src/Mod/CAM/CAMTests/TestSurfaceZLevelGenerator.py","src/Mod/CAM/Path/Base/Generator/adaptive_common.py","src/Mod/CAM/Path/Base/Generator/surface_common.py","src/Mod/CAM/Path/Base/Generator/surface_dropcutter.py","src/Mod/CAM/Path/Base/Generator/surface_mesh.py","src/Mod/CAM/Path/Base/Generator/surface_pattern.py","src/Mod/CAM/Path/Base/Generator/surface_postprocess.py","src/Mod/CAM/Path/Base/Generator/surface_waterline.py","src/Mod/CAM/Path/Base/Generator/surface_zlevel.py","src/Mod/CAM/Path/Op/Gui/PathShape.py"],"removed":["src/Mod/CAM/Path/Op/Gui/PathShapeTC.py"],"modified":["package/ubuntu/install-apt-packages.sh","src/Mod/CAM/App/CMakeLists.txt","src/Mod/CAM/CAMTests/TestPathTapGenerator.py","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/Constants.py","src/Mod/CAM/InitGui.py","src/Mod/CAM/Path/GuiInit.py","src/Mod/CAM/Path/Op/Base.py"]}}