# Objective
Currently text is recomputed unnecessarily on any changes to its color,
which is extremely expensive.
## Solution
Split up `TextStyle` into two separate components `TextFont` and
`TextColor`.
## Testing
I added this system to `many_buttons`:
```rust
fn set_text_colors_changed(mut colors: Query<&mut TextColor>) {
for mut text_color in colors.iter_mut() {
text_color.set_changed();
}
}
```
reports ~4fps on main, ~50fps with this PR.
## Migration Guide
`TextStyle` has been renamed to `TextFont` and its `color` field has
been moved to a separate component named `TextColor` which newtypes
`Color`.
|
||
|---|---|---|
| .. | ||
| src | ||
| B0001.md | ||
| B0002.md | ||
| B0003.md | ||
| B0004.md | ||
| B0005.md | ||
| B0006.md | ||
| Cargo.toml | ||
| README.md | ||
Bevy Error Codes
This crate lists and tests explanations and examples of Bevy's error codes.
For the latest Bevy release, you can find a rendered version of the error code descriptions at bevyengine.org/learn/errors.