diff --git a/docs/modernization/debt.md b/docs/modernization/debt.md index 4997bc69..219c9469 100644 --- a/docs/modernization/debt.md +++ b/docs/modernization/debt.md @@ -18,6 +18,12 @@ agent or engineer to remove them without reconstructing context from chat. ## Recent Reductions +- 2026-06-15: `DEBT-0038` was narrowed again. The retained cloud download + progress-dialog creation path in `execute_cloud_download_thread()` now + routes through a focused helper in `src/legacy_cloud_services.cpp` instead + of living inline in the retained worker body; the remaining cloud bridge + debt stays concentrated in retained prompt/progress lifetime, OpenGL + context guarding, and the still-retained transfer-thread execution model. - 2026-06-15: `DEBT-0038` was narrowed again. The retained cloud download thread launch in `LegacyCloudServices::start_download()` now routes through a focused helper in `src/legacy_cloud_services.cpp` instead of living diff --git a/docs/modernization/roadmap.md b/docs/modernization/roadmap.md index 6f6f1eb4..2b0195d7 100644 --- a/docs/modernization/roadmap.md +++ b/docs/modernization/roadmap.md @@ -182,6 +182,11 @@ The retained cloud download thread launch in helper in `src/legacy_cloud_services.cpp`, so the remaining cloud bridge debt is further concentrated on retained prompt/progress lifetime, OpenGL context guarding, and the still-retained transfer-thread execution model. +The retained cloud download progress-dialog creation path in +`execute_cloud_download_thread()` now also routes through a focused helper in +`src/legacy_cloud_services.cpp`, so the remaining cloud bridge debt is +further concentrated on retained prompt/progress lifetime, OpenGL context +guarding, and the still-retained transfer-thread execution model. Recent 2026-06-13 retained preview reductions continue to narrow DEBT-0036: `NodeStrokePreview::draw_stroke_immediate()` now also routes diff --git a/docs/modernization/tasks.md b/docs/modernization/tasks.md index 6f3a0b91..5666e355 100644 --- a/docs/modernization/tasks.md +++ b/docs/modernization/tasks.md @@ -1053,6 +1053,40 @@ Completed Task Log: | Date | Task | Score | Validation | Commit | | --- | --- | ---: | --- | --- | | 2026-06-15 | ADP-027 | no score movement | `MSBuild.exe out\build\windows-msvc-default\panopainter_app.vcxproj /p:Configuration=Debug /p:Platform=x64`; `ctest --preset desktop-fast --build-config Debug -R "pp_app_core_document_cloud" --output-on-failure` | `88018f6c` | + +### ADP-028 - Extract Cloud Download Progress Dialog Helper + +Status: Done +Score: no score movement +Debt: `DEBT-0038` +Scope: `src/legacy_cloud_services.cpp` only + +Goal: + +Reduce the inline retained cloud download progress-dialog surface by extracting +the dialog creation path from `execute_cloud_download_thread()` into a +focused helper while preserving current behavior. + +Done Checks: + +- The retained cloud download progress-dialog creation path no longer lives + inline in `execute_cloud_download_thread()`. +- The retained cloud download progress-dialog creation path now routes + through a focused helper in `src/legacy_cloud_services.cpp`. +- `DEBT-0038` and the roadmap note the reduced remaining cloud bridge + surface. + +Validation: + +```powershell +& 'C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe' out\build\windows-msvc-default\panopainter_app.vcxproj /p:Configuration=Debug /p:Platform=x64 +ctest --preset desktop-fast --build-config Debug -R "pp_app_core_document_cloud" --output-on-failure +``` + +Completed Task Log: + +| Date | Task | Score | Validation | Commit | +| --- | --- | ---: | --- | --- | | 2026-06-15 | ADP-007 | +1 legacy adapter retirement | `ctest --preset desktop-fast --build-config Debug -R "pp_app_core_app_dialog\|pp_ui_core_node_lifetime\|pp_ui_core_overlay_lifetime" --output-on-failure`; `ctest --preset desktop-fast --build-config Debug -R "pp_app_core_main_toolbar" --output-on-failure`; `MSBuild.exe out\build\windows-msvc-default\tests\pp_app_core_main_toolbar_tests.vcxproj /p:Configuration=Debug /p:Platform=x64`; `MSBuild.exe out\build\windows-msvc-default\panopainter_app.vcxproj /p:Configuration=Debug /p:Platform=x64` | `8db859cb` | ### RND-001 - Make Pure Equirectangular Export The Primary Success Path diff --git a/src/legacy_cloud_services.cpp b/src/legacy_cloud_services.cpp index b639be6d..f1f042a5 100644 --- a/src/legacy_cloud_services.cpp +++ b/src/legacy_cloud_services.cpp @@ -70,6 +70,13 @@ void handle_cloud_upload_transfer_result(CURLcode err, const std::string& res) std::cout << "\n\nUPLOAD RESULT\n" << res << "\n\n\n"; } +std::shared_ptr create_cloud_download_progress_dialog(App& app) +{ + return pp::panopainter::create_legacy_app_message_dialog( + app, + pp::app::plan_cloud_download_progress_prompt()); +} + void execute_cloud_download_transfer( App& app, std::string url, @@ -163,9 +170,7 @@ void execute_cloud_download_thread( { BT_SetTerminate(); - auto m = pp::panopainter::create_legacy_app_message_dialog( - app, - pp::app::plan_cloud_download_progress_prompt()); + auto m = create_cloud_download_progress_dialog(app); std::string url = "https://panopainter.com/cloud/cloud-dwl.php?file=" + request.selected_file; execute_cloud_download_transfer(app, url, request.selected_path, [m](float p) { const auto progress = pp::app::format_cloud_download_progress_message(p);