-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Split UI/2D Transforms from 3D #7876
Copy link
Copy link
Open
Labels
A-TransformTranslations, rotations and scalesTranslations, rotations and scalesC-FeatureA new feature, making something new possibleA new feature, making something new possibleC-PerformanceA change motivated by improving speed, memory usage or compile timesA change motivated by improving speed, memory usage or compile timesC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to useX-Needs-SMEThis type of work requires an SME to approve it.This type of work requires an SME to approve it.
Metadata
Metadata
Assignees
Labels
A-TransformTranslations, rotations and scalesTranslations, rotations and scalesC-FeatureA new feature, making something new possibleA new feature, making something new possibleC-PerformanceA change motivated by improving speed, memory usage or compile timesA change motivated by improving speed, memory usage or compile timesC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to useX-Needs-SMEThis type of work requires an SME to approve it.This type of work requires an SME to approve it.
Type
Projects
Status
Widget-ready
What problem does this solve or what need does it fill?
A full 3D affine transform is a poor fit for UIs and often overkill for 2D uses.
Transformand it's propagation system is a major bottleneck inPostUpdate, with a large number of potentially separable systems dependent on them.What solution would you like?
Split out
Transform2DandRectTransformfromTransform, explicitly for their respective use cases.Pros
TransformandGlobalTransform.GlobalTransformequivalent, relying on the UI layouting algorithm instead.Cons
PostUpdateis now more involved.What alternative(s) have you considered?
Leave it as is for now.