Open
Description
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 in PostUpdate
, and overwrites the user-set value unconditionally.
This is also true of AnimationClip
s. A system overwrites bone transforms targeted by an animations in PostUpdate
. Even if the AnimationClip
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
, or ComputedVisibilty
and enable writing to those, since now we are capable to emit an error message with 0 overhead if they are misused.
Metadata
Metadata
Assignees
Labels
Make things move and change over timeTranslations, rotations and scalesGraphical user interfaces, styles, layouts, and widgetsA new feature, making something new possibleA targeted quality-of-life change that makes Bevy easier to useQuite challenging from either a design or technical perspective. Ask for help!This issue or PR is particularly complex, and needs an approved design doc before it can be merged