Own brush workers and thin preview/platform seams
This commit is contained in:
@@ -42,12 +42,13 @@ Completed, blocked, and superseded task history moved to
|
||||
`src/node_canvas.cpp`, `src/app.cpp`, and `src/app_dialogs.cpp`.
|
||||
- The platform boundary is not finished:
|
||||
- `pp_platform_api` still compiles Apple implementation files
|
||||
- Apple and Linux platform services still reach `App::I`
|
||||
- Apple platform services still reach `App::I`
|
||||
- Linux FPS title reporting now uses an injected callback, but broader
|
||||
platform-to-app singleton reach is still open
|
||||
- `platform_legacy` is still part of the live app shell
|
||||
- The app runtime boundary is not finished:
|
||||
- render/UI queues are static `App` state
|
||||
- detached workers still launch from canvas, cloud, brush, grid, preview, and
|
||||
event code
|
||||
- detached workers still launch from canvas, grid, preview, and event code
|
||||
- thread-affinity rules are enforced by convention and asserts instead of
|
||||
explicit runtime contracts
|
||||
- The UI ownership boundary is not finished:
|
||||
@@ -114,12 +115,17 @@ Mini-model packet:
|
||||
|
||||
#### ARC-RND-002 - Isolate Preview And Canvas View Render Execution
|
||||
|
||||
Status: Ready
|
||||
Status: In Progress
|
||||
|
||||
Why now:
|
||||
`src/node_stroke_preview.cpp` and `src/node_canvas.cpp` still own a large amount
|
||||
of live preview/canvas render sequencing around the renderer boundary.
|
||||
|
||||
Current slice:
|
||||
- `NodeStrokePreview` final composite plus preview-texture copy now route
|
||||
through `legacy_node_stroke_preview_execution_services.h`, but the preview
|
||||
node still owns most live-pass and retained GL resource execution.
|
||||
|
||||
Write scope:
|
||||
- `src/node_stroke_preview.cpp`
|
||||
- `src/node_canvas.cpp`
|
||||
@@ -330,13 +336,20 @@ Mini-model packet:
|
||||
|
||||
#### ARC-APP-005 - Replace Detached App Workers With Joinable Or Service-Owned Work
|
||||
|
||||
Status: Ready
|
||||
Status: In Progress
|
||||
|
||||
Why now:
|
||||
Canvas imports/exports/saves, cloud transfer, brush import/export, grid
|
||||
lightmap work, stroke preview, and event persistence still launch detached
|
||||
threads. That is not a safe modernization foundation.
|
||||
|
||||
Current slice:
|
||||
- app-owned render/UI runtime queues and cloud worker ownership are already
|
||||
moving behind owned runtime/service objects
|
||||
- brush package import/export now use service-owned `std::jthread` workers and
|
||||
UI-thread completion handoff
|
||||
- canvas, grid, preview, and event-side detached work is still open
|
||||
|
||||
Write scope:
|
||||
- `src/canvas.cpp`
|
||||
- `src/app_cloud.cpp`
|
||||
@@ -525,12 +538,18 @@ Mini-model packet:
|
||||
|
||||
#### ARC-PLT-002 - Remove `App::I` Reach From Apple And Linux Services
|
||||
|
||||
Status: Ready
|
||||
Status: In Progress
|
||||
|
||||
Why now:
|
||||
The current Apple and Linux service files still call into the app singleton,
|
||||
which means the platform layer is not a platform layer yet.
|
||||
|
||||
Current slice:
|
||||
- Linux FPS title updates now route through an injected callback installed from
|
||||
`App::set_platform_services()`
|
||||
- Apple singleton reach and the remaining platform callback surface are still
|
||||
open
|
||||
|
||||
Write scope:
|
||||
- `src/platform_apple/*`
|
||||
- `src/platform_linux/*`
|
||||
|
||||
Reference in New Issue
Block a user