Trait bevy::reflect::TypePath

pub trait TypePath: 'static {
    // Required methods
    fn type_path() -> &'static str;
    fn short_type_path() -> &'static str;

    // Provided methods
    fn type_ident() -> Option<&'static str> { ... }
    fn crate_name() -> Option<&'static str> { ... }
    fn module_path() -> Option<&'static str> { ... }
}
Expand description

A static accessor to type paths and names.

The engine uses this trait over std::any::type_name for stability and flexibility.

This trait is automatically implemented by the #[derive(Reflect)] macro and allows type path information to be processed without an instance of that type.

Implementors may have difficulty in generating references with static lifetimes. Luckily, this crate comes with some utility structs, to make generating these statics much simpler.

Stability

Certain parts of the engine, e.g. (de)serialization, rely on type paths as identifiers for matching dynamic values to concrete types.

Using std::any::type_name, a scene containing my_crate::foo::MyComponent would break, failing to deserialize if the component was moved from the foo module to the bar module, becoming my_crate::bar::MyComponent. This trait, through attributes when deriving itself or Reflect, can ensure breaking changes are avoidable.

The only external factor we rely on for stability when deriving is the module_path! macro, only if the derive does not provide a #[type_path = "..."] attribute.

Anonymity

Some methods on this trait return Option<&'static str> over &'static str because not all types define all parts of a type path, for example the array type [T; N].

Such types are ‘anonymous’ in that they have only a defined type_path and short_type_path and the methods crate_name, module_path and type_ident all return None.

Primitives are treated like anonymous types, except they also have a defined type_ident.

Example

use bevy_reflect::TypePath;

// This type path will not change with compiler versions or recompiles,
// although it will not be the same if the definition is moved.
#[derive(TypePath)]
struct NonStableTypePath;

// This type path will never change, even if the definition is moved.
#[derive(TypePath)]
#[type_path = "my_crate::foo"]
struct StableTypePath;

// Type paths can have any number of path segments.
#[derive(TypePath)]
#[type_path = "my_crate::foo::bar::baz"]
struct DeeplyNestedStableTypePath;

// Including just a crate name!
#[derive(TypePath)]
#[type_path = "my_crate"]
struct ShallowStableTypePath;

// We can also rename the identifier/name of types.
#[derive(TypePath)]
#[type_path = "my_crate::foo"]
#[type_name = "RenamedStableTypePath"]
struct NamedStableTypePath;

// Generics are also supported.
#[derive(TypePath)]
#[type_path = "my_crate::foo"]
struct StableGenericTypePath<T, const N: usize>([T; N]);

Required Methods§

fn type_path() -> &'static str

Returns the fully qualified path of the underlying type.

Generic parameter types are also fully expanded.

For Option<PhantomData>, this is "core::option::Option<core::marker::PhantomData>".

fn short_type_path() -> &'static str

Returns a short, pretty-print enabled path to the type.

Generic parameter types are also shortened.

For Option<PhantomData>, this is "Option<PhantomData>".

Provided Methods§

fn type_ident() -> Option<&'static str>

Returns the name of the type, or None if it is anonymous.

Primitive types will return Some.

For Option<PhantomData>, this is "Option".

fn crate_name() -> Option<&'static str>

Returns the name of the crate the type is in, or None if it is anonymous.

For Option<PhantomData>, this is "core".

fn module_path() -> Option<&'static str>

Returns the path to the moudle the type is in, or None if it is anonymous.

For Option<PhantomData>, this is "core::option".

Implementations on Foreign Types§

§

impl<A, B, C, D, E, F, G, H, I, J, K, L> TypePath for (A, B, C, D, E, F, G, H, I, J, K, L)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath, I: Reflect + TypePath, J: Reflect + TypePath, K: Reflect + TypePath, L: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for u128

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for RandomState

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for PathBuf

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<K, V, S> TypePath for HashMap<K, V, S>where K: FromReflect + Eq + Hash + TypePath + ?Sized, V: FromReflect + TypePath + ?Sized, S: BuildHasher + Send + Sync + 'static + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for i128

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B, C> TypePath for (A, B, C)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for NonZeroIsize

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T> TypePath for Vec<T, Global>where T: FromReflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B, C, D, E, F, G, H> TypePath for (A, B, C, D, E, F, G, H)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for BuildHasherDefault<AHasher>

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for bool

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B, C, D, E, F, G, H, I, J, K> TypePath for (A, B, C, D, E, F, G, H, I, J, K)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath, I: Reflect + TypePath, J: Reflect + TypePath, K: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for i16

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B, C, D, E, F> TypePath for (A, B, C, D, E, F)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl<T> TypePath for RangeToInclusive<T>where T: Clone + Send + Sync + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for i32

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for NonZeroI128

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for SmolStr

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for RangeFull

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B, C, D, E, F, G, H, I, J> TypePath for (A, B, C, D, E, F, G, H, I, J)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath, I: Reflect + TypePath, J: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for NonZeroI32

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for isize

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for u32

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T> TypePath for SmallVec<T>where T: Array + TypePath + Send + Sync,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for Cow<'static, str>

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for u8

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for Instant

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for f64

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for NonZeroI16

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T, const N: usize> TypePath for [T; N]where T: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for i64

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<'a, T> TypePath for Cow<'a, T>where 'a: 'static, T: PathOnly + TypePath + ?Sized,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B, C, D> TypePath for (A, B, C, D)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl<A, B, C, D, E, F, G> TypePath for (A, B, C, D, E, F, G)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl<T, E> TypePath for Result<T, E>where T: Clone + Reflect + TypePath, E: Clone + Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for char

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for NonZeroI64

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T> TypePath for RangeFrom<T>where T: Clone + Send + Sync + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for NonZeroU16

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for &'static Path

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for NonZeroI8

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T> TypePath for Option<T>where T: FromReflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for NonZeroU128

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for NonZeroU64

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T> TypePath for VecDeque<T, Global>where T: FromReflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for NonZeroU32

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B, C, D, E> TypePath for (A, B, C, D, E)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for String

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B> TypePath for (A, B)where A: Reflect + TypePath, B: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for u16

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for u64

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<A, B, C, D, E, F, G, H, I> TypePath for (A, B, C, D, E, F, G, H, I)where A: Reflect + TypePath, B: Reflect + TypePath, C: Reflect + TypePath, D: Reflect + TypePath, E: Reflect + TypePath, F: Reflect + TypePath, G: Reflect + TypePath, H: Reflect + TypePath, I: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl<T> TypePath for Range<T>where T: Clone + Send + Sync + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for Path

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for i8

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T> TypePath for RangeTo<T>where T: Clone + Send + Sync + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for NonZeroUsize

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for OsString

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for usize

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T> TypePath for RangeInclusive<T>where T: Clone + Send + Sync + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl<T> TypePath for [T]where T: TypePath, [T]: ToOwned,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for f32

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

§

impl TypePath for ()

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl<A> TypePath for (A,)where A: Reflect + TypePath,

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

impl TypePath for NonZeroU8

§

fn type_path() -> &'static str

§

fn short_type_path() -> &'static str

§

fn type_ident() -> Option<&'static str>

§

fn crate_name() -> Option<&'static str>

§

fn module_path() -> Option<&'static str>

Implementors§

§

impl TypePath for Keyframeswhere Vec<Quat, Global>: FromReflect, Vec<Vec3, Global>: FromReflect, Vec<f32, Global>: FromReflect,

§

impl TypePath for HandleId

§

impl TypePath for BloomCompositeMode

§

impl TypePath for ClearColorConfigwhere Color: FromReflect,

§

impl TypePath for Camera3dDepthLoadOpwhere f32: FromReflect,

§

impl TypePath for Sensitivity

§

impl TypePath for DebandDither

§

impl TypePath for Tonemapping

§

impl TypePath for ButtonState

§

impl TypePath for GamepadAxisTypewhere u8: FromReflect,

§

impl TypePath for GamepadButtonTypewhere u8: FromReflect,

§

impl TypePath for GamepadConnectionwhere GamepadInfo: FromReflect,

§

impl TypePath for GamepadEventwhere GamepadConnectionEvent: FromReflect, GamepadButtonChangedEvent: FromReflect, GamepadAxisChangedEvent: FromReflect,

§

impl TypePath for KeyCode

§

impl TypePath for MouseButtonwhere u16: FromReflect,

§

impl TypePath for MouseScrollUnit

§

impl TypePath for ForceTouchwhere f64: FromReflect, Option<f64>: FromReflect,

§

impl TypePath for TouchPhase

§

impl TypePath for EulerRot

§

impl TypePath for AlphaModewhere f32: FromReflect,

§

impl TypePath for ClusterConfigwhere UVec3: FromReflect, ClusterZConfig: FromReflect, bool: FromReflect, u32: FromReflect,

§

impl TypePath for ClusterFarZModewhere f32: FromReflect,

§

impl TypePath for FogFalloffwhere f32: FromReflect, Vec3: FromReflect,

§

impl TypePath for ParallaxMappingMethodwhere u32: FromReflect,

§

impl TypePath for ScreenSpaceAmbientOcclusionQualityLevelwhere u32: FromReflect,

§

impl TypePath for NormalizedRenderTargetwhere NormalizedWindowRef: FromReflect, Handle<Image>: FromReflect, ManualTextureViewHandle: FromReflect,

§

impl TypePath for Projectionwhere PerspectiveProjection: FromReflect, OrthographicProjection: FromReflect,

§

impl TypePath for RenderTargetwhere WindowRef: FromReflect, Handle<Image>: FromReflect, ManualTextureViewHandle: FromReflect,

§

impl TypePath for ScalingModewhere f32: FromReflect,

§

impl TypePath for Colorwhere f32: FromReflect,

§

impl TypePath for Msaa

§

impl TypePath for Visibility

§

impl TypePath for Anchorwhere Vec2: FromReflect,

§

impl TypePath for BreakLineOn

§

impl TypePath for TextAlignment

§

impl TypePath for TimerMode

§

impl TypePath for AlignContent

§

impl TypePath for AlignItems

§

impl TypePath for AlignSelf

§

impl TypePath for Direction

§

impl TypePath for Display

§

impl TypePath for FlexDirection

§

impl TypePath for FlexWrap

§

impl TypePath for FocusPolicy

§

impl TypePath for GridAutoFlow

§

impl TypePath for GridTrackRepetitionwhere u16: FromReflect,

§

impl TypePath for Interaction

§

impl TypePath for JustifyContent

§

impl TypePath for JustifyItems

§

impl TypePath for JustifySelf

§

impl TypePath for MaxTrackSizingFunction

§

impl TypePath for MinTrackSizingFunction

§

impl TypePath for OverflowAxis

§

impl TypePath for PositionType

§

impl TypePath for Valwhere f32: FromReflect,

§

impl TypePath for ZIndexwhere i32: FromReflect,

§

impl TypePath for CompositeAlphaMode

§

impl TypePath for CursorGrabMode

§

impl TypePath for CursorIcon

§

impl TypePath for FileDragAndDropwhere Entity: FromReflect, PathBuf: FromReflect,

§

impl TypePath for Imewhere Entity: FromReflect, String: FromReflect, Option<(usize, usize)>: FromReflect,

§

impl TypePath for MonitorSelectionwhere usize: FromReflect,

§

impl TypePath for PresentMode

§

impl TypePath for WindowLevel

§

impl TypePath for WindowMode

§

impl TypePath for WindowPositionwhere MonitorSelection: FromReflect, IVec2: FromReflect,

§

impl TypePath for WindowRefwhere Entity: FromReflect,

§

impl TypePath for WindowTheme

§

impl TypePath for AnimationClipwhere Vec<Vec<VariableCurve, Global>, Global>: FromReflect, HashMap<EntityPath, usize, BuildHasherDefault<AHasher>, Global>: FromReflect, f32: FromReflect,

§

impl TypePath for AnimationPlayerwhere bool: FromReflect, PlayingAnimation: FromReflect, Vec<AnimationTransition, Global>: Any + Send + Sync,

§

impl TypePath for EntityPathwhere Vec<Name, Global>: FromReflect,

§

impl TypePath for VariableCurvewhere Vec<f32, Global>: FromReflect, Keyframes: FromReflect,

§

impl TypePath for AssetPathId

§

impl TypePath for LabelId

§

impl TypePath for SourcePathId

§

impl TypePath for AudioSource

§

impl TypePath for Namewhere u64: FromReflect, Cow<'static, str>: FromReflect,

§

impl TypePath for BloomPrefilterSettingswhere f32: FromReflect,

§

impl TypePath for BloomSettingswhere f32: FromReflect, BloomPrefilterSettings: FromReflect, BloomCompositeMode: FromReflect,

§

impl TypePath for ClearColorwhere Color: FromReflect,

§

impl TypePath for ContrastAdaptiveSharpeningSettingswhere bool: FromReflect, f32: FromReflect,

§

impl TypePath for DenoiseCASwhere bool: FromReflect,

§

impl TypePath for Camera2dwhere ClearColorConfig: FromReflect,

§

impl TypePath for Camera3dwhere ClearColorConfig: FromReflect, Camera3dDepthLoadOp: FromReflect, Camera3dDepthTextureUsage: FromReflect,

§

impl TypePath for Camera3dDepthTextureUsagewhere u32: FromReflect,

§

impl TypePath for TemporalAntiAliasSettingswhere bool: FromReflect,

§

impl TypePath for Fxaawhere bool: FromReflect, Sensitivity: FromReflect,

§

impl TypePath for DepthPrepass

§

impl TypePath for MotionVectorPrepass

§

impl TypePath for NormalPrepass

§

impl TypePath for Entity

§

impl TypePath for AabbGizmowhere Option<Color>: FromReflect,

§

impl TypePath for Gltf

§

impl TypePath for GltfExtraswhere String: FromReflect,

§

impl TypePath for GltfMesh

§

impl TypePath for GltfNode

§

impl TypePath for GltfPrimitive

§

impl TypePath for Childrenwhere SmallVec<[Entity; 8]>: FromReflect,

§

impl TypePath for Parentwhere Entity: FromReflect,

§

impl TypePath for AxisSettingswhere f32: FromReflect,

§

impl TypePath for ButtonAxisSettingswhere f32: FromReflect,

§

impl TypePath for ButtonSettingswhere f32: FromReflect,

§

impl TypePath for Gamepadwhere usize: FromReflect,

§

impl TypePath for GamepadAxiswhere Gamepad: FromReflect, GamepadAxisType: FromReflect,

§

impl TypePath for GamepadAxisChangedEventwhere Gamepad: FromReflect, GamepadAxisType: FromReflect, f32: FromReflect,

§

impl TypePath for GamepadButtonwhere Gamepad: FromReflect, GamepadButtonType: FromReflect,

§

impl TypePath for GamepadButtonChangedEventwhere Gamepad: FromReflect, GamepadButtonType: FromReflect, f32: FromReflect,

§

impl TypePath for GamepadConnectionEventwhere Gamepad: FromReflect, GamepadConnection: FromReflect,

§

impl TypePath for GamepadInfowhere String: FromReflect,

§

impl TypePath for GamepadSettingswhere ButtonSettings: FromReflect, AxisSettings: FromReflect, ButtonAxisSettings: FromReflect, HashMap<GamepadButton, ButtonSettings, BuildHasherDefault<AHasher>, Global>: FromReflect, HashMap<GamepadAxis, AxisSettings, BuildHasherDefault<AHasher>, Global>: FromReflect, HashMap<GamepadButton, ButtonAxisSettings, BuildHasherDefault<AHasher>, Global>: FromReflect,

§

impl TypePath for KeyboardInputwhere u32: FromReflect, Option<KeyCode>: FromReflect, ButtonState: FromReflect, Entity: FromReflect,

§

impl TypePath for ScanCodewhere u32: FromReflect,

§

impl TypePath for MouseButtonInputwhere MouseButton: FromReflect, ButtonState: FromReflect, Entity: FromReflect,

§

impl TypePath for MouseMotionwhere Vec2: FromReflect,

§

impl TypePath for MouseWheelwhere MouseScrollUnit: FromReflect, f32: FromReflect, Entity: FromReflect,

§

impl TypePath for TouchInputwhere TouchPhase: FromReflect, Vec2: FromReflect, Option<ForceTouch>: FromReflect, u64: FromReflect,

§

impl TypePath for TouchpadMagnifywhere f32: FromReflect,

§

impl TypePath for TouchpadRotatewhere f32: FromReflect,

§

impl TypePath for BVec2where bool: FromReflect,

§

impl TypePath for BVec3where bool: FromReflect,

§

impl TypePath for BVec4where bool: FromReflect,

§

impl TypePath for Mat2where Vec2: FromReflect,

§

impl TypePath for Mat3where Vec3: FromReflect,

§

impl TypePath for Mat4where Vec4: FromReflect,

§

impl TypePath for Quat

§

impl TypePath for Vec2where f32: FromReflect,

§

impl TypePath for Vec3where f32: FromReflect,

§

impl TypePath for Vec4where f32: FromReflect,

§

impl TypePath for IVec2where i32: FromReflect,

§

impl TypePath for IVec3where i32: FromReflect,

§

impl TypePath for IVec4where i32: FromReflect,

§

impl TypePath for Affine2where Mat2: FromReflect, Vec2: FromReflect,

§

impl TypePath for Affine3Awhere Mat3A: FromReflect, Vec3A: FromReflect,

§

impl TypePath for BVec3A

§

impl TypePath for BVec4A

§

impl TypePath for DAffine2where DMat2: FromReflect, DVec2: FromReflect,

§

impl TypePath for DAffine3where DMat3: FromReflect, DVec3: FromReflect,

§

impl TypePath for DMat2where DVec2: FromReflect,

§

impl TypePath for DMat3where DVec3: FromReflect,

§

impl TypePath for DMat4where DVec4: FromReflect,

§

impl TypePath for DQuat

§

impl TypePath for DVec2where f64: FromReflect,

§

impl TypePath for DVec3where f64: FromReflect,

§

impl TypePath for DVec4where f64: FromReflect,

§

impl TypePath for Mat3Awhere Vec3A: FromReflect,

§

impl TypePath for Rectwhere Vec2: FromReflect,

§

impl TypePath for Vec3Awhere f32: FromReflect,

§

impl TypePath for UVec2where u32: FromReflect,

§

impl TypePath for UVec3where u32: FromReflect,

§

impl TypePath for UVec4where u32: FromReflect,

§

impl TypePath for AmbientLightwhere Color: FromReflect, f32: FromReflect,

§

impl TypePath for Cascadewhere Mat4: FromReflect, f32: FromReflect,

§

impl TypePath for CascadeShadowConfigwhere Vec<f32, Global>: FromReflect, f32: FromReflect,

§

impl TypePath for Cascadeswhere HashMap<Entity, Vec<Cascade, Global>, BuildHasherDefault<AHasher>, Global>: FromReflect,

§

impl TypePath for CascadesVisibleEntitieswhere HashMap<Entity, Vec<VisibleEntities, Global>, BuildHasherDefault<AHasher>, Global>: Any + Send + Sync,

§

impl TypePath for ClusterZConfigwhere f32: FromReflect, ClusterFarZMode: FromReflect,

§

impl TypePath for CubemapVisibleEntitieswhere [VisibleEntities; 6]: Any + Send + Sync,

§

impl TypePath for DirectionalLightwhere Color: FromReflect, f32: FromReflect, bool: FromReflect,

§

impl TypePath for DirectionalLightShadowMapwhere usize: FromReflect,

§

impl TypePath for EnvironmentMapLightwhere Handle<Image>: FromReflect,

§

impl TypePath for FogSettingswhere Color: FromReflect, f32: FromReflect, FogFalloff: FromReflect,

§

impl TypePath for NotShadowCaster

§

impl TypePath for NotShadowReceiver

§

impl TypePath for PointLightwhere Color: FromReflect, f32: FromReflect, bool: FromReflect,

§

impl TypePath for PointLightShadowMapwhere usize: FromReflect,

§

impl TypePath for ScreenSpaceAmbientOcclusionSettingswhere ScreenSpaceAmbientOcclusionQualityLevel: FromReflect,

§

impl TypePath for SpotLightwhere Color: FromReflect, f32: FromReflect, bool: FromReflect,

§

impl TypePath for StandardMaterialwhere Color: FromReflect, Option<Handle<Image>>: FromReflect, f32: FromReflect, bool: FromReflect, AlphaMode: FromReflect, ParallaxMappingMethod: FromReflect, Option<Face>: Any + Send + Sync,

§

impl TypePath for Wireframe

§

impl TypePath for WireframeConfigwhere bool: FromReflect,

§

impl TypePath for Camerawhere Option<Viewport>: FromReflect, isize: FromReflect, bool: FromReflect, ComputedCameraValues: Any + Send + Sync, RenderTarget: Any + Send + Sync, CameraOutputMode: Any + Send + Sync,

§

impl TypePath for CameraRenderGraphwhere Cow<'static, str>: FromReflect,

§

impl TypePath for ManualTextureViewHandlewhere u32: FromReflect,

§

impl TypePath for OrthographicProjectionwhere f32: FromReflect, Vec2: FromReflect, ScalingMode: FromReflect, Rect: FromReflect,

§

impl TypePath for PerspectiveProjectionwhere f32: FromReflect,

§

impl TypePath for Viewportwhere UVec2: FromReflect, Range<f32>: FromReflect,

§

impl TypePath for GlobalsUniformwhere f32: FromReflect, u32: FromReflect,

§

impl TypePath for MeshMorphWeightswhere Vec<f32, Global>: FromReflect,

§

impl TypePath for MorphWeightswhere Vec<f32, Global>: FromReflect, Option<Handle<Mesh>>: FromReflect,

§

impl TypePath for SkinnedMeshwhere Handle<SkinnedMeshInverseBindposes>: FromReflect, Vec<Entity, Global>: FromReflect,

§

impl TypePath for SkinnedMeshInverseBindposes

§

impl TypePath for Mesh

§

impl TypePath for Aabbwhere Vec3A: FromReflect,

§

impl TypePath for CascadesFrustawhere HashMap<Entity, Vec<Frustum, Global>, BuildHasherDefault<AHasher>, Global>: Any + Send + Sync,

§

impl TypePath for CubemapFrustawhere [Frustum; 6]: Any + Send + Sync,

§

impl TypePath for Frustumwhere [HalfSpace; 6]: Any + Send + Sync,

§

impl TypePath for Shader

§

impl TypePath for Image

§

impl TypePath for ColorGradingwhere f32: FromReflect,

§

impl TypePath for ComputedVisibilitywhere ComputedVisibilityFlags: FromReflect,

§

impl TypePath for NoFrustumCulling

§

impl TypePath for RenderLayerswhere u32: FromReflect,

§

impl TypePath for VisibleEntitieswhere Vec<Entity, Global>: Any + Send + Sync,

§

impl TypePath for DynamicScene

§

impl TypePath for Scene

§

impl TypePath for ColorMaterialwhere Color: FromReflect, Option<Handle<Image>>: FromReflect,

§

impl TypePath for Mesh2dHandlewhere Handle<Mesh>: FromReflect,

§

impl TypePath for Spritewhere Color: FromReflect, bool: FromReflect, Option<Vec2>: FromReflect, Option<Rect>: FromReflect, Anchor: FromReflect,

§

impl TypePath for TextureAtlaswhere Handle<Image>: FromReflect, Vec2: FromReflect, Vec<Rect, Global>: FromReflect, Option<HashMap<Handle<Image>, usize, BuildHasherDefault<AHasher>, Global>>: FromReflect,

§

impl TypePath for TextureAtlasSpritewhere Color: FromReflect, usize: FromReflect, bool: FromReflect, Option<Vec2>: FromReflect, Anchor: FromReflect,

§

impl TypePath for Font

§

impl TypePath for FontAtlasSet

§

impl TypePath for Text2dBoundswhere Vec2: FromReflect,

§

impl TypePath for Textwhere Vec<TextSection, Global>: FromReflect, TextAlignment: FromReflect, BreakLineOn: FromReflect,

§

impl TypePath for TextSectionwhere String: FromReflect, TextStyle: FromReflect,

§

impl TypePath for TextStylewhere Handle<Font>: FromReflect, f32: FromReflect, Color: FromReflect,

§

impl TypePath for Stopwatchwhere Duration: FromReflect, bool: FromReflect,

§

impl TypePath for Timewhere Instant: FromReflect, Option<Instant>: FromReflect, bool: FromReflect, f64: FromReflect, Duration: FromReflect, f32: FromReflect,

§

impl TypePath for Timerwhere Stopwatch: FromReflect, Duration: FromReflect, TimerMode: FromReflect, bool: FromReflect, u32: FromReflect,

§

impl TypePath for GlobalTransformwhere Affine3A: FromReflect,

§

impl TypePath for Transformwhere Vec3: FromReflect, Quat: FromReflect,

§

impl TypePath for UiCameraConfigwhere bool: FromReflect,

§

impl TypePath for BackgroundColorwhere Color: FromReflect,

§

impl TypePath for BorderColorwhere Color: FromReflect,

§

impl TypePath for CalculatedClipwhere Rect: FromReflect,

§

impl TypePath for ContentSizewhere Option<MeasureFunc>: Any + Send + Sync,

§

impl TypePath for GridPlacementwhere Option<i16>: FromReflect, Option<u16>: FromReflect,

§

impl TypePath for GridTrackwhere MinTrackSizingFunction: FromReflect, MaxTrackSizingFunction: FromReflect,

§

impl TypePath for Nodewhere Vec2: FromReflect,

§

impl TypePath for Overflowwhere OverflowAxis: FromReflect,

§

impl TypePath for RelativeCursorPositionwhere Option<Vec2>: FromReflect,

§

impl TypePath for RepeatedGridTrackwhere GridTrackRepetition: FromReflect, SmallVec<[GridTrack; 1]>: FromReflect,

§

impl TypePath for Stylewhere Display: FromReflect, PositionType: FromReflect, Overflow: FromReflect, Direction: FromReflect, Val: FromReflect, Option<f32>: FromReflect, AlignItems: FromReflect, JustifyItems: FromReflect, AlignSelf: FromReflect, JustifySelf: FromReflect, AlignContent: FromReflect, JustifyContent: FromReflect, UiRect: FromReflect, FlexDirection: FromReflect, FlexWrap: FromReflect, f32: FromReflect, GridAutoFlow: FromReflect, Vec<RepeatedGridTrack, Global>: FromReflect, Vec<GridTrack, Global>: FromReflect, GridPlacement: FromReflect,

§

impl TypePath for UiImagewhere Handle<Image>: FromReflect, bool: FromReflect,

§

impl TypePath for UiRectwhere Val: FromReflect,

§

impl TypePath for UiTextureAtlasImagewhere usize: FromReflect, bool: FromReflect,

§

impl TypePath for Button

§

impl TypePath for Label

§

impl TypePath for TextFlagswhere bool: FromReflect,

§

impl TypePath for UiImageSizewhere Vec2: FromReflect,

§

impl TypePath for Duration

§

impl TypePath for Uuid

§

impl TypePath for Cursorwhere CursorIcon: FromReflect, bool: FromReflect, CursorGrabMode: FromReflect,

§

impl TypePath for CursorEnteredwhere Entity: FromReflect,

§

impl TypePath for CursorLeftwhere Entity: FromReflect,

§

impl TypePath for CursorMovedwhere Entity: FromReflect, Vec2: FromReflect,

§

impl TypePath for InternalWindowStatewhere Option<bool>: FromReflect, Option<DVec2>: FromReflect,

§

impl TypePath for NormalizedWindowRefwhere Entity: FromReflect,

§

impl TypePath for PrimaryWindow

§

impl TypePath for ReceivedCharacterwhere Entity: FromReflect, char: FromReflect,

§

impl TypePath for RequestRedraw

§

impl TypePath for Windowwhere Cursor: FromReflect, PresentMode: FromReflect, WindowMode: FromReflect, WindowPosition: FromReflect, WindowResolution: FromReflect, String: FromReflect, CompositeAlphaMode: FromReflect, WindowResizeConstraints: FromReflect, bool: FromReflect, WindowLevel: FromReflect, Option<String>: FromReflect, InternalWindowState: FromReflect, Vec2: FromReflect, Option<WindowTheme>: FromReflect,

§

impl TypePath for WindowBackendScaleFactorChangedwhere Entity: FromReflect, f64: FromReflect,

§

impl TypePath for WindowCloseRequestedwhere Entity: FromReflect,

§

impl TypePath for WindowClosedwhere Entity: FromReflect,

§

impl TypePath for WindowCreatedwhere Entity: FromReflect,

§

impl TypePath for WindowDestroyedwhere Entity: FromReflect,

§

impl TypePath for WindowFocusedwhere Entity: FromReflect, bool: FromReflect,

§

impl TypePath for WindowMovedwhere Entity: FromReflect, IVec2: FromReflect,

§

impl TypePath for WindowResizeConstraintswhere f32: FromReflect,

§

impl TypePath for WindowResizedwhere Entity: FromReflect, f32: FromReflect,

§

impl TypePath for WindowResolutionwhere u32: FromReflect, Option<f64>: FromReflect, f64: FromReflect,

§

impl TypePath for WindowScaleFactorChangedwhere Entity: FromReflect, f64: FromReflect,

§

impl TypePath for WindowThemeChangedwhere Entity: FromReflect, WindowTheme: FromReflect,

§

impl TypePath for DynamicArray

§

impl TypePath for DynamicEnum

§

impl TypePath for DynamicList

§

impl TypePath for DynamicMap

§

impl TypePath for DynamicStruct

§

impl TypePath for DynamicTuple

§

impl TypePath for DynamicTupleStruct

§

impl<'a> TypePath for AssetPath<'a>where Cow<'a, Path>: FromReflect, Option<Cow<'a, str>>: FromReflect,

§

impl<K, V, S> TypePath for bevy::utils::hashbrown::HashMap<K, V, S, Global>where K: FromReflect + Eq + Hash + TypePath + ?Sized, V: FromReflect + TypePath + ?Sized, S: BuildHasher + Send + Sync + 'static + TypePath,

§

impl<T> TypePath for Handle<T>where T: Asset + TypePath, HandleId: FromReflect, HandleType: Any + Send + Sync, PhantomData<fn() -> T>: Any + Send + Sync,

§

impl<T> TypePath for Input<T>where T: Copy + Eq + Hash + Send + Sync + 'static + TypePath, HashSet<T, BuildHasherDefault<AHasher>, Global>: FromReflect,

§

impl<T> TypePath for HashSet<T, BuildHasherDefault<AHasher>, Global>where T: Hash + Eq + Clone + Send + Sync + TypePath,