Own runtime threads and thin platform/canvas seams
This commit is contained in:
@@ -137,6 +137,10 @@ Current slice:
|
||||
draw, heightmap draw, and current-mode draw now also route through
|
||||
`execute_legacy_canvas_draw_merge_post_draw(...)`, but broader canvas draw
|
||||
orchestration is still inline.
|
||||
- `NodeCanvas` non-`draw_merged` per-layer/per-plane retained draw execution
|
||||
now also routes through `execute_legacy_canvas_draw_merge_layer_plane(...)`,
|
||||
but the node still owns substantial live layer traversal and renderer state
|
||||
orchestration.
|
||||
|
||||
Write scope:
|
||||
- `src/node_stroke_preview.cpp`
|
||||
@@ -313,13 +317,21 @@ Mini-model packet:
|
||||
|
||||
#### ARC-APP-004 - Move Render/UI Queues Into An Owned App Runtime Service
|
||||
|
||||
Status: Ready
|
||||
Status: In Progress
|
||||
|
||||
Why now:
|
||||
`App` still owns static render/UI queues, mutexes, condition variables, and
|
||||
thread ids. That makes thread safety hard to reason about and keeps platform
|
||||
entrypoints coupled to the singleton.
|
||||
|
||||
Current slice:
|
||||
- render/UI queues, mutexes, condition variables, and thread identity already
|
||||
live in `AppRuntime`
|
||||
- `AppRuntime` render/UI worker ownership now also uses `std::jthread` plus
|
||||
explicit stop requests instead of raw `std::thread`
|
||||
- retained `App` composition, task call sites, and platform/runtime entrypoint
|
||||
coupling are still not fully reduced behind the runtime contract
|
||||
|
||||
Write scope:
|
||||
- `src/app.h`
|
||||
- `src/app.cpp`
|
||||
@@ -570,6 +582,9 @@ Current slice:
|
||||
- `LegacyPlatformServices::prepare_storage_paths()` now routes Apple path
|
||||
preparation through a narrow local helper instead of reading `App::I`
|
||||
directly in that method body
|
||||
- iOS virtual-keyboard visibility and prepared-file save handoff now also route
|
||||
through explicit Apple bridge callbacks instead of direct `App::I` calls in
|
||||
`LegacyPlatformServices`
|
||||
- retained Apple callback injection and broader `platform_legacy` singleton
|
||||
reach are still open
|
||||
|
||||
|
||||
Reference in New Issue
Block a user