-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Automatically add systems to sets based on their world accesses #8595
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
54 commits
Select commit
Hold shift + click to select a range
cf88758
allow system sets that are automatically added based on world accesses
joseph-gio cf0453c
add extension methods for making an access set
joseph-gio af6f6cf
add a test case
joseph-gio 3b374e2
don't re-initialize components made via descriptors
joseph-gio dbef14c
ensure access set components are initialized
joseph-gio 8a59837
fix ci
joseph-gio 3855257
simplify test
joseph-gio 77d6f31
add a test case for immutable access sets
joseph-gio 0e314f2
add extension methods for resource access sets
joseph-gio ad50b81
track whether a component descriptor is a resource
joseph-gio 6742f7e
add a test case for resource access sets
joseph-gio 345f5f7
Merge remote-tracking branch 'upstream/main' into access-system-sets
joseph-gio 8c3377e
Merge remote-tracking branch 'upstream/main' into access-system-sets
joseph-gio d046de1
merge errors
joseph-gio b97e6d8
Update lib.rs
joseph-gio e381a9d
use primitive types instead of extension methods
joseph-gio 18c1e39
disallow outside configuration
joseph-gio 7417f19
use a macro to deduplicate structs
joseph-gio e507e0b
clarify behavior of read sets
joseph-gio 80e6669
add sets for reads or writes
joseph-gio 46a463e
Merge remote-tracking branch 'upstream/main' into access-system-sets
joseph-gio 4c1966d
store all resources in tables
joseph-gio 7c0458f
remove useless system sets
joseph-gio 0f15e93
simplify loops for set population
joseph-gio eab5712
make access sets consistent
joseph-gio 20fea21
simplify `ComponentDescriptor::new_with_layout`
joseph-gio b58b7bc
don't use a moved value
joseph-gio d6d0044
simplify access set initialization
joseph-gio 4320711
fix a borrow checker error
joseph-gio 50c7c68
remove an unused method
joseph-gio 8e4ae7f
improve ergonomics for built-in access sets
joseph-gio f6292fb
unify access set initialization with regular initialization
joseph-gio c55e078
remove an unused macro arm
joseph-gio c90476d
don't initialize access sets multiple times
joseph-gio 55ca2e4
Merge remote-tracking branch 'upstream/main' into access-system-sets
joseph-gio 0ab0813
make built-in sets non-exhaustive
joseph-gio d913308
use an enum for greater code clarity
joseph-gio cd3d4be
fix wonky formatting
joseph-gio 1774469
remove a check
joseph-gio 05ede9f
remove a comment
joseph-gio 1b8c586
add `SystemSet::is_access_set`
joseph-gio 20902dc
make it impossible to construct _Marker enum variants
joseph-gio 280b963
tweak `add_set`
joseph-gio 791953b
store access sets in a SparseSet
joseph-gio c56d9ec
simplify an option pattern match
joseph-gio 4d40962
Merge remote-tracking branch 'upstream/main' into access-system-sets
joseph-gio 1c2e582
add a unit test for `&World` behavior
joseph-gio 968a0a3
don't include `&World` in read access sets
joseph-gio f66f09c
add a unit test for access sets added after a system is initialized
joseph-gio b4b8027
add a fixme
joseph-gio 276ad90
fix a bug with sets added after systems are initialized
joseph-gio 723ae2a
Merge branch 'main' into access-system-sets
joseph-gio 47854c6
Schedule::default
joseph-gio 5fb8033
cargo fmt
joseph-gio File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unlike
new
, there's no requirement that this method only be used for component types. I think we should pass in an argument to let users control that field directly.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I can add an argument for that. Seems like every one of my PRs is bound to have at least one breaking change at this point 😄