-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
[Merged by Bors] - Split time functionality into bevy_time #4187
Conversation
I definitely like reducing the chaos of our crates further!
I think I like that: it would be nice to be able to swap it out or remove it for niche use cases. |
as it is, this would increase build time as it split a new crate without increasing parallelism |
As it turns out, bevy_diagnostic is the only in-tree user of "bevy_time", and only uses bevy_time, not the rest of the bevy_core functionality. As such, I've gone ahead and made it depend on bevy_time directly; this also means that the compilation dependency graph is reordered and no longer strictly just a pessimization. I can pull out a |
Alright, sounds good to me. |
Things continue to be easier to do than I expect (and that's a good thing! Good job everyone!) so I just went all the way to separate bevy_time from bevy_core. I am honestly surprised at how little actually needed to change to pull TimePlugin out of CorePlugin. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nit about system timing: I think this fixes an existing bug, but I'd rather not let it continue now that I've seen it.
Other than that, this LGTM: the port went very smoothly, I don't see any mistakes and I'm pretty firmly in favor of the general direction of splitting out bevy_core
into more useful parts.
Cart, if and when you merge this, please add a A - Time
label.
Only CI error seems unrelated
tree
|
Yep, not your fault. |
bors try |
tryMerge conflict. |
Rebased. This will almost certainly fail but might as well try: bors try=@alice-i-cecile |
🔒 Permission denied Existing reviewers: click here to make CAD97 a reviewer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure I agree this is needed, but it's well done
bors try |
tryMerge conflict. |
@CAD97 can you rebase? I'd like to get this in, in order to make future PRs easier. |
(gah, I missed an unused dep in the rebase. I'll get to it tomorrow when I'm back at desktop.) |
Fixed the udep. |
6faf3e8
to
e458e96
Compare
Rebased for #4469 and removed an accidental unused |
(Meta note: without a ping when a merge conflict arises, which GitHub does not provide by default, noticing that there's a merge conflict in order to rebase relies on the PR author happening to revisit the PR to see the notice, or a reviewer giving the ping.) |
705e107
to
8bb2433
Compare
"dead link" on this rebase was a 503 response from https://opensource.org/licenses/MIT |
bors try |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just added bevy_time
to the publish script. I think this is good to go.
bors r+ |
# Objective Reduce the catch-all grab-bag of functionality in bevy_core by minimally splitting off time functionality into bevy_time. Functionality like that provided by #3002 would increase the complexity of bevy_time, so this is a good candidate for pulling into its own unit. A step in addressing #2931 and splitting bevy_core into more specific locations. ## Solution Pull the time module of bevy_core into a new crate, bevy_time. # Migration guide - Time related types (e.g. `Time`, `Timer`, `Stopwatch`, `FixedTimestep`, etc.) should be imported from `bevy::time::*` rather than `bevy::core::*`. - If you were adding `CorePlugin` manually, you'll also want to add `TimePlugin` from `bevy::time`. - The `bevy::core::CorePlugin::Time` system label is replaced with `bevy::time::TimeSystem`. Co-authored-by: Carter Anderson <mcanders1@gmail.com>
# Objective Reduce the catch-all grab-bag of functionality in bevy_core by minimally splitting off time functionality into bevy_time. Functionality like that provided by bevyengine#3002 would increase the complexity of bevy_time, so this is a good candidate for pulling into its own unit. A step in addressing bevyengine#2931 and splitting bevy_core into more specific locations. ## Solution Pull the time module of bevy_core into a new crate, bevy_time. # Migration guide - Time related types (e.g. `Time`, `Timer`, `Stopwatch`, `FixedTimestep`, etc.) should be imported from `bevy::time::*` rather than `bevy::core::*`. - If you were adding `CorePlugin` manually, you'll also want to add `TimePlugin` from `bevy::time`. - The `bevy::core::CorePlugin::Time` system label is replaced with `bevy::time::TimeSystem`. Co-authored-by: Carter Anderson <mcanders1@gmail.com>
# Objective Reduce the catch-all grab-bag of functionality in bevy_core by minimally splitting off time functionality into bevy_time. Functionality like that provided by bevyengine#3002 would increase the complexity of bevy_time, so this is a good candidate for pulling into its own unit. A step in addressing bevyengine#2931 and splitting bevy_core into more specific locations. ## Solution Pull the time module of bevy_core into a new crate, bevy_time. # Migration guide - Time related types (e.g. `Time`, `Timer`, `Stopwatch`, `FixedTimestep`, etc.) should be imported from `bevy::time::*` rather than `bevy::core::*`. - If you were adding `CorePlugin` manually, you'll also want to add `TimePlugin` from `bevy::time`. - The `bevy::core::CorePlugin::Time` system label is replaced with `bevy::time::TimeSystem`. Co-authored-by: Carter Anderson <mcanders1@gmail.com>
Objective
Reduce the catch-all grab-bag of functionality in bevy_core by minimally splitting off time functionality into bevy_time. Functionality like that provided by #3002 would increase the complexity of bevy_time, so this is a good candidate for pulling into its own unit.
A step in addressing #2931 and splitting bevy_core into more specific locations.
Solution
Pull the time module of bevy_core into a new crate, bevy_time.
Migration guide
Time
,Timer
,Stopwatch
,FixedTimestep
, etc.) should be imported frombevy::time::*
rather thanbevy::core::*
.CorePlugin
manually, you'll also want to addTimePlugin
frombevy::time
.bevy::core::CorePlugin::Time
system label is replaced withbevy::time::TimeSystem
.