Trait Component

Source
pub trait Component:
    Send
    + Sync
    + 'static {
    type Mutability: ComponentMutability;

    const STORAGE_TYPE: StorageType;

    // Provided methods
    fn register_component_hooks(hooks: &mut ComponentHooks) { ... }
    fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)> { ... }
    fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)> { ... }
    fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)> { ... }
    fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)> { ... }
    fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)> { ... }
    fn register_required_components(
        _component_id: ComponentId,
        _components: &mut ComponentsRegistrator<'_>,
        _required_components: &mut RequiredComponents,
        _inheritance_depth: u16,
        _recursion_check_stack: &mut Vec<ComponentId>,
    ) { ... }
    fn clone_behavior() -> ComponentCloneBehavior { ... }
    fn map_entities<E>(_this: &mut Self, _mapper: &mut E)
       where E: EntityMapper { ... }
}
Expand description

A data type that can be used to store data for an entity.

Component is a derivable trait: this means that a data type can implement it by applying a #[derive(Component)] attribute to it. However, components must always satisfy the Send + Sync + 'static trait bounds.

§Examples

Components can take many forms: they are usually structs, but can also be of every other kind of data type, like enums or zero sized types. The following examples show how components are laid out in code.

// A component can contain data...
#[derive(Component)]
struct LicensePlate(String);

// ... but it can also be a zero-sized marker.
#[derive(Component)]
struct Car;

// Components can also be structs with named fields...
#[derive(Component)]
struct VehiclePerformance {
    acceleration: f32,
    top_speed: f32,
    handling: f32,
}

// ... or enums.
#[derive(Component)]
enum WheelCount {
    Two,
    Three,
    Four,
}

§Component and data access

Components can be marked as immutable by adding the #[component(immutable)] attribute when using the derive macro. See the documentation for ComponentMutability for more details around this feature.

See the entity module level documentation to learn how to add or remove components from an entity.

See the documentation for Query to learn how to access component data from a system.

§Choosing a storage type

Components can be stored in the world using different strategies with their own performance implications. By default, components are added to the Table storage, which is optimized for query iteration.

Alternatively, components can be added to the SparseSet storage, which is optimized for component insertion and removal. This is achieved by adding an additional #[component(storage = "SparseSet")] attribute to the derive one:

#[derive(Component)]
#[component(storage = "SparseSet")]
struct ComponentA;

§Required Components

Components can specify Required Components. If some Component A requires Component B, then when A is inserted, B will also be initialized and inserted (if it was not manually specified).

The Default constructor will be used to initialize the component, by default:

#[derive(Component)]
#[require(B)]
struct A;

#[derive(Component, Default, PartialEq, Eq, Debug)]
struct B(usize);

// This will implicitly also insert B with the Default constructor
let id = world.spawn(A).id();
assert_eq!(&B(0), world.entity(id).get::<B>().unwrap());

// This will _not_ implicitly insert B, because it was already provided
world.spawn((A, B(11)));

Components can have more than one required component:

#[derive(Component)]
#[require(B, C)]
struct A;

#[derive(Component, Default, PartialEq, Eq, Debug)]
#[require(C)]
struct B(usize);

#[derive(Component, Default, PartialEq, Eq, Debug)]
struct C(u32);

// This will implicitly also insert B and C with their Default constructors
let id = world.spawn(A).id();
assert_eq!(&B(0), world.entity(id).get::<B>().unwrap());
assert_eq!(&C(0), world.entity(id).get::<C>().unwrap());

You can define inline component values that take the following forms:

#[derive(Component)]
#[require(
    B(1), // tuple structs
    C { // named-field structs
        x: 1,
        ..Default::default()
    },
    D::One, // enum variants
    E::ONE, // associated consts
    F::new(1) // constructors
)]
struct A;

#[derive(Component, PartialEq, Eq, Debug)]
struct B(u8);

#[derive(Component, PartialEq, Eq, Debug, Default)]
struct C {
    x: u8,
    y: u8,
}

#[derive(Component, PartialEq, Eq, Debug)]
enum D {
   Zero,
   One,
}

#[derive(Component, PartialEq, Eq, Debug)]
struct E(u8);

impl E {
    pub const ONE: Self = Self(1);
}

#[derive(Component, PartialEq, Eq, Debug)]
struct F(u8);

impl F {
    fn new(value: u8) -> Self {
        Self(value)
    }
}

let id = world.spawn(A).id();
assert_eq!(&B(1), world.entity(id).get::<B>().unwrap());
assert_eq!(&C { x: 1, y: 0 }, world.entity(id).get::<C>().unwrap());
assert_eq!(&D::One, world.entity(id).get::<D>().unwrap());
assert_eq!(&E(1), world.entity(id).get::<E>().unwrap());
assert_eq!(&F(1), world.entity(id).get::<F>().unwrap());

You can also define arbitrary expressions by using =

#[derive(Component)]
#[require(C = init_c())]
struct A;

#[derive(Component, PartialEq, Eq, Debug)]
#[require(C = C(20))]
struct B;

#[derive(Component, PartialEq, Eq, Debug)]
struct C(usize);

fn init_c() -> C {
    C(10)
}

// This will implicitly also insert C with the init_c() constructor
let id = world.spawn(A).id();
assert_eq!(&C(10), world.entity(id).get::<C>().unwrap());

// This will implicitly also insert C with the `|| C(20)` constructor closure
let id = world.spawn(B).id();
assert_eq!(&C(20), world.entity(id).get::<C>().unwrap());

Required components are recursive. This means, if a Required Component has required components, those components will also be inserted if they are missing:

#[derive(Component)]
#[require(B)]
struct A;

#[derive(Component, Default, PartialEq, Eq, Debug)]
#[require(C)]
struct B(usize);

#[derive(Component, Default, PartialEq, Eq, Debug)]
struct C(u32);

// This will implicitly also insert B and C with their Default constructors
let id = world.spawn(A).id();
assert_eq!(&B(0), world.entity(id).get::<B>().unwrap());
assert_eq!(&C(0), world.entity(id).get::<C>().unwrap());

Note that cycles in the “component require tree” will result in stack overflows when attempting to insert a component.

This “multiple inheritance” pattern does mean that it is possible to have duplicate requires for a given type at different levels of the inheritance tree:

#[derive(Component)]
struct X(usize);

#[derive(Component, Default)]
#[require(X(1))]
struct Y;

#[derive(Component)]
#[require(
    Y,
    X(2),
)]
struct Z;

// In this case, the x2 constructor is used for X
let id = world.spawn(Z).id();
assert_eq!(2, world.entity(id).get::<X>().unwrap().0);

In general, this shouldn’t happen often, but when it does the algorithm for choosing the constructor from the tree is simple and predictable:

  1. A constructor from a direct #[require()], if one exists, is selected with priority.
  2. Otherwise, perform a Depth First Search on the tree of requirements and select the first one found.

From a user perspective, just think about this as the following:

  1. Specifying a required component constructor for Foo directly on a spawned component Bar will result in that constructor being used (and overriding existing constructors lower in the inheritance tree). This is the classic “inheritance override” behavior people expect.
  2. For cases where “multiple inheritance” results in constructor clashes, Components should be listed in “importance order”. List a component earlier in the requirement list to initialize its inheritance tree earlier.

§Registering required components at runtime

In most cases, required components should be registered using the require attribute as shown above. However, in some cases, it may be useful to register required components at runtime.

This can be done through World::register_required_components or World::register_required_components_with for the Default and custom constructors respectively:

#[derive(Component)]
struct A;

#[derive(Component, Default, PartialEq, Eq, Debug)]
struct B(usize);

#[derive(Component, PartialEq, Eq, Debug)]
struct C(u32);

// Register B as required by A and C as required by B.
world.register_required_components::<A, B>();
world.register_required_components_with::<B, C>(|| C(2));

// This will implicitly also insert B with its Default constructor
// and C with the custom constructor defined by B.
let id = world.spawn(A).id();
assert_eq!(&B(0), world.entity(id).get::<B>().unwrap());
assert_eq!(&C(2), world.entity(id).get::<C>().unwrap());

Similar rules as before apply to duplicate requires fer a given type at different levels of the inheritance tree. A requiring C directly would take precedence over indirectly requiring it through A requiring B and B requiring C.

Unlike with the require attribute, directly requiring the same component multiple times for the same component will result in a panic. This is done to prevent conflicting constructors and confusing ordering dependencies.

Note that requirements must currently be registered before the requiring component is inserted into the world for the first time. Registering requirements after this will lead to a panic.

§Relationships between Entities

Sometimes it is useful to define relationships between entities. A common example is the parent / child relationship. Since Components are how data is stored for Entities, one might naturally think to create a Component which has a field of type Entity.

To facilitate this pattern, Bevy provides the Relationship trait. You can derive the Relationship and RelationshipTarget traits in addition to the Component trait in order to implement data driven relationships between entities, see the trait docs for more details.

In addition, Bevy provides canonical implementations of the parent / child relationship via the ChildOf Relationship and the Children RelationshipTarget.

§Adding component’s hooks

See ComponentHooks for a detailed explanation of component’s hooks.

Alternatively to the example shown in ComponentHooks’ documentation, hooks can be configured using following attributes:

  • #[component(on_add = on_add_function)]
  • #[component(on_insert = on_insert_function)]
  • #[component(on_replace = on_replace_function)]
  • #[component(on_remove = on_remove_function)]
#[derive(Component)]
#[component(on_add = my_on_add_hook)]
#[component(on_insert = my_on_insert_hook)]
// Another possible way of configuring hooks:
// #[component(on_add = my_on_add_hook, on_insert = my_on_insert_hook)]
//
// We don't have a replace or remove hook, so we can leave them out:
// #[component(on_replace = my_on_replace_hook, on_remove = my_on_remove_hook)]
struct ComponentA;

fn my_on_add_hook(world: DeferredWorld, context: HookContext) {
    // ...
}

// You can also destructure items directly in the signature
fn my_on_insert_hook(world: DeferredWorld, HookContext { caller, .. }: HookContext) {
    // ...
}

This also supports function calls that yield closures

#[derive(Component)]
#[component(on_add = my_msg_hook("hello"))]
#[component(on_despawn = my_msg_hook("yoink"))]
struct ComponentA;

// a hook closure generating function
fn my_msg_hook(message: &'static str) -> impl Fn(DeferredWorld, HookContext) {
    move |_world, _ctx| {
        println!("{message}");
    }
}

§Implementing the trait for foreign types

As a consequence of the orphan rule, it is not possible to separate into two different crates the implementation of Component from the definition of a type. This means that it is not possible to directly have a type defined in a third party library as a component. This important limitation can be easily worked around using the newtype pattern: this makes it possible to locally define and implement Component for a tuple struct that wraps the foreign type. The following example gives a demonstration of this pattern.

// `Component` is defined in the `bevy_ecs` crate.
use bevy_ecs::component::Component;

// `Duration` is defined in the `std` crate.
use std::time::Duration;

// It is not possible to implement `Component` for `Duration` from this position, as they are
// both foreign items, defined in an external crate. However, nothing prevents to define a new
// `Cooldown` type that wraps `Duration`. As `Cooldown` is defined in a local crate, it is
// possible to implement `Component` for it.
#[derive(Component)]
struct Cooldown(Duration);

§!Sync Components

A !Sync type cannot implement Component. However, it is possible to wrap a Send but not Sync type in SyncCell or the currently unstable Exclusive to make it Sync. This forces only having mutable access (&mut T only, never &T), but makes it safe to reference across multiple threads.

This will fail to compile since RefCell is !Sync.

#[derive(Component)]
struct NotSync {
   counter: RefCell<usize>,
}

This will compile since the RefCell is wrapped with SyncCell.

use bevy_utils::synccell::SyncCell;

// This will compile.
#[derive(Component)]
struct ActuallySync {
   counter: SyncCell<RefCell<usize>>,
}

Required Associated Constants§

Source

const STORAGE_TYPE: StorageType

A constant indicating the storage type used for this component.

Required Associated Types§

Source

type Mutability: ComponentMutability

A marker type to assist Bevy with determining if this component is mutable, or immutable. Mutable components will have [Component<Mutability = Mutable>], while immutable components will instead have [Component<Mutability = Immutable>].

  • For a component to be mutable, this type must be Mutable.
  • For a component to be immutable, this type must be Immutable.

Provided Methods§

Source

fn register_component_hooks(hooks: &mut ComponentHooks)

👎Deprecated since 0.16.0: Use the individual hook methods instead (e.g., Component::on_add, etc.)

Called when registering this component, allowing mutable access to its ComponentHooks.

Source

fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_add ComponentHook for this Component if one is defined.

Source

fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_insert ComponentHook for this Component if one is defined.

Source

fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_replace ComponentHook for this Component if one is defined.

Source

fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_remove ComponentHook for this Component if one is defined.

Source

fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_despawn ComponentHook for this Component if one is defined.

Source

fn register_required_components( _component_id: ComponentId, _components: &mut ComponentsRegistrator<'_>, _required_components: &mut RequiredComponents, _inheritance_depth: u16, _recursion_check_stack: &mut Vec<ComponentId>, )

Registers required components.

Source

fn clone_behavior() -> ComponentCloneBehavior

Called when registering this component, allowing to override clone function (or disable cloning altogether) for this component.

See Handlers section of EntityClonerBuilder to understand how this affects handler priority.

Source

fn map_entities<E>(_this: &mut Self, _mapper: &mut E)
where E: EntityMapper,

Maps the entities on this component using the given EntityMapper. This is used to remap entities in contexts like scenes and entity cloning. When deriving Component, this is populated by annotating fields containing entities with #[entities]

#[derive(Component)]
struct Inventory {
    #[entities]
    items: Vec<Entity>
}

Fields with #[entities] must implement MapEntities.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Component for DependencyLoadState
where DependencyLoadState: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for LoadState
where LoadState: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RecursiveDependencyLoadState

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DepthOfFieldPipelines
where DepthOfFieldPipelines: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DebandDither
where DebandDither: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Tonemapping
where Tonemapping: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ClusterConfig
where ClusterConfig: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for LightEntity
where LightEntity: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ShadowFilteringMethod
where ShadowFilteringMethod: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PickingInteraction
where PickingInteraction: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PointerId
where PointerId: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Readback
where Readback: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Anchor
where Anchor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for FocusPolicy
where FocusPolicy: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CursorIcon
where CursorIcon: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Interaction
where Interaction: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Msaa
where Msaa: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Projection
where Projection: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for UiAntiAlias
where UiAntiAlias: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Visibility
where Visibility: Send + Sync + 'static,

Required Components: InheritedVisibility, ViewVisibility.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AccessibilityNode
where AccessibilityNode: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AnimationTarget
where AnimationTarget: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AutoExposure
where AutoExposure: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Bloom
where Bloom: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ContrastAdaptiveSharpening

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DenoiseCas
where DenoiseCas: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewCasPipeline
where ViewCasPipeline: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewTransmissionTexture
where ViewTransmissionTexture: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DeferredLightingIdDepthTexture

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AuxiliaryDepthOfFieldTexture

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DepthOfField
where DepthOfField: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DepthOfFieldUniform
where DepthOfFieldUniform: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewDepthOfFieldBindGroupLayouts

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewDepthPyramid
where ViewDepthPyramid: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewDownsampleDepthBindGroup

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TemporalAntiAliasing
where TemporalAntiAliasing: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CameraFxaaPipeline
where CameraFxaaPipeline: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Fxaa
where Fxaa: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MotionBlurPipelineId
where MotionBlurPipelineId: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MotionBlur
where MotionBlur: Send + Sync + 'static,

Required Components: DepthPrepass, MotionVectorPrepass.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MsaaWritebackBlitPipeline
where MsaaWritebackBlitPipeline: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for OitResolvePipelineId
where OitResolvePipelineId: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for OrderIndependentTransparencySettings

Source§

const STORAGE_TYPE: StorageType = StorageType::SparseSet

Source§

type Mutability = Mutable

Source§

impl Component for OrderIndependentTransparencySettingsOffset

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ChromaticAberration
where ChromaticAberration: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PostProcessingPipelineId
where PostProcessingPipelineId: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PostProcessingUniformBufferOffsets

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DeferredPrepass
where DeferredPrepass: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DepthPrepass
where DepthPrepass: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MotionVectorPrepass
where MotionVectorPrepass: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NormalPrepass
where NormalPrepass: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PreviousViewData
where PreviousViewData: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PreviousViewUniformOffset
where PreviousViewUniformOffset: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewPrepassTextures
where ViewPrepassTextures: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Smaa
where Smaa: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SmaaBindGroups
where SmaaBindGroups: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SmaaInfoUniformOffset
where SmaaInfoUniformOffset: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SmaaTextures
where SmaaTextures: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewSmaaPipelines
where ViewSmaaPipelines: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Skybox
where Skybox: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewTonemappingPipeline
where ViewTonemappingPipeline: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewUpscalingPipeline
where ViewUpscalingPipeline: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PointerDebug
where PointerDebug: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Disabled
where Disabled: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ObservedBy

Source§

const STORAGE_TYPE: StorageType = StorageType::SparseSet

Source§

type Mutability = Mutable

Source§

impl Component for ObserverState

Source§

const STORAGE_TYPE: StorageType = StorageType::SparseSet

Source§

type Mutability = Mutable

Source§

impl Component for SystemIdMarker
where SystemIdMarker: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GltfMaterialExtras
where GltfMaterialExtras: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GltfMaterialName
where GltfMaterialName: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GltfMeshExtras
where GltfMeshExtras: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GltfSceneExtras
where GltfSceneExtras: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AutoFocus
where AutoFocus: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TabGroup
where TabGroup: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TabIndex
where TabIndex: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ClusteredDecal
where ClusteredDecal: Send + Sync + 'static,

Required Components: Transform, Visibility, VisibilityClass.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ForwardDecal
where ForwardDecal: Send + Sync + 'static,

Required Components: Mesh3d.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DeferredLightingPipeline
where DeferredLightingPipeline: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PbrDeferredLightingDepthId

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MeshletMesh3d
where MeshletMesh3d: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for IrradianceVolume
where IrradianceVolume: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AtmosphereTextures
where AtmosphereTextures: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AtmosphereTransformsOffset

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Atmosphere
where Atmosphere: Send + Sync + 'static,

Required Components: AtmosphereSettings.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AtmosphereSettings
where AtmosphereSettings: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CascadeShadowConfig
where CascadeShadowConfig: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Cascades
where Cascades: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CascadesVisibleEntities
where CascadesVisibleEntities: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Clusters
where Clusters: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CubemapVisibleEntities
where CubemapVisibleEntities: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for EnvironmentMapUniform
where EnvironmentMapUniform: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ExtractedClusterConfig
where ExtractedClusterConfig: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ExtractedClusterableObjects

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ExtractedDirectionalLight
where ExtractedDirectionalLight: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ExtractedPointLight
where ExtractedPointLight: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for FogVolume
where FogVolume: Send + Sync + 'static,

Required Components: Transform, Visibility.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for LightViewEntities
where LightViewEntities: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Lightmap
where Lightmap: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MaterialBindGroupId
where MaterialBindGroupId: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MeshTransforms
where MeshTransforms: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MeshViewBindGroup
where MeshViewBindGroup: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MorphIndex
where MorphIndex: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NotShadowCaster
where NotShadowCaster: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NotShadowReceiver
where NotShadowReceiver: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PreprocessBindGroups
where PreprocessBindGroups: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PreviousGlobalTransform
where PreviousGlobalTransform: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RenderCascadesVisibleEntities

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RenderCubemapVisibleEntities

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RenderVisibleMeshEntities
where RenderVisibleMeshEntities: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ScreenSpaceAmbientOcclusion

Required Components: DepthPrepass, NormalPrepass.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ScreenSpaceAmbientOcclusionResources

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ScreenSpaceReflections
where ScreenSpaceReflections: Send + Sync + 'static,

Required Components: DepthPrepass, DeferredPrepass.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ScreenSpaceReflectionsPipelineId

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ScreenSpaceReflectionsUniform

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ShadowView
where ShadowView: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SkipGpuPreprocess
where SkipGpuPreprocess: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TransmittedShadowReceiver
where TransmittedShadowReceiver: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewClusterBindings
where ViewClusterBindings: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewEnvironmentMapUniformOffset

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewFogUniformOffset
where ViewFogUniformOffset: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewLightEntities
where ViewLightEntities: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewLightProbesUniformOffset

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewLightsUniformOffset
where ViewLightsUniformOffset: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewScreenSpaceReflectionsUniformOffset

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewShadowBindings
where ViewShadowBindings: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for VisibleClusterableObjects
where VisibleClusterableObjects: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for VisibleMeshEntities
where VisibleMeshEntities: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for VolumetricFog
where VolumetricFog: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for VolumetricLight
where VolumetricLight: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for bevy::pbr::wireframe::ExtractedWireframeColor
where ExtractedWireframeColor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Mesh3dWireframe
where Mesh3dWireframe: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NoWireframe
where NoWireframe: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Wireframe
where Wireframe: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for WireframeColor
where WireframeColor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SimplifiedMesh
where SimplifiedMesh: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Location
where Location: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PointerInteraction
where PointerInteraction: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PointerLocation
where PointerLocation: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PointerPress
where PointerPress: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NoAutomaticBatching
where NoAutomaticBatching: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CameraMainTextureUsages
where CameraMainTextureUsages: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CameraRenderGraph
where CameraRenderGraph: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CustomProjection
where CustomProjection: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Exposure
where Exposure: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ExtractedCamera
where ExtractedCamera: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ManualTextureView
where ManualTextureView: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ManualTextureViewHandle
where ManualTextureViewHandle: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MipBias
where MipBias: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TemporalJitter
where TemporalJitter: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for OcclusionCulling
where OcclusionCulling: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for OcclusionCullingSubview
where OcclusionCullingSubview: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for OcclusionCullingSubviewEntities

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MeshMorphWeights
where MeshMorphWeights: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SkinnedMesh
where SkinnedMesh: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MeshTag
where MeshTag: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Aabb
where Aabb: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CascadesFrusta
where CascadesFrusta: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CubemapFrusta
where CubemapFrusta: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Frustum
where Frustum: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MainEntity
where MainEntity: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RenderEntity

Source§

impl Component for SyncToRenderWorld
where SyncToRenderWorld: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::SparseSet

Source§

type Mutability = Mutable

Source§

impl Component for TemporaryRenderEntity
where TemporaryRenderEntity: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ColorGrading
where ColorGrading: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ExtractedView
where ExtractedView: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NoCpuCulling
where NoCpuCulling: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NoFrustumCulling
where NoFrustumCulling: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NoIndirectDrawing
where NoIndirectDrawing: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RenderLayers
where RenderLayers: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RenderVisibleEntities
where RenderVisibleEntities: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewDepthTexture
where ViewDepthTexture: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewTarget
where ViewTarget: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewUniformOffset
where ViewUniformOffset: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for VisibilityClass
where VisibilityClass: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for VisibilityRange
where VisibilityRange: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for VisibleEntities
where VisibleEntities: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Captured
where Captured: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Capturing
where Capturing: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Screenshot
where Screenshot: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SceneInstance
where SceneInstance: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for bevy::sprite::ExtractedWireframeColor
where ExtractedWireframeColor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Material2dBindGroupId
where Material2dBindGroupId: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Mesh2dMarker
where Mesh2dMarker: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Mesh2dTransforms
where Mesh2dTransforms: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Mesh2dViewBindGroup
where Mesh2dViewBindGroup: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Mesh2dWireframe
where Mesh2dWireframe: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for NoWireframe2d
where NoWireframe2d: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SpriteViewBindGroup
where SpriteViewBindGroup: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Wireframe2d
where Wireframe2d: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Wireframe2dColor
where Wireframe2dColor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ComputedTextBlock
where ComputedTextBlock: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TextBounds
where TextBounds: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TextLayoutInfo
where TextLayoutInfo: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for UiShadowsBatch
where UiShadowsBatch: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GhostNode
where GhostNode: Send + Sync + 'static,

Required Components: Visibility, Transform, ComputedNodeTarget.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ContentSize
where ContentSize: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RelativeCursorPosition
where RelativeCursorPosition: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for UiBatch
where UiBatch: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for UiCameraView
where UiCameraView: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for UiViewTarget
where UiViewTarget: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for UiTextureSlicerBatch
where UiTextureSlicerBatch: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ImageNodeSize
where ImageNodeSize: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TextNodeFlags
where TextNodeFlags: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ClosingWindow
where ClosingWindow: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Monitor
where Monitor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PrimaryMonitor
where PrimaryMonitor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PrimaryWindow
where PrimaryWindow: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RawHandleWrapper
where RawHandleWrapper: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RawHandleWrapperHolder
where RawHandleWrapperHolder: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AmbientLight
where AmbientLight: Send + Sync + 'static,

Required Components: Camera.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AnimationGraphHandle
where AnimationGraphHandle: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AnimationPlayer
where AnimationPlayer: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AnimationTransitions
where AnimationTransitions: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for AudioSink
where AudioSink: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for BackgroundColor
where BackgroundColor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for BorderColor
where BorderColor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for BorderRadius
where BorderRadius: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for BoxShadow
where BoxShadow: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for BoxShadowSamples
where BoxShadowSamples: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Button
where Button: Send + Sync + 'static,

Required Components: Node, FocusPolicy, Interaction.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for CalculatedClip
where CalculatedClip: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Camera2d
where Camera2d: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Camera3d
where Camera3d: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Camera
where Camera: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ChildOf
where ChildOf: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Immutable

Source§

impl Component for Children
where Children: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ComputedNode
where ComputedNode: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ComputedNodeTarget
where ComputedNodeTarget: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DirectionalLight
where DirectionalLight: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DistanceFog
where DistanceFog: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for DynamicSceneRoot
where DynamicSceneRoot: Send + Sync + 'static,

Required Components: Transform, Visibility.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for EnvironmentMapLight
where EnvironmentMapLight: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Gamepad
where Gamepad: Send + Sync + 'static,

Required Components: GamepadSettings.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GamepadSettings
where GamepadSettings: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Gizmo
where Gizmo: Send + Sync + 'static,

Required Components: Transform.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GlobalTransform
where GlobalTransform: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GlobalZIndex
where GlobalZIndex: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for GltfExtras
where GltfExtras: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ImageNode
where ImageNode: Send + Sync + 'static,

Required Components: Node, ImageNodeSize, ContentSize.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for InheritedVisibility
where InheritedVisibility: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for IsDefaultUiCamera
where IsDefaultUiCamera: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Label
where Label: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for LayoutConfig
where LayoutConfig: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for LightProbe
where LightProbe: Send + Sync + 'static,

Required Components: Transform, Visibility.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Mesh2d
where Mesh2d: Send + Sync + 'static,

Required Components: Transform, Visibility, VisibilityClass.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Mesh3d
where Mesh3d: Send + Sync + 'static,

Required Components: Transform, Visibility, VisibilityClass.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MeshPickingCamera
where MeshPickingCamera: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for MorphWeights
where MorphWeights: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Name
where Name: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Node
where Node: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Observer

Source§

const STORAGE_TYPE: StorageType = StorageType::SparseSet

Source§

type Mutability = Mutable

Source§

impl Component for Outline
where Outline: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Pickable
where Pickable: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PlaybackSettings
where PlaybackSettings: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for PointLight
where PointLight: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for RayCastBackfaces
where RayCastBackfaces: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SceneRoot
where SceneRoot: Send + Sync + 'static,

Required Components: Transform, Visibility.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ScrollPosition
where ScrollPosition: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ShowAabbGizmo
where ShowAabbGizmo: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ShowLightGizmo
where ShowLightGizmo: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SpatialAudioSink
where SpatialAudioSink: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SpatialListener
where SpatialListener: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SpotLight
where SpotLight: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Sprite
where Sprite: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for SpritePickingCamera
where SpritePickingCamera: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Text2d
where Text2d: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Text
where Text: Send + Sync + 'static,

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TextColor
where TextColor: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TextFont
where TextFont: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TextLayout
where TextLayout: Send + Sync + 'static,

Required Components: ComputedTextBlock, TextLayoutInfo.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TextShadow
where TextShadow: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TextSpan
where TextSpan: Send + Sync + 'static,

Required Components: TextFont, TextColor.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Transform
where Transform: Send + Sync + 'static,

Required Components: GlobalTransform, TransformTreeChanged.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for TransformTreeChanged
where TransformTreeChanged: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for UiPickingCamera
where UiPickingCamera: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for UiTargetCamera
where UiTargetCamera: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ViewVisibility
where ViewVisibility: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for Window
where Window: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl Component for ZIndex
where ZIndex: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<C> Component for RenderViewLightProbes<C>

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<C> Component for DynamicUniformIndex<C>
where C: Component, DynamicUniformIndex<C>: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<E> Component for FocusedInput<E>
where E: Event + Clone, FocusedInput<E>: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<E> Component for Pointer<E>
where E: Debug + Clone + Reflect, Pointer<E>: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<M> Component for UiMaterialBatch<M>
where M: UiMaterial, UiMaterialBatch<M>: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<M> Component for MaterialNode<M>
where M: UiMaterial, MaterialNode<M>: Send + Sync + 'static,

Required Components: Node.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<M> Component for MeshMaterial2d<M>
where M: Material2d, MeshMaterial2d<M>: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<M> Component for MeshMaterial3d<M>
where M: Material, MeshMaterial3d<M>: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<S> Component for StateScoped<S>
where S: States, StateScoped<S>: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<Source> Component for AudioPlayer<Source>
where Source: Asset + Decodable, AudioPlayer<Source>: Send + Sync + 'static,

Required Components: PlaybackSettings.

A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable

Source§

impl<T> Component for GpuArrayBufferIndex<T>
where T: GpuArrayBufferable, GpuArrayBufferIndex<T>: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

Source§

type Mutability = Mutable