# Bundles ## `PointLightBundle` ```rust pub struct PointLightBundle { pub point_light: PointLight, pub cubemap_visible_entities: CubemapVisibleEntities, pub cubemap_frusta: CubemapFrusta, pub transform: Transform, pub global_transform: GlobalTransform, /// Enables or disables the light pub visibility: Visibility, /// Inherited visibility of an entity. pub inherited_visibility: InheritedVisibility, /// Algorithmically-computed indication of whether an entity is visible and should be extracted for rendering pub view_visibility: ViewVisibility, } ``` ### Proposal 1 (Selected) ```rust #[derive(Component)] #[require(CubemapVisibleEntities, CubemapFrusta, Transform, Visibility)] pub struct PointLight; ``` ## `SpotLightBundle` ```rust pub struct SpotLightBundle { pub spot_light: SpotLight, pub visible_entities: VisibleMeshEntities, pub frustum: Frustum, pub transform: Transform, pub global_transform: GlobalTransform, /// Enables or disables the light pub visibility: Visibility, /// Inherited visibility of an entity. pub inherited_visibility: InheritedVisibility, /// Algorithmically-computed indication of whether an entity is visible and should be extracted for rendering pub view_visibility: ViewVisibility, } ``` ### Proposal 1 (Selected) ```rust #[derive(Component)] #[require(VisibleMeshEntities, Frustum, Transform, Visibility)] pub struct SpotLight; ``` ## `DirectionalLightBundle` ```rust pub struct DirectionalLightBundle { pub directional_light: DirectionalLight, pub frusta: CascadesFrusta, pub cascades: Cascades, pub cascade_shadow_config: CascadeShadowConfig, pub visible_entities: CascadesVisibleEntities, pub transform: Transform, pub global_transform: GlobalTransform, /// Enables or disables the light pub visibility: Visibility, /// Inherited visibility of an entity. pub inherited_visibility: InheritedVisibility, /// Algorithmically-computed indication of whether an entity is visible and should be extracted for rendering pub view_visibility: ViewVisibility, } ``` ### Proposal 1 (Selected) ```rust #[derive(Component)] #[require( CascadesVisibleEntities, CascadesFrusta, Cascades, CascadeShadowConfig, Transform, Visibility )] pub struct DirectionalLight; ```