Struct FieldSnapshotEnvelopeV2
pub struct FieldSnapshotEnvelopeV2 { /* private fields */ }Description
Logical snapshot of one Semantic Field in one spatial Realization.
Numerical values stay in normalized DiscreteFieldEnvelopeV1 leaves. A P1
Field has one vertex block; a simplex P1-bubble Field has a vertex block and
a top-cell bubble block. Coefficients outside the closure of the Field’s
Domain are stored as +0.0, so every block keeps the canonical mesh entity
order while the support is still exactly the Domain.
Implementations§
§impl FieldSnapshotEnvelopeV2
impl FieldSnapshotEnvelopeV2
pub fn new_moving<M>(
context: &ValidatedMovingSpatialContext<'_, M>,
field: Id<Field>,
blocks: &[DiscreteFieldEnvelopeV1],
) -> Result<FieldSnapshotEnvelopeV2, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
pub fn new_moving<M>(
context: &ValidatedMovingSpatialContext<'_, M>,
field: Id<Field>,
blocks: &[DiscreteFieldEnvelopeV1],
) -> Result<FieldSnapshotEnvelopeV2, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
Bind normalized coefficient blocks in a fixed-topology moving context.
Geometry motion changes the enclosing state lineage, not the reference-mesh coefficient representation.
§Errors
Returns EQ0901 when the ALE Realization, immutable reference
topology, semantic Field, and normalized coefficient blocks disagree.
pub fn from_json(
bytes: &[u8],
limits: FieldDecoderLimits,
) -> Result<FieldSnapshotEnvelopeV2, Diagnostic>
pub fn from_json( bytes: &[u8], limits: FieldDecoderLimits, ) -> Result<FieldSnapshotEnvelopeV2, Diagnostic>
Decode the closed logical manifest without resolving referenced blocks.
§Errors
Returns EQ0901 for malformed, oversized, noncanonical, or unsupported
wire 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>
Domain-separated logical identity of meaning and normalized block content.
§Errors
Returns EQ0901 if canonical serialization fails.
pub fn model_artifact(&self) -> ArtifactDigest
pub fn model_artifact(&self) -> ArtifactDigest
Semantic Model artifact.
pub fn realization_artifact(&self) -> ArtifactDigest
pub fn realization_artifact(&self) -> ArtifactDigest
Realization artifact.
pub fn geometry_artifact(&self) -> ArtifactDigest
pub fn geometry_artifact(&self) -> ArtifactDigest
Geometry revision.
pub fn correspondence_artifact(&self) -> ArtifactDigest
pub fn correspondence_artifact(&self) -> ArtifactDigest
Geometry-to-mesh correspondence.
pub fn mesh_artifact(&self) -> ArtifactDigest
pub fn mesh_artifact(&self) -> ArtifactDigest
Mesh revision.
pub fn support_domain(&self) -> Id<Domain>
pub fn support_domain(&self) -> Id<Domain>
Volume Domain on which the Field is supported.
pub const fn dimension(&self) -> DimExponents
pub const fn dimension(&self) -> DimExponents
Physical dimension in coherent SI base units.
pub fn value_shape(&self) -> ValueShape
pub fn value_shape(&self) -> ValueShape
Mathematical value shape.
pub const fn frame(&self) -> ValueFrame
pub const fn frame(&self) -> ValueFrame
Coordinate-frame meaning of components.
pub fn block_artifacts(&self) -> Vec<(DiscreteFieldAssociation, ArtifactDigest)>
pub fn block_artifacts(&self) -> Vec<(DiscreteFieldAssociation, ArtifactDigest)>
Canonically ordered normalized coefficient-block identities.
pub fn validate_against_moving<'a, M>(
&self,
context: &ValidatedMovingSpatialContext<'_, M>,
blocks: impl IntoIterator<Item = &'a DiscreteFieldEnvelopeV1>,
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
pub fn validate_against_moving<'a, M>(
&self,
context: &ValidatedMovingSpatialContext<'_, M>,
blocks: impl IntoIterator<Item = &'a DiscreteFieldEnvelopeV1>,
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
Rebuild and compare this logical snapshot in a moving context.
§Errors
Returns EQ0901 for any semantic, ALE resource, block, or content
drift.
pub fn active_entities_against_moving<M>(
&self,
context: &ValidatedMovingSpatialContext<'_, M>,
association: DiscreteFieldAssociation,
) -> Result<Vec<usize>, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
pub fn active_entities_against_moving<M>(
&self,
context: &ValidatedMovingSpatialContext<'_, M>,
association: DiscreteFieldAssociation,
) -> Result<Vec<usize>, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
Derive the active mesh entities for one coefficient association.
This operation revalidates the snapshot’s semantic and moving-spatial lineage. Returned indices are sorted in canonical reference-mesh order; they never imply identity across mesh revisions.
§Errors
Returns EQ0901 for stale snapshot lineage, an association absent from
the snapshot, or invalid support incidence.
pub fn active_entity_count_against_moving<M>(
&self,
context: &ValidatedMovingSpatialContext<'_, M>,
association: DiscreteFieldAssociation,
) -> Result<usize, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
pub fn active_entity_count_against_moving<M>(
&self,
context: &ValidatedMovingSpatialContext<'_, M>,
association: DiscreteFieldAssociation,
) -> Result<usize, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
Count active entities without allocating their materialized usize
index list.
This is the preflight counterpart of
Self::active_entities_against_moving.
§Errors
Returns EQ0901 under the same lineage and support conditions as the
materializing operation.
Trait Implementations§
§impl Clone for FieldSnapshotEnvelopeV2
impl Clone for FieldSnapshotEnvelopeV2
§impl Debug for FieldSnapshotEnvelopeV2
impl Debug for FieldSnapshotEnvelopeV2
§impl PartialEq for FieldSnapshotEnvelopeV2
impl PartialEq for FieldSnapshotEnvelopeV2
§fn eq(&self, other: &FieldSnapshotEnvelopeV2) -> bool
fn eq(&self, other: &FieldSnapshotEnvelopeV2) -> bool
self and other values to be equal, and is used by ==.impl Eq for FieldSnapshotEnvelopeV2
impl StructuralPartialEq for FieldSnapshotEnvelopeV2
Auto Trait Implementations§
impl Freeze for FieldSnapshotEnvelopeV2
impl RefUnwindSafe for FieldSnapshotEnvelopeV2
impl Send for FieldSnapshotEnvelopeV2
impl Sync for FieldSnapshotEnvelopeV2
impl Unpin for FieldSnapshotEnvelopeV2
impl UnsafeUnpin for FieldSnapshotEnvelopeV2
impl UnwindSafe for FieldSnapshotEnvelopeV2
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>,
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<T> From<T> for T
impl<T> From<T> for T
§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, 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.