Extract extract to bevy_extract#22852
Conversation
598daa2 to
0285ca3
Compare
|
You added a new feature but didn't update the readme. Please run |
463d2c8 to
c8866d1
Compare
atlv24
left a comment
There was a problem hiding this comment.
This is skipping a few steps but its roughly the goal. We need a few preparatory steps, each of these should be its own PR:
- The resource marker change to allow orphan rule circumvention on resource impls
- Making ExtractPlugin take the app label (RenderApp) as generic parameter instead of hardcode
- Making ExtractPlugin take a schedule to run and having its own internal extract schedule which handles the pre and post actions, running the user provided systemset/schedule in the middle
- improving the macro situation to hide existing complexity of implementations
- collapse manual implementations of extract into derive macro call or whatever
- Introducing an AppLabel marker to Extract impls to specify that they are RenderApp extract impls and tuck it away neatly into the macro
- Rename test terminology in extract_plugin.rs to not reference rendering
- finally, this PR
c8866d1 to
55d153b
Compare
|
New version, extending https://github.com/atlv24/bevy/tree/ad/extract-label ( #22855 )
|
| } | ||
|
|
||
| impl ExtractComponent for ContrastAdaptiveSharpening { | ||
| impl ExtractBaseComponent<RenderApp> for ContrastAdaptiveSharpening { |
There was a problem hiding this comment.
I was hoping to use the below, but it's an unstable feature
pub trait ExtractComponent<F : 'static + Send + Sync = ()> = ExtractBaseComponent<RenderApp, F>;Hopefully there is an alternative?
There was a problem hiding this comment.
a blanket impl may be able to do something like this, im not sure exactly what you're trying to do though
There was a problem hiding this comment.
Yeah so intention was to prevent the <RenderApp> spam e.g. impl ExtractResource<RenderApp> for Foo {
I think its not too bad as most will just #[derive(ExtractResource)]
c496d94 to
061c031
Compare
Placeholder More skeleton Rm extract placeholders squash skeleton squash skeleton squash skeleton
49c71f0 to
102020b
Compare
Objective
bevy_extracttracking #24483 )Solution
bevy_extract, containing "extract/sync" stuff frombevy_renderReviewer notes: changes for this PR are listed below. Other commits are pre-requisties in the preceeding PRs. Please review commit-by-commit:
bevy_extractskeletonbevy_extractbevy_extractTesting
cargo run --example animated_mesh