-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Bevy overwrites unconditionally user Transform #8943
Copy link
Copy link
Open
Labels
A-AnimationMake things move and change over timeMake things move and change over timeA-TransformTranslations, rotations and scalesTranslations, rotations and scalesA-UIGraphical user interfaces, styles, layouts, and widgetsGraphical user interfaces, styles, layouts, and widgetsC-FeatureA new feature, making something new possibleA new feature, making something new possibleC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to useD-ComplexQuite challenging from either a design or technical perspective. Ask for help!Quite challenging from either a design or technical perspective. Ask for help!S-Needs-Design-DocThis issue or PR is particularly complex, and needs an approved design doc before it can be mergedThis issue or PR is particularly complex, and needs an approved design doc before it can be merged
Metadata
Metadata
Assignees
Labels
A-AnimationMake things move and change over timeMake things move and change over timeA-TransformTranslations, rotations and scalesTranslations, rotations and scalesA-UIGraphical user interfaces, styles, layouts, and widgetsGraphical user interfaces, styles, layouts, and widgetsC-FeatureA new feature, making something new possibleA new feature, making something new possibleC-UsabilityA targeted quality-of-life change that makes Bevy easier to useA targeted quality-of-life change that makes Bevy easier to useD-ComplexQuite challenging from either a design or technical perspective. Ask for help!Quite challenging from either a design or technical perspective. Ask for help!S-Needs-Design-DocThis issue or PR is particularly complex, and needs an approved design doc before it can be mergedThis issue or PR is particularly complex, and needs an approved design doc before it can be merged
Problem: When I write to the
Transformof a UI node, it doesn't do anything and I see no error messages.Why this happens is fairly trivial:
Transformis updated by the UI system inPostUpdate, and overwrites the user-set value unconditionally.This is also true of
AnimationClips. A system overwrites bone transforms targeted by an animations inPostUpdate. Even if theAnimationClipis 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, orComputedVisibiltyand enable writing to those, since now we are capable to emit an error message with 0 overhead if they are misused.