-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
As soon as possible and as late as possible system ordering #4173
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
Comments
Reminds me of the top-most window problem, except you don't really care if it stays on top after the insertion? |
Yeah, I'd strongly prefer to avoid this: we removed insertion order system ordering for good reasons. |
The notion of default labels introduced in #4224 should make implementing this quite straightforward: just assign every system a univsersal label, then use a standard before / after ordering (and remove the universal label from the ASAP system). |
Could use |
That's a much better naming scheme 😂 |
In the context of today, I don't think we should add a way to implicitly resolve system race conditions / ambiguities. Our current setup of writing out ordering constraints (especially with |
What problem does this solve or what need does it fill?
In many cases, users don't particularly care when a given system runs: they just have a vague sense of "early" or "late".
Specifying this within a single stage involves a lot of upkeep and busy work as you need to constantly check and resolve ambiguities.
What solution would you like?
Add another pair of methods to match
.before
and.after
:as_soon_as_possible
: runs the system as soon as possible, while respecting any explicit constraints givenas_late_as_possible
runs the system as late as possible, while respecting any explicit contraints givenUnder the hood, what this does is inserts a before / after ordering between this system and any other systems that it would be ambiguous with.
Cases where the other system is also ASAP / ALAP remain ambiguous.
What alternative(s) have you considered?
asap
andalap
as method names. ASAP is a common abbreviation, but ALAP is not. Both are quite hard to parse in lower-case, especially for users that are not native English speakers. Autocomplete is a thing, and it's important to make sure that users don't accidentally typo or misread ASAP vs. ALAP due to the massive difference in effect and difficulty debugging.Additional context
Raised in #4166 (comment) in the context of ordering exclusive systems.
The text was updated successfully, but these errors were encountered: