fn extract(app_world: &mut World, render_app: &mut App) {
    let extract = render_app
        .schedule
        .get_stage_mut::<SystemStage>(&RenderStage::Extract)
        .unwrap();

    // temporarily add the render world to the app world as a resource
    let scratch_world = app_world.remove_resource::<ScratchRenderWorld>().unwrap();
    let render_world = std::mem::replace(&mut render_app.world, scratch_world.0);
    app_world.insert_resource(RenderWorld(render_world));

    extract.run(app_world);

    // add the render world back to the render app
    let render_world = app_world.remove_resource::<RenderWorld>().unwrap();
    let scratch_world = std::mem::replace(&mut render_app.world, render_world.0);
    app_world.insert_resource(ScratchRenderWorld(scratch_world));

    extract.apply_buffers(&mut render_app.world);
}
/// Executes the [`Extract`](RenderStage::Extract) stage of the renderer.
/// This updates the render world with the extracted ECS data of the current frame.
Executes the [`Extract`](RenderStage::Extract) stage of the renderer.
This updates the render world with the extracted ECS data of the current frame.
Executes the [ ` Extract ` ] ( RenderStage :: Extract ) stage of the renderer . This updates the render world with the extracted ECS data of the current frame .
fn extract(app_world: &mut World, render_app: &mut App) {
    let extract = render_app
        .schedule
        .get_stage_mut::<SystemStage>(&RenderStage::Extract)
        .unwrap();
    // temporarily add the render world to the app world as a resource
    let scratch_world = app_world.remove_resource::<ScratchRenderWorld>().unwrap();
    let render_world = std::mem::replace(&mut render_app.world, scratch_world.0);
    app_world.insert_resource(RenderWorld(render_world));
    extract.run(app_world);
    // add the render world back to the render app
    let render_world = app_world.remove_resource::<RenderWorld>().unwrap();
    let scratch_world = std::mem::replace(&mut render_app.world, render_world.0);
    app_world.insert_resource(ScratchRenderWorld(scratch_world));
    extract.apply_buffers(&mut render_app.world);
}
fn extract ( app_world : & mut World , render_app : & mut App ) { let extract = render_app . schedule . get_stage_mut :: < SystemStage > ( & RenderStage :: Extract ) . unwrap ( ) ; // temporarily add the render world to the app world as a resource let scratch_world = app_world . remove_resource :: < ScratchRenderWorld > ( ) . unwrap ( ) ; let render_world = std :: mem :: replace ( & mut render_app . world , scratch_world . 0 ) ; app_world . insert_resource ( RenderWorld ( render_world ) ) ; extract . run ( app_world ) ; // add the render world back to the render app let render_world = app_world . remove_resource :: < RenderWorld > ( ) . unwrap ( ) ; let scratch_world = std :: mem :: replace ( & mut render_app . world , render_world . 0 ) ; app_world . insert_resource ( ScratchRenderWorld ( scratch_world ) ) ; extract . apply_buffers ( & mut render_app . world ) ; }
Executes the [`Extract`](RenderStage::Extract) stage of the renderer.
Executes the [ ` Extract ` ] ( RenderStage :: Extract ) stage of the renderer .
app_world
&mut World
render_app
&mut App
app_world
&mut World
render_app
&mut App