#[repr(u8)]pub enum AxisRole {
Undefined = 0,
Selector = 1,
Coordinate = 2,
Carrier = 3,
CoordinateCarrier = 4,
}Expand description
The role a single tensor axis plays in the .10d distance/query model.
Encoded as a u8 in the header’s axis_roles[10] array. Undefined is the
sentinel the parser rejects — a header with any axis left undefined fails
closed (the “missing-or-undefined axis role” acceptance gate).
Variants§
Undefined = 0
Sentinel for “no role assigned”. The parser rejects any header carrying this value — every axis must declare a concrete role.
Selector = 1
Excluded from every distance sum. q, v, w.
Coordinate = 2
Participates in distance. x, y, z, t, α, σ.
Carrier = 3
In-band provenance lane only (not a coordinate). Reserved for a future
taxonomy where μ is carrier-only; not used by the proposed table.
CoordinateCarrier = 4
Dual-role: a COORDINATE that is also the in-band provenance CARRIER.
This is μ’s role under the proposed Option A taxonomy — it preserves
the foundational promise that provenance/consent can exert geometric
proximity or weight during queries.
Implementations§
Source§impl AxisRole
impl AxisRole
Sourcepub const fn is_coordinate(self) -> bool
pub const fn is_coordinate(self) -> bool
True if this role participates in distance (pure coordinate or the dual-role coordinate+carrier).
Sourcepub const fn is_carrier(self) -> bool
pub const fn is_carrier(self) -> bool
True if this role carries the provenance lane.
Trait Implementations§
impl Copy for AxisRole
impl Eq for AxisRole
impl StructuralPartialEq for AxisRole
Auto Trait Implementations§
impl Freeze for AxisRole
impl RefUnwindSafe for AxisRole
impl Send for AxisRole
impl Sync for AxisRole
impl Unpin for AxisRole
impl UnsafeUnpin for AxisRole
impl UnwindSafe for AxisRole
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more