bevyengine / bevyengine/bevy

`bevy_extract` tracking

Open
#24,483 1 comment 0 reactions 0 assignees View on GitHub
A-Rendering C-Code-Quality C-Feature C-Tracking-Issue S-Needs-Review
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.