Better developer feedback when an entity uses an invalid combination of Sprites and Meshes
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## What problem does this solve or what need does it fill?
The Bevy engine's rendering pipeline behaves poorly when an entity contains both a Sprite and a Mesh2D. In my own experience, this combination sometimes works without issue, and at other times results in various problems with the rendering pipelines (entities losing their sprites, etc). Other developers have also ran into this issue:
* https://github.com/bevyengine/bevy/issues/19459
* https://github.com/bevyengine/bevy/discussions/18006
It is very difficult to debug this issue because (1) there are no error messages associated with these rendering issues, and (2) combining Sprite and Meshes in a single entity sometimes works and sometimes does not, leading to a bug that manifests at a seemingly random time.
## What solution would you like?
One of the following:
* Error messages in the console when something is going wrong with the rendering pipeline.
* Warning messages telling the developer that they should not combine Sprites + Meshes in a single entity.
* A runtime exception when Bevy sees that an entity has an invalid combination of Sprites + Meshes.
## What alternative(s) have you considered?
None. This is just an ease-of-debugging improvement for Bevy.
## Additional context
None
Contributor guide
Research direction
Start by reproducing an entity containing both a Sprite and a Mesh2D, then trace the rendering pipeline behavior described in the issue. Compare the possible console error, warning, and runtime-exception approaches, and define a test or reproducible case showing that developers receive clear feedback for the invalid combination.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics, game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100