Bind Win32 tablet state in runtime shell

This commit is contained in:
2026-06-17 08:52:02 +02:00
parent 3930e70817
commit e9723276be
6 changed files with 107 additions and 80 deletions

View File

@@ -92,6 +92,14 @@ Current hotspot files:
Latest slice:
- The Win32 stylus and pointer-input path no longer reaches
`WacomTablet::I` directly inside
`src/platform_windows/windows_window_shell.cpp` or
`src/platform_windows/windows_stylus_input.cpp`; the live Windows runtime
shell now binds the active tablet explicitly through
`src/platform_windows/windows_runtime_shell.*`, leaving
`WacomTablet::I` only at the entry composition edge where the runtime shell
binds the active tablet instance.
- The remaining dense Windows bootstrap singleton pocket moved off
`App::I`: `setup_exception_handler(...)`, `initialize_main_window_startup_state(...)`,
and `_pre_call_callback(...)` now use explicit app/bound-runtime state

View File

@@ -56,8 +56,11 @@ 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
- thread-affinity rules are enforced by convention and asserts instead of
explicit runtime contracts
- the Win32 input path now binds the active `WacomTablet*` explicitly
through `windows_runtime_shell`, but that tablet binding still lives at a
composition edge instead of a broader runtime/platform-owned controller
- thread-affinity rules are enforced by convention and asserts instead of
explicit runtime contracts
- The UI ownership boundary is not finished:
- base `Node` still carries raw parent/manager pointers beside shared handles
- callback captures still frequently close over retained nodes and `App::I`
@@ -1202,6 +1205,13 @@ Why now:
platform-handle state on `App`, which blocks a real `pp_platform_*` shell split.
Current slice:
- The Win32 stylus and pointer-input path no longer reaches
`WacomTablet::I` directly in
`src/platform_windows/windows_window_shell.cpp` or
`src/platform_windows/windows_stylus_input.cpp`;
`src/platform_windows/windows_runtime_shell.*` now binds the active tablet
explicitly and the touched consumers read it through that runtime-shell
binding instead of the process-global singleton.
- The remaining dense Windows bootstrap singleton pocket moved off
`App::I`: `setup_exception_handler(...)`,
`initialize_main_window_startup_state(...)`, and `_pre_call_callback(...)`