Own Win32 startup flow in runtime layer

This commit is contained in:
2026-06-17 16:26:18 +02:00
parent 3230da243a
commit b311afedd2
6 changed files with 152 additions and 84 deletions

View File

@@ -18,6 +18,12 @@ agent or engineer to remove them without reconstructing context from chat.
## Reductions
- 2026-06-17: `DEBT-0003` was narrowed again.
`src/platform_windows/windows_runtime_flow.*` now owns the live Win32
startup/session composition flow, including the bound app/session preflight
and the existing `convert` / `-vrmode` mode switch, so
`src/platform_windows/windows_runtime_shell.cpp` is down to a thin entry
wrapper and no longer repeats manual app/session teardown on each exit path.
- 2026-06-17: `DEBT-0017` was narrowed again. The orphaned
`src/platform_legacy/legacy_platform_services.*` shim and its
`legacy_platform_fallback_behavior.h` helper were deleted after the root app,

View File

@@ -70,6 +70,17 @@ What is already real:
- `pp_app_core`
Latest slice:
- `src/platform_windows/windows_runtime_flow.*` now owns the live Win32
composition-edge startup flow instead of leaving that dense startup/session
body inside `src/platform_windows/windows_runtime_shell.cpp`.
- The new bound runtime-flow owner now binds the live `MainWindowSession`,
performs the Win32 startup preflight (`initLog`, DPI/shcore, stylus init,
runtime data dir, retained input setup, exception handler, WMI probe, and
`App::create()`), handles the existing `convert` / `-vrmode` mode switch,
and always tears down the bound app/session through one destructor path.
- `src/platform_windows/windows_runtime_shell.cpp` is down to a thin Windows
entry wrapper over `run_main_application_flow(...)`, so the composition edge
is smaller and the repeated bind/release exit paths are gone from the shell.
- The orphaned `src/platform_legacy/legacy_platform_services.*` shim and its
`src/platform_legacy/legacy_platform_fallback_behavior.h` helper are now
deleted from the repo.

View File

@@ -57,7 +57,8 @@ Completed, blocked, and superseded task history moved to
now also binds directly from `src/platform_web/web_platform_services.*`,
but the broader non-Windows fallback adapter still exists as generic
fallback policy
- `platform_legacy` is still part of the live app shell
- the deleted `platform_legacy` shim is no longer in the root app graph, but
retained package/build compatibility edges still need cleanup
- The app runtime boundary is not finished:
- render/UI queues are static `App` state
- app-facing detached launches are no longer the main issue; preview and
@@ -66,12 +67,13 @@ Completed, blocked, and superseded task history moved to
- canvas async import/export/save/open now run through an owned in-file
worker, but their retained progress execution is still not a clean runtime
service boundary
- the Win32 input path now binds the active `WacomTablet*` explicitly
through `windows_runtime_shell`, but that tablet binding still lives at a
- the Win32 input path now binds the active `WacomTablet*` through
`windows_runtime_state.*`, but that tablet binding still lives at a
composition edge instead of a broader runtime/platform-owned controller
- the touched Win32 app/window/session queries now route through narrow
runtime-shell accessors, but the broader runtime/thread host still owns
composition-edge global state and shutdown sequencing
- the touched Win32 startup/session flow now routes through
`windows_runtime_flow.*` instead of `windows_runtime_shell.cpp`, but the
broader runtime/thread host still owns composition-edge global state and
shutdown sequencing
- thread-affinity rules are enforced by convention and asserts instead of
explicit runtime contracts
- The UI ownership boundary is not finished:
@@ -84,6 +86,16 @@ Completed, blocked, and superseded task history moved to
the queue is now ordered by code movement instead.
Current slice:
- `src/platform_windows/windows_runtime_flow.*` now owns the live Win32
startup/session composition flow instead of leaving that body in
`src/platform_windows/windows_runtime_shell.cpp`.
- A bound runtime-flow owner now binds the live `MainWindowSession`, runs the
Win32 preflight startup steps, handles the existing `convert` / `-vrmode`
mode switch, and tears down the bound app/session through one destructor
path.
- `src/platform_windows/windows_runtime_shell.cpp` is down to a thin entry
wrapper over `run_main_application_flow(...)`, so the repeated app/session
teardown branches are gone from the shell.
- The orphaned `src/platform_legacy/legacy_platform_services.*` shim and
`src/platform_legacy/legacy_platform_fallback_behavior.h` helper are now
deleted.