bevyengine / bevyengine/bevy

Local UI stacks

Open
#25,152 0 comments 0 reactions 0 assignees View on GitHub
A-Rendering A-UI C-Performance S-Ready-For-Implementation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
4d 8m
Merged PRs (30d)
147

Description

## What problem does this solve or what need does it fill?

The UI stacking order is stored in the `UiStack` resource in a single ordered list of entities which makes its difficult to track local changes.

For example, if you add a new node to the center of the list, every node after it gets a new stack index. Even if the nodes aren't ordered against each other, for instance because they are rendered to different cameras.

## What solution would you like?

To enable coarser change tracking, split up UI stack into local lists stored on each root node

## What alternative(s) have you considered?

Some sort of tree of spans with dirty flags, maybe. Rebuilding each flat list isn't that expensive though, it may not be worth it.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.