Description
What problem does this solve or what need does it fill?
State charts are a popular and powerful abstraction for working with complex state machines. The State
implementation created in #1424 is quite good, but there's still a few missing gaps that will present issues with more complex logic and hinder learning for users familiar with other state charts.
What solution would you like?
From my initial understanding of #1424 and the link above, we're missing the following features:
- Better nested states, including history states
- State guards
- Delayed transitions
State guards should be fairly trivial, and delayed transitions can likely just be sugar written in terms of state guards.
What alternative(s) have you considered?
Discover and document alternate patterns to work around these patterns.
Additional context
Integration with XML specs of state charts seems like a non-goal.
We could consider adapting some of the formal state chart jargon as well (e.g. Activity instead of on_update
) but I don't think it's worth the clarity loss.
Eventually it would be lovely to have a tool to visualize (and eventually manipulate) state charts used in Bevy, but that's out-of-scope for this issue.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status