# Bundles ## `SceneBundle` ```rust pub struct SceneBundle { /// Handle to the scene to spawn. pub scene: Handle<Scene>, /// Transform of the scene root entity. pub transform: Transform, /// Global transform of the scene root entity. pub global_transform: GlobalTransform, /// User-driven visibility of the scene root entity. #[cfg(feature = "bevy_render")] pub visibility: Visibility, /// Inherited visibility of the scene root entity. #[cfg(feature = "bevy_render")] pub inherited_visibility: InheritedVisibility, /// Algorithmically-computed visibility of the scene root entity for rendering. #[cfg(feature = "bevy_render")] pub view_visibility: ViewVisibility, } ``` ## `DynamicSceneBundle` ```rust pub struct DynamicSceneBundle { /// Handle to the scene to spawn. pub scene: Handle<DynamicScene>, /// Transform of the scene root entity. pub transform: Transform, /// Global transform of the scene root entity. pub global_transform: GlobalTransform, /// User-driven visibility of the scene root entity. #[cfg(feature = "bevy_render")] pub visibility: Visibility, /// Inherited visibility of the scene root entity. #[cfg(feature = "bevy_render")] pub inherited_visibility: InheritedVisibility, /// Algorithmically-computed visibility of the scene root entity for rendering. #[cfg(feature = "bevy_render")] pub view_visibility: ViewVisibility, } ``` ## Combined Proposal 1 (Selected) ```rust= #[derive(Component)] #[require(Transform)] #[cfg_attr(feature = "bevy_render", require(Visibility))] struct SceneRoot(Handle<Scene>); #[derive(Component)] #[require(Transform)] #[cfg_attr(feature = "bevy_render", require(Visibility))] struct DynamicSceneRoot(Handle<DynamicScene>); ```