Skip to main content

ArkheComponent

Trait ArkheComponent 

Source
pub trait ArkheComponent:
    __Sealed
    + Serialize
    + for<'de> Deserialize<'de>
    + 'static {
    const TYPE_CODE: u32;
    const SCHEMA_VERSION: u16;

    // Provided method
    fn type_code() -> TypeCode { ... }
}
Expand description

Sealed marker trait for ECS Component types. Implementations are produced only by #[derive(ArkheComponent)] — manual downstream impls are rejected by the Sealed supertrait and the Runtime dylint gate.

Canonical bytes = postcard::to_stdvec(&value) (A17 succession).

Required Associated Constants§

Source

const TYPE_CODE: u32

Globally stable dispatch code within the runtime TypeCode registry.

Source

const SCHEMA_VERSION: u16

Monotone schema version. Bump on field addition (#[serde(default)] paired); field removal / reorder forbidden.

Provided Methods§

Source

fn type_code() -> TypeCode

TypeCode wrapper convenience.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl ArkheComponent for ActivityRecord

Source§

const TYPE_CODE: u32 = 197633u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for EntityShellId

Source§

const TYPE_CODE: u32 = 197634u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for ActorProfile

Source§

const TYPE_CODE: u32 = 196865u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for UserBinding

Source§

const TYPE_CODE: u32 = 196866u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for EntryBody

Source§

const TYPE_CODE: u32 = 197378u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for EntryCore

Source§

const TYPE_CODE: u32 = 197377u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for EntryParentDepth

Source§

const TYPE_CODE: u32 = 197379u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for ParentChainDepth

Source§

const TYPE_CODE: u32 = 197122u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for SpaceConfig

Source§

const TYPE_CODE: u32 = 197121u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for SpaceMembership

Source§

const TYPE_CODE: u32 = 197123u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for AuthCredential

Source§

const TYPE_CODE: u32 = 196610u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for UserGdprState

Source§

const TYPE_CODE: u32 = 196611u32

Source§

const SCHEMA_VERSION: u16 = 1u16

Source§

impl ArkheComponent for UserProfile

Source§

const TYPE_CODE: u32 = 196609u32

Source§

const SCHEMA_VERSION: u16 = 1u16