Struct SpatialTrajectoryEnvelopeV2
pub struct SpatialTrajectoryEnvelopeV2 { /* private fields */ }Description
Immutable root over a complete prefix of moving-state segments.
Extending a trajectory creates a new root retaining the exact previous segment prefix. The root contains no Run reference, so a Run may name it as output without introducing a digest cycle.
Implementations§
§impl SpatialTrajectoryEnvelopeV2
impl SpatialTrajectoryEnvelopeV2
pub fn start<M, R>(
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
segment: &SpatialTrajectorySegmentEnvelopeV2,
) -> Result<SpatialTrajectoryEnvelopeV2, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
pub fn start<M, R>(
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
segment: &SpatialTrajectorySegmentEnvelopeV2,
) -> Result<SpatialTrajectoryEnvelopeV2, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
Publish the first root of a complete trajectory beginning at state zero.
§Errors
Returns EQ0901 unless the first segment starts at (0, 0) with no
GeometryState predecessor and matches the exact common context.
pub fn extend<M, R>(
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
previous: &SpatialTrajectoryEnvelopeV2,
segment: &SpatialTrajectorySegmentEnvelopeV2,
) -> Result<SpatialTrajectoryEnvelopeV2, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
pub fn extend<M, R>(
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
previous: &SpatialTrajectoryEnvelopeV2,
segment: &SpatialTrajectorySegmentEnvelopeV2,
) -> Result<SpatialTrajectoryEnvelopeV2, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
Publish a new root retaining the complete previous segment prefix.
§Errors
Returns EQ0901 for resource/Field drift, a broken immutable prefix,
a skipped state, or a GeometryState predecessor mismatch.
pub fn from_json(
bytes: &[u8],
limits: TrajectoryDecoderLimits,
) -> Result<SpatialTrajectoryEnvelopeV2, Diagnostic>
pub fn from_json( bytes: &[u8], limits: TrajectoryDecoderLimits, ) -> Result<SpatialTrajectoryEnvelopeV2, Diagnostic>
Decode a closed moving-trajectory root without resolving dependencies.
§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.
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 last_geometry_state(&self) -> ArtifactDigest
pub fn last_geometry_state(&self) -> ArtifactDigest
Last exact current GeometryState represented by this root.
pub fn fields(&self) -> Vec<Id<Field>>
pub fn fields(&self) -> Vec<Id<Field>>
Exact selected Semantic Field identities.
pub fn model_artifact(&self) -> ArtifactDigest
pub fn model_artifact(&self) -> ArtifactDigest
Exact reference Model artifact.
pub const fn semantic_revision(&self) -> u64
pub const fn semantic_revision(&self) -> u64
Reference Model semantic revision.
pub fn realization_artifact(&self) -> ArtifactDigest
pub fn realization_artifact(&self) -> ArtifactDigest
Exact ALE Realization artifact.
pub fn reference_geometry_artifact(&self) -> ArtifactDigest
pub fn reference_geometry_artifact(&self) -> ArtifactDigest
Exact reference Geometry Identity artifact.
pub fn correspondence_artifact(&self) -> ArtifactDigest
pub fn correspondence_artifact(&self) -> ArtifactDigest
Exact correspondence artifact.
pub fn reference_mesh_artifact(&self) -> ArtifactDigest
pub fn reference_mesh_artifact(&self) -> ArtifactDigest
Exact immutable reference mesh artifact.
pub fn validate_against<M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
previous: Option<&SpatialTrajectoryEnvelopeV2>,
segments: &[SpatialTrajectorySegmentEnvelopeV2],
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
pub fn validate_against<M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
previous: Option<&SpatialTrajectoryEnvelopeV2>,
segments: &[SpatialTrajectorySegmentEnvelopeV2],
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
Rebuild the complete immutable prefix and compare its prior-root edge.
Segment input order is exact and is never normalized.
§Errors
Returns EQ0901 for a missing, reordered, substituted, cross-wired, or
non-prefix segment, or for an incorrect prior root.
pub fn validate_segments<M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
segments: &[SpatialTrajectorySegmentEnvelopeV2],
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
pub fn validate_segments<M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
segments: &[SpatialTrajectorySegmentEnvelopeV2],
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
Validate exact segment objects without requiring the prior root object.
§Errors
Returns EQ0901 for missing, reordered, substituted, or cross-lineage
segment dependencies.
Trait Implementations§
§impl Clone for SpatialTrajectoryEnvelopeV2
impl Clone for SpatialTrajectoryEnvelopeV2
§impl Debug for SpatialTrajectoryEnvelopeV2
impl Debug for SpatialTrajectoryEnvelopeV2
§impl PartialEq for SpatialTrajectoryEnvelopeV2
impl PartialEq for SpatialTrajectoryEnvelopeV2
§fn eq(&self, other: &SpatialTrajectoryEnvelopeV2) -> bool
fn eq(&self, other: &SpatialTrajectoryEnvelopeV2) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SpatialTrajectoryEnvelopeV2
Auto Trait Implementations§
impl Freeze for SpatialTrajectoryEnvelopeV2
impl RefUnwindSafe for SpatialTrajectoryEnvelopeV2
impl Send for SpatialTrajectoryEnvelopeV2
impl Sync for SpatialTrajectoryEnvelopeV2
impl Unpin for SpatialTrajectoryEnvelopeV2
impl UnsafeUnpin for SpatialTrajectoryEnvelopeV2
impl UnwindSafe for SpatialTrajectoryEnvelopeV2
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.