Native Widgets Consolidation Plan ================================= Goal ---- Move C++ widget/plugin maintenance into the main ``qtpyvcp`` repository so Qt Designer widget development and packaging happen in one place. Proposed layout --------------- :: src/qtpyvcp/native/ backplot_cpp/ ... widgets_cpp/ CMakeLists.txt README.md gcode_editor/ CMakeLists.txt gcodeeditor.cpp gcodeeditor.h gcodehighlighter.cpp gcodehighlighter.h gcodeeditorplugin.cpp gcodeeditorplugin.h gcodeeditorplugin.pro gcodeeditorplugin.pri Notes ----- - ``native`` is an umbrella for compiled modules and bridge code. - ``backplot_cpp`` remains the performance module for backplot generation. - ``widgets_cpp`` hosts C++ Qt widgets and Qt Designer plugins. Current migration status ------------------------ - ``gcode_editor`` sources were copied from the standalone ``editor_widget`` repository into ``qtpyvcp``. - Initial CMake build scaffolding was added for local plugin builds. - ``qnative`` was added as a project tool entrypoint and now builds both native targets (widgets plugin + backplot module). - Debian packaging now invokes both ``qcompile`` and ``qnative`` during ``override_dh_install``. - Packaging build dependencies were updated for the native/CMake path, including ``cmake``, ``qt6-base-dev``, ``qt6-tools-dev``, ``pybind11-dev``, and ``python3-poetry-dynamic-versioning``. - Debian package output was validated after migration: - Native artifacts are built and staged correctly. - Native ``build/`` directories are not shipped in the final ``.deb`` payload (verified as zero packaged entries). - Local build output directories are ignored via ``.gitignore``: - ``/src/qtpyvcp/native/backplot_cpp/build/`` - ``/src/qtpyvcp/native/widgets_cpp/**/build/`` Next steps ---------- 1. Validate plugin loading/runtime behavior through ``editvcp``/Qt Designer in target environments. 2. Standardize ``.ui`` custom widget headers/classes across Probe Basic files. 3. Confirm final plugin installation/discovery path expectations for designers on all supported deployment targets. 4. Retire standalone ``editor_widget`` repo dependency once all references are migrated.