pub fn extract_lights(
commands: Commands<'_, '_>,
point_light_shadow_map: Extract<'_, '_, Res<'_, PointLightShadowMap>>,
directional_light_shadow_map: Extract<'_, '_, Res<'_, DirectionalLightShadowMap>>,
global_point_lights: Extract<'_, '_, Res<'_, GlobalVisiblePointLights>>,
point_lights: Extract<'_, '_, Query<'_, '_, (&PointLight, &CubemapVisibleEntities, &GlobalTransform, &ViewVisibility, &CubemapFrusta)>>,
spot_lights: Extract<'_, '_, Query<'_, '_, (&SpotLight, &VisibleEntities, &GlobalTransform, &ViewVisibility, &Frustum)>>,
directional_lights: Extract<'_, '_, Query<'_, '_, (Entity, &DirectionalLight, &CascadesVisibleEntities, &Cascades, &CascadeShadowConfig, &CascadesFrusta, &GlobalTransform, &ViewVisibility, Option<&RenderLayers>), Without<SpotLight>>>,
previous_point_lights_len: Local<'_, usize>,
previous_spot_lights_len: Local<'_, usize>
)