Skip to content

impl Sync for SubApp to package as Components safely #21583

@GhostMinerPlus

Description

@GhostMinerPlus

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

Currently, SubApp functionality is constrained by its limited integration with Bevy's ECS systems. The inability to pack SubApps as Components restricts their flexibility and prevents them from being operated within arbitrary systems.

What solution would you like?

If posible, treat SubApp instances as first-class App, allowing them to be:

Packaged as Components

Operated within any system context

Managed through standard ECS operations

This approach would enable the deprecation of the dedicated SubApps resource and ExtractFn infrastructure, streamlining the architecture.

What alternative(s) have you considered?

One potential alternative involves implementing Sync for SubApp to package as Components safely.

Additional context

It's worth noting that current SubApp usage (except RenderApp) remains relatively limited across the Bevy plugin ecosystem, suggesting this refactor could simplify the codebase without significant ecosystem disruption.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-FeatureA new feature, making something new possibleS-Needs-TriageThis issue needs to be labelled

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions