Project planning: UI hierarchies and the current Parent-Child implementation #2572
alice-i-cecile
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
(Following up from #2569) As it stands, the existing Parent-Child implementation has several serious issues, particularly in a UI context:
build_ui
systems. See User experience report: `bevy_ui` in Bevy 0.5 #2235 for my own experiences.There are also some less pressing issues:
stretch
layout library has poor performance (particularly for large and complex trees), several bugs, and was last updated two years ago.Children
component will be heap-allocated if more than 8 exist, creating sudden perf cliffs. Seebevy/crates/bevy_transform/src/hierarchy/child_builder.rs
Line 13 in ecb7804
Node
,Style
,Transform
orGlobalTransform
are missing (depending on what exactly the user is doing). Kinded entities #1634's kinded entities are an attempt to tackle this problem.Style
component to manually position visual elements in UI coordinate space.(Let me know if you have more complaints or disagree and I'll edit this post).
Paths forward
The current solution is not great, and should probably be prioritized for cleanup in some form due to the number and severity of user bugs it has created.
For the most part, I think that this work should wait until 0.7 to avoid delaying release, but documentation improvements from non-Cart contributors are probably still a good use of time before then no matter what path we choose.
Beta Was this translation helpful? Give feedback.
All reactions