Transform requires GlobalTransform, causing subtle bugs
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## Bevy version and features
0.16.2
## What you did
When inserting a `Transform` component on an entity, Bevy automatically requires and inserts a default `GlobalTransform` component. However, this default `GlobalTransform` is zero until transform propagation has run which isn't useful and potentially causes issues for code that expects `GlobalTransform` to be meaningful.
## What went wrong
`GlobalTransform` is zero when it is not expected to be. Causes subtle single-frame bugs until propagation has run.
Contributor guide
Research direction
Start by reproducing the reported behavior in Bevy 0.16.2: insert a Transform, inspect its automatically inserted GlobalTransform before and after transform propagation, and review the related transform component and propagation entry points. Done means the default GlobalTransform no longer produces the reported single-frame inconsistency, with coverage for the insertion and propagation timing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100