Skip to content

Run criteria should be composable; states should act more like other run criteria #2233

@masonk

Description

@masonk

What problem does this solve or what need does it fill?

The 0.5 StatesV2 system is a huge leap forward, but it still has some weaknesses.

One of the biggest weaknesses is that it doesn't compose well with other run criteria.

To give an example, suppose a user wants to handle input on a FixedTimeStep, but differently on a per-state basis.

Today, it's not clear how to do that. It probably involves building a custom run criteria that manually composes the logic of FixedTimeStep and the logic of Statesv2.

What solution would you like?

I would like RunCriteria to become logically composable, so that:

  • Users can group them
  • Users can AND, OR, and NOT them

Additionally, to make the motivating use-case work, it would be necessary to expose state-based run criteria as regular run criteria so they can be composed with other run criteria.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-FeatureA new feature, making something new possibleP-HighThis is particularly urgent, and deserves immediate attention

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions