From 6fda4d4a901bdc3600cf4f279adc1ceb423a920d Mon Sep 17 00:00:00 2001 From: omigamedev Date: Tue, 2 Jun 2026 21:50:07 +0200 Subject: [PATCH] Move app orchestration into app target --- cmake/PanoPainterSources.cmake | 16 ++++++++-------- docs/modernization/build-inventory.md | 6 +++++- docs/modernization/roadmap.md | 13 +++++++------ 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/cmake/PanoPainterSources.cmake b/cmake/PanoPainterSources.cmake index 65a89bf..8c9ef12 100644 --- a/cmake/PanoPainterSources.cmake +++ b/cmake/PanoPainterSources.cmake @@ -1,14 +1,6 @@ set(PP_LEGACY_APP_SOURCES src/abr.cpp src/action.cpp - src/app.cpp - src/app_cloud.cpp - src/app_commands.cpp - src/app_dialogs.cpp - src/app_events.cpp - src/app_layout.cpp - src/app_shaders.cpp - src/app_vr.cpp src/asset.cpp src/bezier.cpp src/binary_stream.cpp @@ -55,6 +47,14 @@ set(PP_LEGACY_APP_SOURCES ) set(PP_PANOPAINTER_APP_SOURCES + src/app.cpp + src/app_cloud.cpp + src/app_commands.cpp + src/app_dialogs.cpp + src/app_events.cpp + src/app_layout.cpp + src/app_shaders.cpp + src/app_vr.cpp src/version.cpp ) diff --git a/docs/modernization/build-inventory.md b/docs/modernization/build-inventory.md index 0ddaad3..69642f3 100644 --- a/docs/modernization/build-inventory.md +++ b/docs/modernization/build-inventory.md @@ -10,7 +10,7 @@ Keep it updated as platform paths move to shared CMake targets. | 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 app-specific modal/dialog/panel/canvas workflow 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`, app orchestration/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 | | macOS | `PanoPainter-OSX/` project files and `Info.plist` | Uses `NSOpenGLView` today | | iOS | `PanoPainter/Info.plist`, related Apple sources | Uses OpenGL ES today | @@ -402,6 +402,10 @@ Known warnings after the current CMake app build: 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. +- `panopainter_app` currently surfaces existing app orchestration, GLM, + base64, VR, and serializer warnings now that app sources live in the + composition target; warning cleanup should follow component ownership rather + than be hidden with target-wide suppressions. - Visual Studio vcpkg manifest warning because manifest mode is not enabled. - `LNK4099` missing `yuv.pdb` for retained libyuv binaries. - `LNK4098` runtime library conflict from retained vendor binaries. diff --git a/docs/modernization/roadmap.md b/docs/modernization/roadmap.md index d79d58a..62a9860 100644 --- a/docs/modernization/roadmap.md +++ b/docs/modernization/roadmap.md @@ -147,12 +147,13 @@ option targets exist. The Windows desktop app builds through CMake as `PanoPainter` is only the executable/resource wrapper; Windows and vendor link dependencies now belong to the platform shell target, and Windows runtime payload deployment lives behind `cmake/PanoPainterRuntime.cmake`. -`panopainter_app` is now a real static target that owns app version metadata -and version-header generation. `pp_panopainter_ui` now owns app-specific modal, -dialog, panel, canvas, viewport, color-picker, stroke-preview, and tool UI -workflow nodes outside `pp_legacy_app`; base `Node` controls and layout -plumbing remain in the legacy target until the UI core/app UI boundary is -tightened. Android arm64 now configures and builds headless +`panopainter_app` is now a real static target that owns app orchestration +sources, app version metadata, and version-header generation. +`pp_panopainter_ui` now owns app-specific modal, dialog, panel, canvas, +viewport, color-picker, stroke-preview, and tool UI workflow nodes outside +`pp_legacy_app`; base `Node` controls and layout 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 app/package files remain during Phase 6 alignment.