bevyengine / bevyengine/bevy

Add a tool to configure schedule reporting strategies across all schedules at once

Open
#7,438 2 comments 0 reactions 0 assignees View on GitHub
A-ECS C-Usability D-Modest S-Ready-For-Implementation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## What problem does this solve or what need does it fill?

In #7267, we can configure `ScheduleBuildSettings` on a per schedule basis. This is used to configure e.g. system order ambiguity reporting.

This can be challenging / frustrating to use, as this must be set for every schedule, and every schedule in every subapp.

## What solution would you like?

1. Store a `ScheduleBuildSettings` on `App`.
2. Store an `Option` on `Schedule`.
3. On schedule initialization (in `App::run` usually), propagate the `App` setting to all `Schedule` level fields that haven't been set, recursing through each subapp.
4. When building a schedule by hand, use `unwrap_or_default` on the `ScheduleBuildSettings` field.

## What alternative(s) have you considered?

We could add a generic `edit_all_schedules` method, and warn users that it only applies instantanously.

## Additional Context

Blocked on #7267, and split out to avoid making that PR even larger.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.