bevy/crates/bevy_ecs/src
Joy 4c878ef790 Add comparison methods to FilteredAccessSet (#4211)
# Objective

- (Eventually) reduce noise in reporting access conflicts between unordered systems. 
	- `SystemStage` only looks at unfiltered `ComponentId` access, any conflicts reported are potentially `false`.
		- the systems could still be accessing disjoint archetypes
	- Comparing systems' filtered access sets can maybe avoid that (for statically known component types).
		- #4204

## Solution

- Modify `SparseSetIndex` trait to require `PartialEq`, `Eq`, and `Hash` (all internal types except `BundleId` already did).
- Add `is_compatible` and `get_conflicts` methods to `FilteredAccessSet<T>`
	- (existing method renamed to `get_conflicts_single`)
- Add docs for those and all the other methods while I'm at it.
2022-05-09 14:39:22 +00:00
..
entity Decouple some dependencies (#3886) 2022-04-27 19:08:11 +00:00
query Add comparison methods to FilteredAccessSet (#4211) 2022-05-09 14:39:22 +00:00
schedule Make change lifespan deterministic and update docs (#3956) 2022-05-09 14:00:16 +00:00
storage Add comparison methods to FilteredAccessSet (#4211) 2022-05-09 14:39:22 +00:00
system Add comparison methods to FilteredAccessSet (#4211) 2022-05-09 14:39:22 +00:00
world bevy_ptr standalone crate (#4653) 2022-05-04 19:16:10 +00:00
archetype.rs Change Cow<[ComponentId]> to Box<[ComponentId]> (#4185) 2022-03-19 04:14:27 +00:00
bundle.rs Add comparison methods to FilteredAccessSet (#4211) 2022-05-09 14:39:22 +00:00
change_detection.rs Make change lifespan deterministic and update docs (#3956) 2022-05-09 14:00:16 +00:00
component.rs Make change lifespan deterministic and update docs (#3956) 2022-05-09 14:00:16 +00:00
event.rs exact sized event iterators (#3863) 2022-05-09 13:19:32 +00:00
lib.rs bevy_ptr standalone crate (#4653) 2022-05-04 19:16:10 +00:00
reflect.rs Add FromReflect trait to convert dynamic types to concrete types (#1395) 2021-12-26 18:49:01 +00:00