Move app UI workflows into UI target

This commit is contained in:
2026-06-02 21:48:17 +02:00
parent 3a1ca7a8e6
commit b84dfc049d
3 changed files with 31 additions and 26 deletions

View File

@@ -28,30 +28,12 @@ set(PP_LEGACY_APP_SOURCES
src/node_border.cpp src/node_border.cpp
src/node_button.cpp src/node_button.cpp
src/node_button_custom.cpp src/node_button_custom.cpp
src/node_canvas.cpp
src/node_checkbox.cpp src/node_checkbox.cpp
src/node_color_quad.cpp
src/node_colorwheel.cpp
src/node_combobox.cpp src/node_combobox.cpp
src/node_dialog_browse.cpp
src/node_dialog_cloud.cpp
src/node_dialog_export_ppbr.cpp
src/node_dialog_layer_rename.cpp
src/node_dialog_open.cpp
src/node_dialog_picker.cpp
src/node_dialog_resize.cpp
src/node_icon.cpp src/node_icon.cpp
src/node_image.cpp src/node_image.cpp
src/node_image_texture.cpp src/node_image_texture.cpp
src/node_input_box.cpp src/node_input_box.cpp
src/node_panel_animation.cpp
src/node_panel_brush.cpp
src/node_panel_color.cpp
src/node_panel_floating.cpp
src/node_panel_grid.cpp
src/node_panel_layer.cpp
src/node_panel_quick.cpp
src/node_panel_stroke.cpp
src/node_popup_menu.cpp src/node_popup_menu.cpp
src/node_progress_bar.cpp src/node_progress_bar.cpp
src/node_remote_page.cpp src/node_remote_page.cpp
@@ -59,11 +41,8 @@ set(PP_LEGACY_APP_SOURCES
src/node_settings.cpp src/node_settings.cpp
src/node_shorcuts.cpp src/node_shorcuts.cpp
src/node_slider.cpp src/node_slider.cpp
src/node_stroke_preview.cpp
src/node_text.cpp src/node_text.cpp
src/node_text_input.cpp src/node_text_input.cpp
src/node_tool_bucket.cpp
src/node_viewport.cpp
src/pch.cpp src/pch.cpp
src/rtt.cpp src/rtt.cpp
src/serializer.cpp src/serializer.cpp
@@ -81,10 +60,31 @@ set(PP_PANOPAINTER_APP_SOURCES
set(PP_PANOPAINTER_UI_SOURCES set(PP_PANOPAINTER_UI_SOURCES
src/node_about.cpp src/node_about.cpp
src/node_canvas.cpp
src/node_changelog.cpp src/node_changelog.cpp
src/node_color_quad.cpp
src/node_colorwheel.cpp
src/node_dialog_browse.cpp
src/node_dialog_cloud.cpp
src/node_dialog_export_ppbr.cpp
src/node_dialog_layer_rename.cpp
src/node_dialog_open.cpp
src/node_dialog_picker.cpp
src/node_dialog_resize.cpp
src/node_message_box.cpp src/node_message_box.cpp
src/node_metadata.cpp src/node_metadata.cpp
src/node_panel_animation.cpp
src/node_panel_brush.cpp
src/node_panel_color.cpp
src/node_panel_floating.cpp
src/node_panel_grid.cpp
src/node_panel_layer.cpp
src/node_panel_quick.cpp
src/node_panel_stroke.cpp
src/node_stroke_preview.cpp
src/node_tool_bucket.cpp
src/node_usermanual.cpp src/node_usermanual.cpp
src/node_viewport.cpp
) )
set(PP_WINDOWS_PLATFORM_SOURCES set(PP_WINDOWS_PLATFORM_SOURCES

View File

@@ -10,7 +10,7 @@ Keep it updated as platform paths move to shared CMake targets.
| Platform/Target | Current Entrypoint | Notes | | Platform/Target | Current Entrypoint | Notes |
| --- | --- | --- | | --- | --- | --- |
| Windows desktop | Root `CMakeLists.txt`, preset `windows-msvc-default`; target preset `windows-vs2026-x64` retained for VS 2026 | Raw `.sln/.vcxproj` files removed on 2026-05-31; local machine currently uses Visual Studio 17 2022; `PanoPainter` now links through `pp_platform_windows` and `panopainter_app`, with Windows/vendor link dependencies owned by the platform shell, runtime payload deployment in `cmake/PanoPainterRuntime.cmake`, version metadata owned by `panopainter_app`, and the first modal/help UI nodes owned by `pp_panopainter_ui` | | Windows desktop | Root `CMakeLists.txt`, preset `windows-msvc-default`; target preset `windows-vs2026-x64` retained for VS 2026 | Raw `.sln/.vcxproj` files removed on 2026-05-31; local machine currently uses Visual Studio 17 2022; `PanoPainter` now links through `pp_platform_windows` and `panopainter_app`, with Windows/vendor link dependencies owned by the platform shell, runtime payload deployment in `cmake/PanoPainterRuntime.cmake`, version metadata owned by `panopainter_app`, and app-specific modal/dialog/panel/canvas workflow nodes owned by `pp_panopainter_ui` |
| Windows AppX | `PanoPainterPackage/Package.appxmanifest`, `.wapproj` referenced by solution | Distribution packaging | | Windows AppX | `PanoPainterPackage/Package.appxmanifest`, `.wapproj` referenced by solution | Distribution packaging |
| macOS | `PanoPainter-OSX/` project files and `Info.plist` | Uses `NSOpenGLView` today | | macOS | `PanoPainter-OSX/` project files and `Info.plist` | Uses `NSOpenGLView` today |
| iOS | `PanoPainter/Info.plist`, related Apple sources | Uses OpenGL ES today | | iOS | `PanoPainter/Info.plist`, related Apple sources | Uses OpenGL ES today |
@@ -398,6 +398,10 @@ Known local toolchain state:
Known warnings after the current CMake app build: Known warnings after the current CMake app build:
- Legacy code/vendor warnings under `/W4`. - Legacy code/vendor warnings under `/W4`.
- `pp_panopainter_ui` currently surfaces existing legacy `Node`/`Serializer`
header and static-analysis warnings while it still depends on
`pp_legacy_app`; these should be reduced as the UI core/app UI boundary is
tightened instead of suppressed globally.
- Visual Studio vcpkg manifest warning because manifest mode is not enabled. - Visual Studio vcpkg manifest warning because manifest mode is not enabled.
- `LNK4099` missing `yuv.pdb` for retained libyuv binaries. - `LNK4099` missing `yuv.pdb` for retained libyuv binaries.
- `LNK4098` runtime library conflict from retained vendor binaries. - `LNK4098` runtime library conflict from retained vendor binaries.

View File

@@ -148,10 +148,11 @@ option targets exist. The Windows desktop app builds through CMake as
dependencies now belong to the platform shell target, and Windows runtime dependencies now belong to the platform shell target, and Windows runtime
payload deployment lives behind `cmake/PanoPainterRuntime.cmake`. payload deployment lives behind `cmake/PanoPainterRuntime.cmake`.
`panopainter_app` is now a real static target that owns app version metadata `panopainter_app` is now a real static target that owns app version metadata
and version-header generation. The first `pp_panopainter_ui` target now owns a and version-header generation. `pp_panopainter_ui` now owns app-specific modal,
small app-specific modal/help UI group (`NodeAbout`, `NodeChangelog`, dialog, panel, canvas, viewport, color-picker, stroke-preview, and tool UI
`NodeMessageBox`, `NodeMetadata`, and `NodeUserManual`) outside workflow nodes outside `pp_legacy_app`; base `Node` controls and layout
`pp_legacy_app`. Android arm64 now configures and builds headless plumbing remain in the legacy target until the UI core/app UI boundary is
tightened. Android arm64 now configures and builds headless
foundation/tool targets through the root CMake/NDK path. Non-Windows platform foundation/tool targets through the root CMake/NDK path. Non-Windows platform
app/package files remain during Phase 6 alignment. app/package files remain during Phase 6 alignment.