Trim main task queue, recording label, and canvas draw callbacks

This commit is contained in:
2026-06-16 08:57:15 +02:00
parent 667589f1f6
commit ad76aeb751
8 changed files with 130 additions and 50 deletions

View File

@@ -159,6 +159,10 @@ Current slice:
also routes through `make_legacy_canvas_draw_merge_layer_texture_draw(...)`,
but the node still owns broader live layer traversal and renderer-state
sequencing.
- `NodeCanvas` non-`draw_merged` per-frame layer draw callback setup now also
routes through `make_legacy_canvas_draw_merge_layer_frame_draw(...)`, but
the node still owns broader live layer traversal and renderer-state
sequencing.
- `NodeCanvas` smoothing-mask face shader setup plus per-face draw execution
now also route through
`execute_legacy_canvas_draw_merge_smask_faces(...)`, but the node still owns
@@ -364,6 +368,8 @@ Current slice:
`src/platform_windows/windows_platform_services.cpp` instead of `main.cpp`
retained state, and `main.cpp` only seeds that platform-owned context handle
pair during initialization and context recreation
- `main.cpp` main-thread queued task state now sits behind a narrow retained
helper instead of `RetainedState.main_tasklist` / `main_task_mutex` directly
- prepared-file background work now runs through an `AppRuntime`-owned worker
queue instead of a retained static worker in `src/app_events.cpp`
- canvas async import/export/save/open background work now also runs through an
@@ -436,6 +442,9 @@ Current slice:
retained recording bridge in `src/legacy_recording_services.cpp`, while
`App::update()` no longer carries the dead update mutex residue; retained
recording loop control, readback ownership, and MP4 execution are still open
- `App::update_rec_frames()` now delegates recording label refresh through
`src/legacy_recording_services.cpp`, but retained recording label lookup,
encoder-state reads, and MP4 execution still stay on the legacy bridge
Write scope:
- `src/canvas.cpp`