Trait ReplayableFixedTopologyGeometryStateArtifact
pub trait ReplayableFixedTopologyGeometryStateArtifact: Sealed {
type DriverReplayEvidence<'a>: Copy;
// Required methods
fn geometry_state_digest(&self) -> Result<ArtifactDigest, Diagnostic>;
fn model_artifact(&self) -> ArtifactDigest;
fn semantic_revision(&self) -> u64;
fn reference_geometry_artifact(&self) -> ArtifactDigest;
fn reference_correspondence_artifact(&self) -> ArtifactDigest;
fn reference_mesh_artifact(&self) -> ArtifactDigest;
fn realization_artifact(&self) -> ArtifactDigest;
fn step(&self) -> u64;
fn time_s(&self) -> f64;
fn predecessor(&self) -> Option<ArtifactDigest>;
fn solid_displacement_snapshot(&self) -> ArtifactDigest;
fn validate_fixed_topology_replay<'a, M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
predecessor: Option<&Self>,
solid_displacement: &FieldSnapshotEnvelopeV1,
evidence: Self::DriverReplayEvidence<'a>,
) -> Result<(), Diagnostic>
where M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact;
}Description
One canonical fixed-topology Geometry State generation replayable by the dimension-neutral Spatial State v2 wire.
The contract is intentionally closed to Geometry State v1 (triangles) and v3 (tetrahedra). Each generation retains its own schema and digest domain; this projection shares only the exact lineage needed by downstream state publication.
Required Associated Types§
type DriverReplayEvidence<'a>: Copy
type DriverReplayEvidence<'a>: Copy
Complete generation-specific evidence needed to replay the geometry driver rather than trusting the coordinate payload.
V1 retains its legacy lineage replay. V3 requires the exact normalized solid-displacement leaves named by its snapshot.
Required Methods§
fn geometry_state_digest(&self) -> Result<ArtifactDigest, Diagnostic>
fn geometry_state_digest(&self) -> Result<ArtifactDigest, Diagnostic>
Domain-separated identity in the concrete Geometry State generation.
§Errors
Returns EQ0901 if canonical serialization fails.
fn model_artifact(&self) -> ArtifactDigest
fn model_artifact(&self) -> ArtifactDigest
Exact reference Model artifact.
fn semantic_revision(&self) -> u64
fn semantic_revision(&self) -> u64
Reference Model semantic revision.
fn reference_geometry_artifact(&self) -> ArtifactDigest
fn reference_geometry_artifact(&self) -> ArtifactDigest
Exact reference Geometry Identity artifact.
fn reference_correspondence_artifact(&self) -> ArtifactDigest
fn reference_correspondence_artifact(&self) -> ArtifactDigest
Exact reference geometry-to-mesh correspondence artifact.
fn reference_mesh_artifact(&self) -> ArtifactDigest
fn reference_mesh_artifact(&self) -> ArtifactDigest
Exact immutable reference mesh artifact.
fn realization_artifact(&self) -> ArtifactDigest
fn realization_artifact(&self) -> ArtifactDigest
Exact Realization artifact.
fn predecessor(&self) -> Option<ArtifactDigest>
fn predecessor(&self) -> Option<ArtifactDigest>
Exact predecessor Geometry State, absent only at state zero.
fn solid_displacement_snapshot(&self) -> ArtifactDigest
fn solid_displacement_snapshot(&self) -> ArtifactDigest
Exact solid-displacement snapshot driving this state.
fn validate_fixed_topology_replay<'a, M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
predecessor: Option<&Self>,
solid_displacement: &FieldSnapshotEnvelopeV1,
evidence: Self::DriverReplayEvidence<'a>,
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
fn validate_fixed_topology_replay<'a, M, R>(
&self,
context: &ValidatedMovingSpatialContextV2<'_, M, R>,
predecessor: Option<&Self>,
solid_displacement: &FieldSnapshotEnvelopeV1,
evidence: Self::DriverReplayEvidence<'a>,
) -> Result<(), Diagnostic>where
M: ReplayableCanonicalModelArtifact,
R: ReplayableFixedTopologyAleRealizationArtifact,
Replay the concrete generation from exact dependencies.
§Errors
Returns EQ0901 for any dependency or derived-evidence drift.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.