bevy/crates
Christian Hughes 2be3bc5310
Improve node encapsulation in ScheduleGraph (#20119)
# Objective

- Part of #20115

We want to encapsulate each part of `ScheduleGraph` into its own
specific struct to make parts of it easier to reuse and maintain.

## Solution

- Pulled `ScheduleGraph::systems` and `ScheduleGraph::system_conditions`
into a `Systems` struct and added a field for this new struct to
`ScheduleGraph`
- Broke up `ScheduleGraph::uninit` into `Systems::uninit` and
`SystemSets::uninit` to eliminate `ScheduleGraph`'s direct field access
of these types
- Removed node and condition accessors from `ScheduleGraph`; the same
operations are now available on `Systems` and `SystemSets` instead
(accessible via their `pub` fields on `ScheduleGraph`)
- Moved `Systems`, `SystemSets`, `SystemNode`, `SystemWithAccess`, and
`ConditionWithAccess` into a separate file.

## Testing

Added two new tests covering the API surface of `Systems` and
`SystemSets`, respectively.

---------

Co-authored-by: Chris Russell <8494645+chescock@users.noreply.github.com>
2025-07-15 06:29:52 +00:00
..
bevy_a11y Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00
bevy_animation remove unused dependencies (#19998) 2025-07-07 20:10:33 +00:00
bevy_anti_aliasing Clean up several miscellaneous uses of weak_handle. (#19408) 2025-07-08 06:45:40 +00:00
bevy_app Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00
bevy_asset Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00
bevy_audio remove unused dependencies (#19998) 2025-07-07 20:10:33 +00:00
bevy_camera Add doc examples to viewport_to_world(_2d) (#20096) 2025-07-14 21:24:28 +00:00
bevy_color Ugrade to wgpu version 25.0 (#19563) 2025-06-26 19:41:47 +00:00
bevy_core_pipeline Mini Blit refactor (#20118) 2025-07-14 21:50:56 +00:00
bevy_core_widgets Fix core widgets unconditionally enabling bevy_ui_picking_backend (#20055) 2025-07-14 20:55:42 +00:00
bevy_derive
bevy_dev_tools Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00
bevy_diagnostic Add max_history_length to EntityCountDiagnosticsPlugin (#20085) 2025-07-12 23:00:38 +00:00
bevy_dylib
bevy_ecs Improve node encapsulation in ScheduleGraph (#20119) 2025-07-15 06:29:52 +00:00
bevy_encase_derive
bevy_feathers Rename the InterpolationColorSpace variants to match Color. (#20142) 2025-07-14 22:30:43 +00:00
bevy_gilrs remove unused dependencies (#19998) 2025-07-07 20:10:33 +00:00
bevy_gizmos remove unused dependencies (#19998) 2025-07-07 20:10:33 +00:00
bevy_gltf Fix glTF light orientation (#20122) 2025-07-14 13:20:18 +00:00
bevy_image Add zstd release note (#20053) 2025-07-14 20:53:26 +00:00
bevy_input Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00
bevy_input_focus Rename send_event and similar methods to write_event (#20017) 2025-07-07 22:05:16 +00:00
bevy_internal make optional crates for mesh, camera, and light (#19997) 2025-07-07 07:35:32 +00:00
bevy_light Allow NotShadowCaster to be used with HierarchyPropagatePlugin. (#20120) 2025-07-14 21:55:12 +00:00
bevy_log Upgrade to Rust 1.88 (#19825) 2025-06-26 19:38:19 +00:00
bevy_macro_utils
bevy_math Rhombus sampling (#20082) 2025-07-14 21:05:42 +00:00
bevy_mesh remove unused dependencies (#19998) 2025-07-07 20:10:33 +00:00
bevy_mikktspace
bevy_pbr Fix AmbientLight::affects_lightmapped_meshes not working (#20083) 2025-07-14 21:13:10 +00:00
bevy_picking Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00
bevy_platform bevy_platform: clippy without default features (#19860) 2025-06-29 17:12:57 +00:00
bevy_ptr
bevy_reflect Streamline GetOwnership/FromArg/IntoReturn (#20126) 2025-07-14 21:57:34 +00:00
bevy_remote formatting fix in bevy_remote cargo.toml (#20033) 2025-07-08 17:02:02 +00:00
bevy_render GpuReadbackPlugin: Allow reading only a part of a buffer (#20133) 2025-07-14 21:01:16 +00:00
bevy_scene Upgrade to Rust 1.88 (#19825) 2025-06-26 19:38:19 +00:00
bevy_solari Fix link to bevy_solari logo (#20097) 2025-07-14 21:25:44 +00:00
bevy_sprite Material, mesh, skin extraction optimization (#17976) 2025-07-09 06:23:44 +00:00
bevy_state Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00
bevy_tasks
bevy_text consistently dont use smallvec default features (#19972) 2025-07-06 04:25:26 +00:00
bevy_time Document repeating timer tick behavior (#20137) 2025-07-14 22:31:31 +00:00
bevy_transform
bevy_ui Rename the InterpolationColorSpace variants to match Color. (#20142) 2025-07-14 22:30:43 +00:00
bevy_ui_render Rename the InterpolationColorSpace variants to match Color. (#20142) 2025-07-14 22:30:43 +00:00
bevy_utils Make Parallel<T> more T: !Default accessible (#17943) 2025-07-07 20:22:20 +00:00
bevy_window Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00
bevy_winit Split BufferedEvent from Event (#20101) 2025-07-14 21:31:48 +00:00