valence/crates
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
..
packet_inspector Packet inspector updates (#283) 2023-03-10 03:57:55 -08:00
playground Client Component Division (#266) 2023-03-11 06:04:14 -08:00
valence Refactor Schedule (#289) 2023-03-15 16:12:59 -07:00
valence_anvil Client Component Division (#266) 2023-03-11 06:04:14 -08:00
valence_nbt Refactor valence_protocol (#253) 2023-02-23 22:16:22 -08:00
valence_protocol Refactor Schedule (#289) 2023-03-15 16:12:59 -07:00
valence_protocol_macros Add packet_name (#274) 2023-03-07 04:12:08 -08:00
valence_spatial_index Reorganize Packages (#180) 2022-12-29 16:51:05 -08:00
valence_stresser Client Component Division (#266) 2023-03-11 06:04:14 -08:00