Skip to content

Move states into their own crate #11087

@alice-i-cecile

Description

@alice-i-cecile

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

States in bevy_ecs can and should be implemented freely by consumers: many possible variations exist (pattern matching, substates, state stacks).

By including them within bevy_ecs, we:

  1. Risk introducing internal coupling by relying on crate-private APIs.
  2. Suggest to end users that they can't and shouldn't write their own alternatives.
  3. Clutter bevy_ecs, increasing complexity and compile times for both users and maintainers.

What solution would you like?

Move States into their own bevy_state crate.

What alternative(s) have you considered?

Leave it as is.

Additional context

[8:37 PM]Joy: the main opinion I really have on states atm is they should be moved to their own crate
Comment by @maniwani

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ECSEntities, components, systems, and eventsC-Code-QualityA section of code that is hard to understand or changeS-Ready-For-ImplementationThis issue is ready for an implementation PR. Go for it!X-Needs-SMEThis type of work requires an SME to approve it.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions