#[non_exhaustive]pub enum CdtValidationFailure {
BackendGeometry {
detail: String,
},
FaceVerticesUnavailable {
face: String,
detail: String,
},
FaceVertexCount {
face: String,
actual: usize,
expected: usize,
},
MissingVertexTimeLabel {
vertex: String,
},
InvalidCdtTriangle {
face: String,
spacelike_edges: u8,
timelike_edges: u8,
},
VertexCoordinateReadFailed {
vertex: String,
detail: String,
},
VertexCoordinateDimension {
vertex: String,
actual: usize,
expected_minimum: usize,
},
NonStrictSimplex {
face: String,
},
ErgodicMoveCandidateGeometry {
detail: String,
},
}Expand description
Structured detail for crate-owned CDT validation failures.
This refines CdtError::ValidationFailed beyond a coarse
CdtValidationCheck so callers can inspect common CDT invariant failures
without parsing display text. Variants still keep string diagnostics where
the source is an upstream backend message or an opaque backend handle.
§Examples
use causal_triangulations::prelude::errors::CdtValidationFailure;
let failure = CdtValidationFailure::InvalidCdtTriangle {
face: "FaceKey(3v1)".to_string(),
spacelike_edges: 3,
timelike_edges: 0,
};
assert!(format!("{failure}").contains("spacelike=3"));Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
BackendGeometry
Generic backend geometry validation failed with an upstream diagnostic.
Face vertices could not be resolved through the geometry backend.
FaceVertexCount
A face had the wrong number of vertices for a CDT triangle.
Fields
MissingVertexTimeLabel
A vertex in a foliated triangulation was missing its time label.
InvalidCdtTriangle
A triangle had the wrong spacelike/timelike edge pattern.
Fields
VertexCoordinateReadFailed
Coordinate lookup failed while assigning foliation labels.
Fields
VertexCoordinateDimension
A vertex coordinate did not have enough dimensions for foliation assignment.
Fields
NonStrictSimplex
A foliated face was not classifiable as a strict Up or Down CDT simplex.
ErgodicMoveCandidateGeometry
Local ergodic-move candidate geometry failed a post-mutation invariant.
Trait Implementations§
Source§impl Clone for CdtValidationFailure
impl Clone for CdtValidationFailure
Source§fn clone(&self) -> CdtValidationFailure
fn clone(&self) -> CdtValidationFailure
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CdtValidationFailure
impl Debug for CdtValidationFailure
Source§impl Display for CdtValidationFailure
impl Display for CdtValidationFailure
Source§impl Hash for CdtValidationFailure
impl Hash for CdtValidationFailure
Source§impl PartialEq for CdtValidationFailure
impl PartialEq for CdtValidationFailure
Source§fn eq(&self, other: &CdtValidationFailure) -> bool
fn eq(&self, other: &CdtValidationFailure) -> bool
self and other values to be equal, and is used by ==.