Struct FieldSnapshotEnvelopeV1
pub struct FieldSnapshotEnvelopeV1 { /* private fields */ }Description
Logical snapshot of one exact Semantic Field in one exact spatial Realization.
Numerical values remain 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. Values outside the exact Domain closure are
canonical positive zero, so every block retains the canonical mesh entity
order while the Domain support remains exact.
Implementations§
§impl FieldSnapshotEnvelopeV1
impl FieldSnapshotEnvelopeV1
Bind one exact circular-hole authored-region P1 snapshot.
The unchanged V1 wire is admitted only after replaying the Model, source-owned chordal mesh, authored correspondence, and field-wise V2 Realization as one in-process lineage.
§Errors
Returns EQ0901 for any Model, exact-source, owner, geometry,
correspondence, mesh, Realization, Field, support, or block drift.
Rebuild and compare this snapshot through the exact circular-hole authored field-wise lineage.
§Errors
Returns EQ0901 for any semantic, source-owner, V2 Realization,
geometry, mesh, correspondence, block, or content drift.
§impl FieldSnapshotEnvelopeV1
impl FieldSnapshotEnvelopeV1
pub fn new(
context: &ValidatedFixedSpatialContextV1<'_>,
field: Id<Field>,
blocks: &[DiscreteFieldEnvelopeV1],
) -> Result<FieldSnapshotEnvelopeV1, Diagnostic>
pub fn new( context: &ValidatedFixedSpatialContextV1<'_>, field: Id<Field>, blocks: &[DiscreteFieldEnvelopeV1], ) -> Result<FieldSnapshotEnvelopeV1, Diagnostic>
Bind normalized mesh-wide coefficient blocks to exact Field meaning.
Metadata is derived from the supplied Model and Realization; callers cannot independently assert units, shape, frame, support, or basis.
§Errors
Returns EQ0901 for stale resources, a Field outside the selected
Realization, an unsupported space/shape, wrong or duplicate blocks, or
any nonzero coefficient outside the exact Domain closure.
pub fn new_moving<M, R>(
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
field: Id<Field>,
blocks: &[DiscreteFieldEnvelopeV1],
) -> Result<FieldSnapshotEnvelopeV1, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
pub fn new_moving<M, R>(
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
field: Id<Field>,
blocks: &[DiscreteFieldEnvelopeV1],
) -> Result<FieldSnapshotEnvelopeV1, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
Bind normalized coefficient blocks in a fixed-topology moving context.
The wire remains field-snapshot-envelope/v1: geometry motion changes
the enclosing state lineage, not the reference-mesh coefficient
representation or the snapshot’s semantic meaning.
§Errors
Returns EQ0901 under the same closed-world conditions as Self::new,
using the exact ALE Realization and immutable reference topology.
pub fn new_prescribed_dynamic_solid(
model: &impl ReplayableCanonicalModelArtifact,
realization: &PrescribedDynamicSolidRealizationEnvelopeV1,
geometry: &GeometryIdentityEnvelopeV1,
correspondence: &GeometryMeshCorrespondenceEnvelopeV1,
mesh: &SimplicialMeshEnvelopeV1,
field: Id<Field>,
blocks: &[DiscreteFieldEnvelopeV1],
) -> Result<FieldSnapshotEnvelopeV1, Diagnostic>
pub fn new_prescribed_dynamic_solid( model: &impl ReplayableCanonicalModelArtifact, realization: &PrescribedDynamicSolidRealizationEnvelopeV1, geometry: &GeometryIdentityEnvelopeV1, correspondence: &GeometryMeshCorrespondenceEnvelopeV1, mesh: &SimplicialMeshEnvelopeV1, field: Id<Field>, blocks: &[DiscreteFieldEnvelopeV1], ) -> Result<FieldSnapshotEnvelopeV1, Diagnostic>
Bind one exact prescribed dynamic-solid displacement or velocity snapshot.
§Errors
Returns EQ0901 for any semantic role, lineage, support, block, or content drift.
pub fn from_json(
bytes: &[u8],
limits: FieldDecoderLimits,
) -> Result<FieldSnapshotEnvelopeV1, Diagnostic>
pub fn from_json( bytes: &[u8], limits: FieldDecoderLimits, ) -> Result<FieldSnapshotEnvelopeV1, 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
Exact Semantic 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 geometry-to-mesh correspondence.
pub fn mesh_artifact(&self) -> ArtifactDigest
pub fn mesh_artifact(&self) -> ArtifactDigest
Exact mesh revision.
pub fn support_domain(&self) -> Id<Domain>
pub fn support_domain(&self) -> Id<Domain>
Exact volume Domain support.
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
Exact 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(
&self,
context: &ValidatedFixedSpatialContextV1<'_>,
blocks: &[DiscreteFieldEnvelopeV1],
) -> Result<(), Diagnostic>
pub fn validate_against( &self, context: &ValidatedFixedSpatialContextV1<'_>, blocks: &[DiscreteFieldEnvelopeV1], ) -> Result<(), Diagnostic>
Rebuild and compare the complete logical snapshot from exact dependencies.
§Errors
Returns EQ0901 for any semantic, resource, block, or content drift.
pub fn validate_against_prescribed_dynamic_solid(
&self,
model: &impl ReplayableCanonicalModelArtifact,
realization: &PrescribedDynamicSolidRealizationEnvelopeV1,
geometry: &GeometryIdentityEnvelopeV1,
correspondence: &GeometryMeshCorrespondenceEnvelopeV1,
mesh: &SimplicialMeshEnvelopeV1,
blocks: &[DiscreteFieldEnvelopeV1],
) -> Result<(), Diagnostic>
pub fn validate_against_prescribed_dynamic_solid( &self, model: &impl ReplayableCanonicalModelArtifact, realization: &PrescribedDynamicSolidRealizationEnvelopeV1, geometry: &GeometryIdentityEnvelopeV1, correspondence: &GeometryMeshCorrespondenceEnvelopeV1, mesh: &SimplicialMeshEnvelopeV1, blocks: &[DiscreteFieldEnvelopeV1], ) -> Result<(), Diagnostic>
Rebuild and compare one exact prescribed dynamic-solid snapshot.
§Errors
Returns EQ0901 for any semantic, resource, block, or content drift.
pub fn validate_against_moving<'a, M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
blocks: impl IntoIterator<Item = &'a DiscreteFieldEnvelopeV1>,
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
pub fn validate_against_moving<'a, M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
blocks: impl IntoIterator<Item = &'a DiscreteFieldEnvelopeV1>,
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
Rebuild and compare this logical snapshot in an exact moving context.
§Errors
Returns EQ0901 for any semantic, ALE resource, block, or content
drift.
pub fn active_entities_against<'a>(
&self,
context: &ValidatedFixedSpatialContextV1<'_>,
blocks: impl IntoIterator<Item = &'a DiscreteFieldEnvelopeV1>,
association: DiscreteFieldAssociation,
) -> Result<Vec<usize>, Diagnostic>
pub fn active_entities_against<'a>( &self, context: &ValidatedFixedSpatialContextV1<'_>, blocks: impl IntoIterator<Item = &'a DiscreteFieldEnvelopeV1>, association: DiscreteFieldAssociation, ) -> Result<Vec<usize>, Diagnostic>
Derive exact active mesh entities in one fixed-spatial context.
The complete snapshot is first rebuilt from its exact semantic and numerical dependencies. Returned indices are global, sorted canonical mesh indices and are never inferred from coefficient values.
§Errors
Returns EQ0901 for stale snapshot lineage, an association absent from
the snapshot, or invalid support incidence.
pub fn active_entities_against_moving<M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
association: DiscreteFieldAssociation,
) -> Result<Vec<usize>, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
pub fn active_entities_against_moving<M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
association: DiscreteFieldAssociation,
) -> Result<Vec<usize>, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
Derive the exact 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, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
association: DiscreteFieldAssociation,
) -> Result<usize, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
pub fn active_entity_count_against_moving<M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
association: DiscreteFieldAssociation,
) -> Result<usize, Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
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 FieldSnapshotEnvelopeV1
impl Clone for FieldSnapshotEnvelopeV1
§impl Debug for FieldSnapshotEnvelopeV1
impl Debug for FieldSnapshotEnvelopeV1
§impl PartialEq for FieldSnapshotEnvelopeV1
impl PartialEq for FieldSnapshotEnvelopeV1
§fn eq(&self, other: &FieldSnapshotEnvelopeV1) -> bool
fn eq(&self, other: &FieldSnapshotEnvelopeV1) -> bool
self and other values to be equal, and is used by ==.impl Eq for FieldSnapshotEnvelopeV1
impl StructuralPartialEq for FieldSnapshotEnvelopeV1
Auto Trait Implementations§
impl Freeze for FieldSnapshotEnvelopeV1
impl RefUnwindSafe for FieldSnapshotEnvelopeV1
impl Send for FieldSnapshotEnvelopeV1
impl Sync for FieldSnapshotEnvelopeV1
impl Unpin for FieldSnapshotEnvelopeV1
impl UnsafeUnpin for FieldSnapshotEnvelopeV1
impl UnwindSafe for FieldSnapshotEnvelopeV1
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
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.