Struct GeometryStateEnvelopeV1
pub struct GeometryStateEnvelopeV1 { /* private fields */ }Description
One accepted coordinate state over an immutable reference simplex mesh.
The wire deliberately contains no cells, facets, or other topology. Vertex
order comes exclusively from the exact reference mesh digest. Current
quality and path-orientation evidence are replayed with that reference
connectivity; mesh velocity is derived from consecutive accepted states
and cannot be supplied to Self::new. Version 1 is the bounded 2D
fixed-topology ALE contract from RFC 0064.
Implementations§
§impl GeometryStateEnvelopeV1
impl GeometryStateEnvelopeV1
pub fn new(
model: &impl ReplayableCanonicalModelArtifact,
geometry: &GeometryIdentityEnvelopeV1,
correspondence: &GeometryMeshCorrespondenceEnvelopeV1,
reference_mesh: &SimplicialMeshEnvelopeV1,
realization: &(impl CanonicalRealizationArtifact + ?Sized),
step: u64,
time_s: f64,
predecessor: Option<&GeometryStateEnvelopeV1>,
solid_displacement: &FieldSnapshotEnvelopeV1,
current_coordinates_m: Vec<Vec<f64>>,
) -> Result<GeometryStateEnvelopeV1, Diagnostic>
pub fn new( model: &impl ReplayableCanonicalModelArtifact, geometry: &GeometryIdentityEnvelopeV1, correspondence: &GeometryMeshCorrespondenceEnvelopeV1, reference_mesh: &SimplicialMeshEnvelopeV1, realization: &(impl CanonicalRealizationArtifact + ?Sized), step: u64, time_s: f64, predecessor: Option<&GeometryStateEnvelopeV1>, solid_displacement: &FieldSnapshotEnvelopeV1, current_coordinates_m: Vec<Vec<f64>>, ) -> Result<GeometryStateEnvelopeV1, Diagnostic>
Capture one accepted 2D fixed-topology coordinate state.
The initial state is exactly (step = 0, time_s = 0) and has no
predecessor or mesh velocity. Every later state must immediately
follow its predecessor in step and time. The solid-displacement
snapshot must share the complete reference lineage and have coherent-SI
length-valued spatial-vector type.
§Errors
Returns EQ0901 for stale dependencies, invalid step/time lineage,
wrong driver type, changed vertex inventory, non-finite coordinates,
an inverted or low-quality current mesh, or an orientation loss along
the complete linear path from the predecessor.
pub fn from_json(
bytes: &[u8],
limits: MeshDecoderLimits,
) -> Result<GeometryStateEnvelopeV1, Diagnostic>
pub fn from_json( bytes: &[u8], limits: MeshDecoderLimits, ) -> Result<GeometryStateEnvelopeV1, Diagnostic>
Decode bounded wire data without trusting referenced artifacts.
Exact topology, quality, path, velocity, and dependency replay remains
pending until Self::validate_against succeeds.
§Errors
Returns EQ0901 for malformed, oversized, unknown, non-finite, or
noncanonical wire data, including any topology-bearing unknown field.
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>
Domain-separated identity of this coordinate state and its evidence.
§Errors
Returns EQ0901 if canonical serialization fails.
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 reference_geometry_artifact(&self) -> ArtifactDigest
pub fn reference_geometry_artifact(&self) -> ArtifactDigest
Exact reference Geometry Identity artifact.
pub fn reference_correspondence_artifact(&self) -> ArtifactDigest
pub fn reference_correspondence_artifact(&self) -> ArtifactDigest
Exact reference geometry-to-mesh correspondence artifact.
pub fn reference_mesh_artifact(&self) -> ArtifactDigest
pub fn reference_mesh_artifact(&self) -> ArtifactDigest
Exact immutable reference mesh artifact.
pub fn realization_artifact(&self) -> ArtifactDigest
pub fn realization_artifact(&self) -> ArtifactDigest
Exact ALE Realization artifact.
pub fn predecessor(&self) -> Option<ArtifactDigest>
pub fn predecessor(&self) -> Option<ArtifactDigest>
Exact predecessor GeometryState, absent only at step zero.
pub fn solid_displacement_snapshot(&self) -> ArtifactDigest
pub fn solid_displacement_snapshot(&self) -> ArtifactDigest
Exact accepted solid-displacement Field snapshot driving this state.
pub fn current_coordinates_m(&self) -> &[Vec<f64>]
pub fn current_coordinates_m(&self) -> &[Vec<f64>]
Absolute coherent-SI coordinates in immutable reference vertex order.
pub fn mesh_velocity_m_per_s(&self) -> Option<&[Vec<f64>]>
pub fn mesh_velocity_m_per_s(&self) -> Option<&[Vec<f64>]>
Derived mesh velocity in immutable reference vertex order.
The initial state has no time interval and therefore no velocity.
pub const fn minimum_mean_ratio(&self) -> f64
pub const fn minimum_mean_ratio(&self) -> f64
Recomputed minimum current-cell mean-ratio quality.
pub const fn minimum_signed_measure_scale(&self) -> f64
pub const fn minimum_signed_measure_scale(&self) -> f64
Recomputed minimum current-cell signed measure scale.
pub const fn minimum_path_signed_measure_scale(&self) -> f64
pub const fn minimum_path_signed_measure_scale(&self) -> f64
Exact minimum signed measure scale along the admitted linear path.
pub fn validate_against(
&self,
model: &impl ReplayableCanonicalModelArtifact,
geometry: &GeometryIdentityEnvelopeV1,
correspondence: &GeometryMeshCorrespondenceEnvelopeV1,
reference_mesh: &SimplicialMeshEnvelopeV1,
realization: &(impl CanonicalRealizationArtifact + ?Sized),
predecessor: Option<&GeometryStateEnvelopeV1>,
solid_displacement: &FieldSnapshotEnvelopeV1,
) -> Result<(), Diagnostic>
pub fn validate_against( &self, model: &impl ReplayableCanonicalModelArtifact, geometry: &GeometryIdentityEnvelopeV1, correspondence: &GeometryMeshCorrespondenceEnvelopeV1, reference_mesh: &SimplicialMeshEnvelopeV1, realization: &(impl CanonicalRealizationArtifact + ?Sized), predecessor: Option<&GeometryStateEnvelopeV1>, solid_displacement: &FieldSnapshotEnvelopeV1, ) -> Result<(), Diagnostic>
Rebuild and compare the complete state from exact dependencies.
§Errors
Returns EQ0901 for dependency, predecessor, driver, coordinate,
velocity, path, or quality-evidence drift.
Trait Implementations§
§impl Clone for GeometryStateEnvelopeV1
impl Clone for GeometryStateEnvelopeV1
§impl Debug for GeometryStateEnvelopeV1
impl Debug for GeometryStateEnvelopeV1
§impl PartialEq for GeometryStateEnvelopeV1
impl PartialEq for GeometryStateEnvelopeV1
§fn eq(&self, other: &GeometryStateEnvelopeV1) -> bool
fn eq(&self, other: &GeometryStateEnvelopeV1) -> bool
self and other values to be equal, and is used by ==.§impl ReplayableFixedTopologyGeometryStateArtifact for GeometryStateEnvelopeV1
impl ReplayableFixedTopologyGeometryStateArtifact for GeometryStateEnvelopeV1
§type DriverReplayEvidence<'a> = ()
type DriverReplayEvidence<'a> = ()
§fn geometry_state_digest(&self) -> Result<ArtifactDigest, Diagnostic>
fn geometry_state_digest(&self) -> Result<ArtifactDigest, Diagnostic>
§fn model_artifact(&self) -> ArtifactDigest
fn model_artifact(&self) -> ArtifactDigest
§fn semantic_revision(&self) -> u64
fn semantic_revision(&self) -> u64
§fn reference_geometry_artifact(&self) -> ArtifactDigest
fn reference_geometry_artifact(&self) -> ArtifactDigest
§fn reference_correspondence_artifact(&self) -> ArtifactDigest
fn reference_correspondence_artifact(&self) -> ArtifactDigest
§fn reference_mesh_artifact(&self) -> ArtifactDigest
fn reference_mesh_artifact(&self) -> ArtifactDigest
§fn realization_artifact(&self) -> ArtifactDigest
fn realization_artifact(&self) -> ArtifactDigest
§fn predecessor(&self) -> Option<ArtifactDigest>
fn predecessor(&self) -> Option<ArtifactDigest>
§fn solid_displacement_snapshot(&self) -> ArtifactDigest
fn solid_displacement_snapshot(&self) -> ArtifactDigest
§fn validate_fixed_topology_replay<'a, M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
predecessor: Option<&GeometryStateEnvelopeV1>,
solid_displacement: &FieldSnapshotEnvelopeV1,
_: <GeometryStateEnvelopeV1 as ReplayableFixedTopologyGeometryStateArtifact>::DriverReplayEvidence<'a>,
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
fn validate_fixed_topology_replay<'a, M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
predecessor: Option<&GeometryStateEnvelopeV1>,
solid_displacement: &FieldSnapshotEnvelopeV1,
_: <GeometryStateEnvelopeV1 as ReplayableFixedTopologyGeometryStateArtifact>::DriverReplayEvidence<'a>,
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
impl StructuralPartialEq for GeometryStateEnvelopeV1
Auto Trait Implementations§
impl Freeze for GeometryStateEnvelopeV1
impl RefUnwindSafe for GeometryStateEnvelopeV1
impl Send for GeometryStateEnvelopeV1
impl Sync for GeometryStateEnvelopeV1
impl Unpin for GeometryStateEnvelopeV1
impl UnsafeUnpin for GeometryStateEnvelopeV1
impl UnwindSafe for GeometryStateEnvelopeV1
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.