# Bundles
## `TransformBundle`
```rust
pub struct TransformBundle {
/// The transform of the entity.
pub local: Transform,
/// The global transform of the entity.
pub global: GlobalTransform,
}
```
### Proposal 1 (Selected)
```rust
#[derive(Component)]
#[require(GlobalTransform)]
struct Transform;
```
## `VisibilityBundle`
```rust
pub struct VisibilityBundle {
/// The visibility of the entity.
pub visibility: Visibility,
// The inherited visibility of the entity.
pub inherited_visibility: InheritedVisibility,
// The computed visibility of the entity.
pub view_visibility: ViewVisibility,
}
```
### Proposal 1 (Selected)
```rust
#[derive(Component)]
#[require(InheritedVisibility, ViewVisibility)]
struct Visibility;
```
## `SpatialBundle`
```rust
pub struct SpatialBundle {
/// The visibility of the entity.
pub visibility: Visibility,
/// The inherited visibility of the entity.
pub inherited_visibility: InheritedVisibility,
/// The view visibility of the entity.
pub view_visibility: ViewVisibility,
/// The transform of the entity.
pub transform: Transform,
/// The global transform of the entity.
pub global_transform: GlobalTransform,
}
```
### Proposal 1
Remove SpatialBundle