Bevy overwrites unconditionally user Transform
#8943
Labels
A-Animation
Make things move and change over time
A-Transform
Translations, rotations and scales
A-UI
Graphical user interfaces, styles, layouts, and widgets
C-Feature
A new feature, making something new possible
C-Usability
A targeted quality-of-life change that makes Bevy easier to use
D-Complex
Quite challenging from either a design or technical perspective. Ask for help!
S-Needs-Design-Doc
This issue or PR is particularly complex, and needs an approved design doc before it can be merged
Problem: When I write to the
Transform
of a UI node, it doesn't do anything and I see no error messages.Why this happens is fairly trivial:
Transform
is updated by the UI system inPostUpdate
, and overwrites the user-set value unconditionally.This is also true of
AnimationClip
s. A system overwrites bone transforms targeted by an animations inPostUpdate
. Even if theAnimationClip
is paused!What solution would I like
We should detect "Write-only" systems and emit an error message when users write to a component that is later accessed by a write-only system.
Future potential
We could extend this to
GlobalTransform
, orComputedVisibilty
and enable writing to those, since now we are capable to emit an error message with 0 overhead if they are misused.The text was updated successfully, but these errors were encountered: