maplibre/render/systems/
cleanup_system.rs

1use crate::{
2    context::MapContext,
3    render::render_phase::{LayerItem, RenderPhase, TileMaskItem, TranslucentItem},
4    tcs::system::{SystemError, SystemResult},
5};
6
7pub fn cleanup_system(
8    MapContext {
9        world, view_state, ..
10    }: &mut MapContext,
11) -> SystemResult {
12    let Some((layer_item_phase, tile_mask_phase, translucent_phase)) =
13        world.resources.query_mut::<(
14            &mut RenderPhase<LayerItem>,
15            &mut RenderPhase<TileMaskItem>,
16            &mut RenderPhase<TranslucentItem>,
17        )>()
18    else {
19        return Err(SystemError::Dependencies);
20    };
21
22    layer_item_phase.clear();
23    tile_mask_phase.clear();
24    translucent_phase.clear();
25
26    view_state.update_references();
27
28    Ok(())
29}