Skip to content

Simplify system dependency - #25776

Merged
alice-i-cecile merged 6 commits into
bevyengine:mainfrom
Trashtalk217:simplify-dependency
Sep 15, 2026
Merged

alice-i-cecile merged 6 commits into
bevyengine:mainfrom
Trashtalk217:simplify-dependency

Conversation

@Trashtalk217

Copy link
Copy Markdown
Contributor

Objective

In #11094 a schedule build pass was added. This PR included abstractions for specifiying options for Dependencys. This was slightly over engineered, since in the meantime, this field wasn't used for anything more than Weak dependencies and IgnoreDeferred.

Solution

Remove options and add is_weak and ignore_deferred to Dependency.

Testing

Covered by existing tests.

@Trashtalk217 Trashtalk217 added D-Trivial Nice and easy! A great choice to get started with Bevy A-ECS Entities, components, systems, and events labels Sep 14, 2026
@github-project-automation github-project-automation Bot moved this to Needs SME Triage in ECS Sep 14, 2026
@alice-i-cecile alice-i-cecile added the S-Needs-Review Needs reviewer attention (from anyone!) to move forward label Sep 14, 2026
@alice-i-cecile alice-i-cecile added X-Uncontroversial This work is generally agreed upon D-Straightforward Simple bug fixes and API improvements, docs, test and examples and removed D-Trivial Nice and easy! A great choice to get started with Bevy labels Sep 14, 2026
/// Systems are chained. `before -> after` ordering constraints
/// will be added between the successive elements.
Chained(TypeIdHashMap<Box<dyn Any>>),
Chained {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Technically a breaking change but eh...

@alice-i-cecile alice-i-cecile left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Good choice! Migration guide is technically useful, but also this is extremely niche.

@ItsDoot ItsDoot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The change itself is fine (other than the doc nits), but I think we should see if anyone is using it for their own purposes 🤔

Comment thread crates/bevy_ecs/src/schedule/graph/mod.rs Outdated
Comment thread crates/bevy_ecs/src/schedule/graph/mod.rs Outdated
Co-authored-by: Christian Hughes <9044780+ItsDoot@users.noreply.github.com>
@Trashtalk217

Copy link
Copy Markdown
Contributor Author

Since Dependency is pub(crate) only the Chained stuff is actually visible to users. So except if there are any PRs in flight / branches that need this, I'd say it's a pretty safe bet.

@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 Sep 14, 2026
@alice-i-cecile

Copy link
Copy Markdown
Member

CI failure is real but trivial.

@alice-i-cecile

Copy link
Copy Markdown
Member

Fixed CI myself :) Merging.

@alice-i-cecile
alice-i-cecile added this pull request to the merge queue Sep 15, 2026
Merged via the queue into bevyengine:main with commit bbd2431 Sep 15, 2026
38 checks passed
@github-project-automation github-project-automation Bot moved this from Needs SME Triage to Done in ECS Sep 15, 2026
gregcsokas pushed a commit to gregcsokas/bevy that referenced this pull request Sep 21, 2026
# Objective

In bevyengine#11094 a schedule build pass
was added. This PR included abstractions for specifiying options for
`Dependency`s. This was slightly over engineered, since in the meantime,
this field wasn't used for anything more than `Weak` dependencies and
`IgnoreDeferred`.

## Solution

Remove `options` and add `is_weak` and `ignore_deferred` to
`Dependency`.

## Testing

Covered by existing tests.

---------

Co-authored-by: Christian Hughes <9044780+ItsDoot@users.noreply.github.com>
Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-ECS Entities, components, systems, and events 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

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants