Struct SpatialTrajectoryEnvelopeV1
pub struct SpatialTrajectoryEnvelopeV1 { /* private fields */ }Description
Immutable root over a complete prefix of trajectory segments.
Extending a trajectory creates a new root whose segment list retains the prior list byte-for-byte as a prefix. Run provenance is deliberately separate so the final root can be named as a Run output without a digest cycle.
Implementations§
§impl SpatialTrajectoryEnvelopeV1
impl SpatialTrajectoryEnvelopeV1
pub fn start(
context: &ValidatedFixedSpatialContextV1<'_>,
segment: &SpatialTrajectorySegmentEnvelopeV1,
) -> Result<SpatialTrajectoryEnvelopeV1, Diagnostic>
pub fn start( context: &ValidatedFixedSpatialContextV1<'_>, segment: &SpatialTrajectorySegmentEnvelopeV1, ) -> Result<SpatialTrajectoryEnvelopeV1, Diagnostic>
Publish the first immutable trajectory root.
§Errors
Returns EQ0901 only if the segment is internally invalid.
pub fn extend(
context: &ValidatedFixedSpatialContextV1<'_>,
previous: &SpatialTrajectoryEnvelopeV1,
segment: &SpatialTrajectorySegmentEnvelopeV1,
) -> Result<SpatialTrajectoryEnvelopeV1, Diagnostic>
pub fn extend( context: &ValidatedFixedSpatialContextV1<'_>, previous: &SpatialTrajectoryEnvelopeV1, segment: &SpatialTrajectorySegmentEnvelopeV1, ) -> Result<SpatialTrajectoryEnvelopeV1, Diagnostic>
Publish a new root retaining the complete previous segment prefix.
§Errors
Returns EQ0901 for resource/Field drift, duplicate/nonmonotone range,
generation overflow, or any attempt to remesh without an explicit
future transition contract.
pub fn from_json(
bytes: &[u8],
limits: TrajectoryDecoderLimits,
) -> Result<SpatialTrajectoryEnvelopeV1, Diagnostic>
pub fn from_json( bytes: &[u8], limits: TrajectoryDecoderLimits, ) -> Result<SpatialTrajectoryEnvelopeV1, Diagnostic>
Decode without resolving prior roots or segments.
§Errors
Returns EQ0901 for malformed, oversized, unknown, or noncanonical data.
pub fn canonical_json(&self) -> Result<Vec<u8>, Diagnostic>
pub fn canonical_json(&self) -> Result<Vec<u8>, Diagnostic>
pub fn digest(&self) -> Result<ArtifactDigest, Diagnostic>
pub fn digest(&self) -> Result<ArtifactDigest, Diagnostic>
pub const fn generation(&self) -> u64
pub const fn generation(&self) -> u64
Root generation, starting at zero.
pub fn previous_root(&self) -> Option<ArtifactDigest>
pub fn previous_root(&self) -> Option<ArtifactDigest>
Exact previous immutable root, when this is an extension.
pub fn segment_artifacts(&self) -> Vec<ArtifactDigest>
pub fn segment_artifacts(&self) -> Vec<ArtifactDigest>
Ordered complete segment prefix for bounded partial retrieval.
pub fn first_step(&self) -> u64
pub fn first_step(&self) -> u64
First accepted step represented by this root.
pub fn last_step(&self) -> u64
pub fn last_step(&self) -> u64
Last accepted step represented by this root.
pub fn fields(&self) -> Vec<Id<Field>>
pub fn fields(&self) -> Vec<Id<Field>>
Exact selected Semantic Field inventory.
pub fn model_artifact(&self) -> ArtifactDigest
pub fn model_artifact(&self) -> ArtifactDigest
Exact Model artifact.
pub fn realization_artifact(&self) -> ArtifactDigest
pub fn realization_artifact(&self) -> ArtifactDigest
Exact Realization artifact.
pub fn geometry_artifact(&self) -> ArtifactDigest
pub fn geometry_artifact(&self) -> ArtifactDigest
Exact geometry revision.
pub fn correspondence_artifact(&self) -> ArtifactDigest
pub fn correspondence_artifact(&self) -> ArtifactDigest
Exact correspondence artifact.
pub fn mesh_artifact(&self) -> ArtifactDigest
pub fn mesh_artifact(&self) -> ArtifactDigest
Exact mesh revision.
pub fn validate_against(
&self,
context: &ValidatedFixedSpatialContextV1<'_>,
previous: Option<&SpatialTrajectoryEnvelopeV1>,
segments: &[SpatialTrajectorySegmentEnvelopeV1],
) -> Result<(), Diagnostic>
pub fn validate_against( &self, context: &ValidatedFixedSpatialContextV1<'_>, previous: Option<&SpatialTrajectoryEnvelopeV1>, segments: &[SpatialTrajectorySegmentEnvelopeV1], ) -> Result<(), Diagnostic>
Validate the complete immutable segment list and optional prior root.
§Errors
Returns EQ0901 for a missing/substituted segment, broken prefix, or
lineage/range drift.
pub fn validate_segments(
&self,
context: &ValidatedFixedSpatialContextV1<'_>,
segments: &[SpatialTrajectorySegmentEnvelopeV1],
) -> Result<(), Diagnostic>
pub fn validate_segments( &self, context: &ValidatedFixedSpatialContextV1<'_>, segments: &[SpatialTrajectorySegmentEnvelopeV1], ) -> Result<(), Diagnostic>
Validate the complete ordered segment inventory without requiring the previous root object.
This is the bounded dependency check used by reference-only consumers
such as Dataset views. Prefix provenance remains the responsibility of
Self::validate_against.
§Errors
Returns EQ0901 for a missing, substituted, reordered, or cross-lineage
segment.
Trait Implementations§
§impl Clone for SpatialTrajectoryEnvelopeV1
impl Clone for SpatialTrajectoryEnvelopeV1
§impl Debug for SpatialTrajectoryEnvelopeV1
impl Debug for SpatialTrajectoryEnvelopeV1
§impl PartialEq for SpatialTrajectoryEnvelopeV1
impl PartialEq for SpatialTrajectoryEnvelopeV1
§fn eq(&self, other: &SpatialTrajectoryEnvelopeV1) -> bool
fn eq(&self, other: &SpatialTrajectoryEnvelopeV1) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SpatialTrajectoryEnvelopeV1
Auto Trait Implementations§
impl Freeze for SpatialTrajectoryEnvelopeV1
impl RefUnwindSafe for SpatialTrajectoryEnvelopeV1
impl Send for SpatialTrajectoryEnvelopeV1
impl Sync for SpatialTrajectoryEnvelopeV1
impl Unpin for SpatialTrajectoryEnvelopeV1
impl UnsafeUnpin for SpatialTrajectoryEnvelopeV1
impl UnwindSafe for SpatialTrajectoryEnvelopeV1
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
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<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
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>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.