Skip to content

Conversation

@alice-i-cecile
Copy link
Member

Objective

Solution

  • Change the schedule from Update to PostUpdate

Testing

  • I'm not sure exactly how to test this effectively: @viridia, can you advise?

@alice-i-cecile alice-i-cecile force-pushed the text-font-propagation branch from 31d9904 to 5ea2dd7 Compare August 6, 2025 23:13
@alice-i-cecile alice-i-cecile added D-Trivial Nice and easy! A great choice to get started with Bevy A-UI Graphical user interfaces, styles, layouts, and widgets C-Usability A targeted quality-of-life change that makes Bevy easier to use X-Contentious There are nontrivial implications that should be thought through S-Needs-Testing Testing must be done before this is safe to merge labels Aug 6, 2025
@alice-i-cecile alice-i-cecile added this to the 0.17 milestone Aug 6, 2025
Copy link
Contributor

@ickshonpe ickshonpe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The propagation systems for TextFont need to run in UiSystems::Propagate so the fonts are up-to-date for measure_text_system and detect_text_needs_rerender in UiSystems::Content.

TextColor it doesn't matter though, the colors are only needed during extraction.

@alice-i-cecile alice-i-cecile added D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Waiting-on-Author The author needs to make changes or address concerns before this can be merged and removed D-Trivial Nice and easy! A great choice to get started with Bevy S-Needs-Testing Testing must be done before this is safe to merge labels Aug 6, 2025
@viridia
Copy link
Contributor

viridia commented Aug 7, 2025

Yeah, what @ickshonpe said.

Testing: is pretty easy if you look fast. Run the feathers example without this fix - right at the start, you'll see all of the text in a different font, and then one frame later (one long frame - the app is still starting up so things are a bit slow) the text will "pop" into the correct font. Apply the fix, and this problem goes away.

The problem is even more evident in the popup menu example - but that only runs in cart's BSN branch.

@alice-i-cecile
Copy link
Member Author

Awesome, thank you both. I'll get to that tomorrow.

@alice-i-cecile
Copy link
Member Author

I've applied the fix, and cannot reproduce the bug on this branch. I also couldn't reproduce it on main, but this is definitely a better plan regardless so I'm not too upset about that.

@alice-i-cecile alice-i-cecile added X-Uncontroversial This work is generally agreed upon S-Needs-Review Needs reviewer attention (from anyone!) to move forward and removed X-Contentious There are nontrivial implications that should be thought through S-Waiting-on-Author The author needs to make changes or address concerns before this can be merged labels Aug 11, 2025
Copy link
Contributor

@viridia viridia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, well on main the bug was non-deterministic.

@cart cart added this pull request to the merge queue Aug 12, 2025
@alice-i-cecile alice-i-cecile added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Aug 12, 2025
Merged via the queue into bevyengine:main with commit d4e059c Aug 12, 2025
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-UI Graphical user interfaces, styles, layouts, and widgets C-Usability A targeted quality-of-life change that makes Bevy easier to use D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it X-Uncontroversial This work is generally agreed upon

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generic propagation should happen in PostUpdate

4 participants