-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow ordering variable timesteps around fixed timesteps #14881
Conversation
…er fixed timestep logic
Addressed all replies. I made |
It looks like your PR is a breaking change, but you didn't provide a migration guide. Could you add some context on what users should update when this change get released in a new version of Bevy? |
Having a dedicated system set seems much cleaner than ordering against the system name! What's the advantage of having three sets versus just one, though? Could you remove the (I see @NiseVoid's comment about running "after all the other before things but before |
It might be worth noting in the doc comments that the |
@chescock the ordering comes from As for the single-threaded stuff: good point, definitely worth noting or even changing entirely |
IMO we shouldn't change it, but it should be noted in the docs for the schedule. |
Co-authored-by: Tau Gärtli <git@tau.garden>
Objective
Transform
when using a fixed time step #14873, see that issue for a whole lot of contextSolution
Note that the gizmo systems, LWIM and now a new plugin I'm working on are all already ordering against
run_fixed_main_schedule
, so having a dedicated system set should be more robust and hopefully also more discoverable.ShowcaseI can add a little video of a smooth camera later if this gets merged :)Apparently a release note is not needed, so I'll leave it out. See the changes in the fixed timestep example for usage showcase and the video in #14873 for a more or less accurate video of the effect (it does not use the same solution though, so it is not quite the same)
Migration Guide
run_fixed_main_schedule is no longer public. If you used to order against it, use the new dedicated
RunFixedMainLoopSystem
system set instead. You can replace your usage ofrun_fixed_main_schedule
one for one byRunFixedMainLoopSystem::FixedMainLoop
, but it is now more idiomatic to place your systems in eitherRunFixedMainLoopSystem::BeforeFixedMainLoop
orRunFixedMainLoopSystem::AfterFixedMainLoop
Old:
New: