#[non_exhaustive]pub enum DocumentShapeError {
NonFiniteSkeletonRest {
node: BoneId,
},
InvalidSkeletonParent {
node: BoneId,
parent: BoneId,
},
DuplicateSourceNodeIndex {
source_node_index: usize,
},
DuplicateSourceSkinIndex {
source_skin_index: usize,
},
SourceProjection {
source_node_index: usize,
violation: SourceProjectionViolation,
},
DuplicateClipTrack {
clip_index: usize,
node: BoneId,
property: Property,
},
TrackShape {
clip_index: usize,
node: BoneId,
violation: TrackShapeViolation,
},
MeshInstanceShape {
instance_index: usize,
violation: MeshInstanceShapeViolation,
},
NonFiniteBoneInverseBind {
node: BoneId,
},
}Expand description
A structural invariant violated by validate_document_shape.
Validation is a snapshot, not a durable guarantee: Document and its
nested fields are publicly mutable. Strict operations that rely on this
full shape must validate again at each public boundary.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NonFiniteSkeletonRest
A bone’s local rest transform or its composed rest-world transform is non-finite.
InvalidSkeletonParent
A bone’s parent does not precede it in parent-before-child order.
DuplicateSourceNodeIndex
The source-node projection declares one source node identity twice.
DuplicateSourceSkinIndex
The source-skin projection declares one source skin identity twice.
SourceProjection
A complete source-node projection contradicts the normalized skeleton.
Fields
violation: SourceProjectionViolationThe typed projection failure.
DuplicateClipTrack
A clip declares the same target (node, property) more than once.
Fields
clip_index: usizeIndex into Document::clips.
TrackShape
A track is malformed for its target, interpolation, or value storage.
Fields
clip_index: usizeIndex into Document::clips.
violation: TrackShapeViolationThe typed track-shape failure.
MeshInstanceShape
A mesh instance has an invalid reference or inverse-bind payload.
Fields
instance_index: usizeIndex into SceneAssets::instances.
violation: MeshInstanceShapeViolationThe typed mesh-instance failure.
NonFiniteBoneInverseBind
A bone-level inverse-bind matrix is non-finite.
Trait Implementations§
Source§impl Clone for DocumentShapeError
impl Clone for DocumentShapeError
Source§fn clone(&self) -> DocumentShapeError
fn clone(&self) -> DocumentShapeError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for DocumentShapeError
Source§impl Debug for DocumentShapeError
impl Debug for DocumentShapeError
Source§impl Display for DocumentShapeError
impl Display for DocumentShapeError
impl Eq for DocumentShapeError
Source§impl Error for DocumentShapeError
impl Error for DocumentShapeError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()