#[non_exhaustive]pub enum GltfCapabilityViolationKind {
Show 24 variants
ExternalResource,
MorphTarget,
MorphWeights,
Camera,
Light,
Instancing,
ExtensionDeclaration,
ExtensionPayload,
Extras,
UnknownJsonMember,
NonTrianglePrimitive,
UnsupportedVertexAttribute,
SecondarySkinInfluences,
MissingInverseBinds,
EmptyInverseBindAccessor,
InverseBindCountMismatch,
UnreadableInverseBinds,
UnsafeAccessorLayout,
ConflictingAccessorUse,
OverlappingAccessorRanges,
ConflictingNodeTransform,
NonAffineNodeMatrix,
AnimatedMatrixNode,
ImagePayloadOverlap,
}Expand description
Stable machine identity for one fail-closed capability violation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ExternalResource
A source buffer or image uses an external URI.
MorphTarget
A morph target is present.
MorphWeights
Static or animated morph weights are present.
Camera
A camera definition or reference is present.
Light
A punctual-light declaration or payload is present.
Instancing
An EXT_mesh_gpu_instancing declaration or payload is present.
ExtensionDeclaration
An extension declaration is not covered by a registered handler.
ExtensionPayload
An extension payload is not covered by a registered handler.
Extras
Non-null application-specific extras are present.
UnknownJsonMember
A JSON member outside the glTF 2.0 schema was ignored by the typed parser.
NonTrianglePrimitive
A primitive mode other than triangle lists is present.
UnsupportedVertexAttribute
A vertex attribute is outside the normalized writer subset.
SecondarySkinInfluences
A secondary JOINTS_n or WEIGHTS_n set is present.
MissingInverseBinds
A skin omitted its inverse-bind accessor.
EmptyInverseBindAccessor
A skin declared an empty inverse-bind accessor.
InverseBindCountMismatch
A skin’s inverse-bind count does not equal its joint count.
UnreadableInverseBinds
A declared inverse-bind accessor is not a dense f32 MAT4 source.
UnsafeAccessorLayout
A used accessor cannot be safely bounded, or a rewrite accessor is not dense f32.
ConflictingAccessorUse
One accessor is shared between scale-bearing and dimensionless semantics.
OverlappingAccessorRanges
A scale-bearing accessor overlaps another owned byte range in a source
buffer. The other range is an accessor, or an image payload reported
alongside it as GltfCapabilityViolationKind::ImagePayloadOverlap.
ConflictingNodeTransform
A node declares matrix alongside translation, rotation or
scale, which glTF 2.0 §3.5 forbids.
NonAffineNodeMatrix
A node matrix is not TRS-decomposable: its last row is not
(0, 0, 0, 1).
AnimatedMatrixNode
An animation targets a node that authored its rest transform as a
matrix. glTF animation channels replace TRS properties, so there is
no raw TRS property this operation can reparameterize safely.
ImagePayloadOverlap
An image reads a buffer view overlapping a scale-bearing accessor.
Trait Implementations§
Source§impl Clone for GltfCapabilityViolationKind
impl Clone for GltfCapabilityViolationKind
Source§fn clone(&self) -> GltfCapabilityViolationKind
fn clone(&self) -> GltfCapabilityViolationKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more