Retained UI renderer
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## Goal Description
Rework `bevy_ui_render` to use a retained mode pipeline. The rendering state and derived data should persist across frames, rebuilt incrementally only on changes to layouts, styling and content. The primary focus is rendering, but many of the non-rendering UI systems will also need changes to update incrementally and provide finer grained change tracking.
## Goal Status
This is a potential [Bevy Project Goal](https://bevy.org/learn/contribute/project-information/project-goals/). Its state on the [Project Goals Board](https://github.com/orgs/bevyengine/projects/23/views/1) determines if it is Proposed, Postponed, Blocked (Approved), Inactive (Approved), Active (Approved), Completed, or Declined.
- **Staffing SMEs**: @ickshonpe
- **Working Group Link**: Working Group not yet formed
- **Design Documents**: Design documents not yet written
Contributor guide
Research direction
Start by reading the bevy_ui_render implementation and checking the Project Goals Board for the goal's current status. No design documents or working group are provided, so the retained pipeline and incremental update boundaries still need to be defined. Done means UI rendering and affected non-rendering systems retain derived state across frames and update it only when layout, styling, or content changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100