`bevy_extract` tracking
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## What problem does this solve or what need does it fill?
- Make the extract infra reusable for non-rendering crates, and allow extraction to work for multiple sub-apps
e.g.
```rs
// Extract a component from the main subapp to the render subapp, and the audio subapp
#[derive(Component, Clone, Debug, ExtractComponent)]
#[extract_app(RenderApp, AudioApp)]
struct SomeComponent;
```
## How do we get there?
- https://github.com/bevyengine/bevy/pull/23372
- https://github.com/bevyengine/bevy/pull/24419
- https://github.com/bevyengine/bevy/pull/24420
- https://github.com/bevyengine/bevy/pull/24423
- https://github.com/bevyengine/bevy/pull/22852
- Simplified by https://github.com/bevyengine/bevy/pull/23377
## What alternative(s) have you considered?
Alternatively, remove extraction entirely. This can be done as followup by `rm -rf crates/bevy_extract/` 😄
Contributor guide
Research direction
Start by reading the linked pull requests, especially #23372, #24419, #24420, #24423, #22852, and the simplification in #23377. Then inspect crates/bevy_extract/ and trace how extraction currently targets sub-apps. Done means the extraction infrastructure is reusable for non-rendering crates and supports extracting to multiple sub-apps, or the issue's removal alternative is explicitly chosen.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100