# Bundles
## `MotionBlurBundle`
```rust
pub struct MotionBlurBundle {
pub motion_blur: MotionBlur,
pub depth_prepass: DepthPrepass,
pub motion_vector_prepass: MotionVectorPrepass,
}
```
### Proposal 1 (Selected)
```rust
#[derive(Component)]
#[require(DepthPrepass, MotionVectorPrepass)]
pub struct MotionBlur;
```
## `TemporalAntiAliasBundle`
```rust
pub struct TemporalAntiAliasBundle {
pub settings: TemporalAntiAliasSettings,
pub jitter: TemporalJitter,
pub depth_prepass: DepthPrepass,
pub motion_vector_prepass: MotionVectorPrepass,
}
```
### Proposal 1 (Selected)
```rust
#[derive(Component)]
#[require(TemporalJitter, DepthPrepass, MotionVectorPrepass)]
pub struct TemporalAntiAliasing;
```
Rename `TemporalAntiAliasSettings` to `TemporalAntiAliasing` to make it seem more like the most important end-user facing component.
## `ScreenSpaceAmbientOcclusionBundle`
```rust
pub struct ScreenSpaceAmbientOcclusionBundle {
pub settings: ScreenSpaceAmbientOcclusionSettings,
pub depth_prepass: DepthPrepass,
pub normal_prepass: NormalPrepass,
}
```
### Proposal 1 (Selected)
```rust
#[derive(Component)]
#[require(DepthPrepass, NormalPrepass)]
pub struct ScreenSpaceAmbientOcclusion;
```
Likewise, rename `ScreenSpaceAmbientOcclusionSettings`.
## `ScreenSpaceReflectionsBundle`
```rust
pub struct ScreenSpaceReflectionsBundle {
/// The component that enables SSR.
pub settings: ScreenSpaceReflectionsSettings,
/// The depth prepass, needed for SSR.
pub depth_prepass: DepthPrepass,
/// The deferred prepass, needed for SSR.
pub deferred_prepass: DeferredPrepass,
}
```
### Proposal 1 (Selected)
```rust
#[derive(Component)]
#[require(DepthPrepass, DeferredPrepass)]
pub struct ScreenSpaceReflections;
```
And again, rename `ScreenSpaceReflectionsSettings`.