valence/crates/valence_protocol
Ryan Johnson 2c0fb2d8c4
Refactor Schedule (#289)
## Description

- Tweak the system schedule to be more parallel-friendly and explicit.
Dependencies between systems is clearer.
- System and resource configuration is better encapsulated in each
module by using plugins.

The schedule graph for `Main` now looks like this (using
`bevy_mod_debugdump`):


![graph](https://user-images.githubusercontent.com/31678482/225321113-0ec4f4dd-86f6-45fe-8158-12a451536770.svg)

### Unresolved

- What to do about ambiguous systems? Many systems here are ambiguous
because they take `&mut Client`, but the order they write packets isn't
really important. Marking them as ambiguous explicitly with
`.ambiguous_with*` across module boundaries seems difficult and
cumbersome.

## Test Plan

Steps:
1. Run examples. Check that I didn't screw up the system order.
2023-03-15 16:12:59 -07:00
..
benches Refactor valence_protocol (#253) 2023-02-23 22:16:22 -08:00
build Provide API for getting the wall variant of blocks (#255) 2023-02-23 21:21:27 -08:00
src Refactor Schedule (#289) 2023-03-15 16:12:59 -07:00
Cargo.toml ECS Rewrite (#184) 2023-02-11 09:51:53 -08:00