Move C++ feature code to src/Mod/Create/App and src/Mod/Create/Gui #251
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Establish
src/Mod/Create/as the home for all Kindred-specific C++ features. Currently the Create module is pure Python (bootstrap loader). ACMakeLists.txtexists for installing the Python files and deploying addons, but no C++ targets are defined. C++ features like the planned FlipPocket should compile as part of aCreatemodule library rather than living inmods/(which stays pure Python).Motivation
Clear separation of concerns:
mods/= pure Python addons, versioned independently as submodulessrc/Mod/Create/= Kindred C++ module compiled with the application, may expose Python bindingssrc/Gui/= C++ platform infrastructure (EditingContext, FileOrigin, BreadcrumbToolBar) that enables addonsThis prevents the need for addons to ship compiled C++ and keeps the build system simple.
Proposed structure
Phase 1 (this issue)
CMakeLists.txtscaffolding forsrc/Mod/Create/App/andsrc/Mod/Create/Gui/CreateModule.cppthat registers the module with FreeCAD's type systemPhase 2 (future issue)
Create::FlipPocketas described in INTEGRATION_PLAN.md Phase 2ZTools_EnhancedPocketcommand to createCreate::FlipPocketinstead of the boolean workaroundAffected files
src/Mod/Create/CMakeLists.txt— updated to add C++ targets alongside existing Python install rulessrc/Mod/Create/App/CMakeLists.txt— newsrc/Mod/Create/Gui/CMakeLists.txt— newsrc/Mod/Create/App/CreateModule.cpp— newCMakeLists.txt(root) — add Create module to buildAcceptance criteria
src/Mod/Create/App/andsrc/Mod/Create/Gui/build as shared librariesDependencies
None (can proceed in parallel with SDK work)
Notes
This mirrors FreeCAD's pattern for other modules like PartDesign, Assembly, and Sketcher which all have App/ and Gui/ subdirectories with CMake targets. The Create module follows the same convention.