Background tasks: aggregate progress bar for parent tasks with children
Goal
When a background task has multiple child subtasks (e.g., importing multiple assets as part of a batch operation), display a single aggregate progress bar in the taskbar instead of showing the per-subtask progress. This gives users a cleaner overview of overall progress.
Context / integration points
- Background tasks API (
editor/orstudio/services/). - Asset importing spawns one task per asset, which shows as individual progress entries.
- Taskbar currently shows each subtask's progress individually.
- Parent/child task relationship already exists in the task system.
Design
- If a task has children, the taskbar shows an aggregate progress bar for the parent instead of individual child progress bars.
- The aggregate progress = (completed children / total children).
- Expand/collapse toggle on the parent to show/hide individual child progress (optional, for debugging).
- The parent task title summarizes the operation (e.g., "Importing 12 textures...").
- Subtasks are still tracked internally and individually cancellable if needed.
Tasks
- Detect parent-child task relationships in the progress display
- Implement aggregate progress computation for parent tasks
- Show aggregate bar in the taskbar for parent tasks
- Hide individual child progress by default
- Add optional expand/collapse to show children
- Test with batch import of 10+ assets
Acceptance criteria
- Batch tasks show one aggregate progress bar instead of many individual ones.
- The aggregate bar correctly reflects overall completion.
- Individual subtask progress is still accessible (expand to view).
- The taskbar is less cluttered during batch operations.