#[non_exhaustive]pub enum ProofResidualKind {
Show 13 variants
RestTranslation,
RestRotation,
UnitScale,
TransformOnlyAffine,
TrackValue,
MeshPosition,
KeyTranslation,
CubicInterior,
Trajectory,
SkinMatrix,
Bounds,
UnaffectedInverseBind,
ObservedFactor,
}Expand description
Which proof obligation produced a ScaleError::ProofResidualExceeded
or ScaleError::MissingProofEvidence.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
RestTranslation
Rest-world translation residual.
RestRotation
Rest-world rotation residual.
UnitScale
Postcondition unit-scale residual.
TransformOnlyAffine
Transform-only attachment full-affine residual (an off-origin point transformed through the expected and actual world matrix), per DESIGN.md Appendix D §D.2/§D.6.
TrackValue
Per-element animation-track value residual, checked directly against
each domain’s analytic expectation: a rewritten translation element
(value or cubic tangent) against before * multiplier, and every
retained rotation/scale element against before itself.
Distinct from Self::KeyTranslation, which samples the composed
track at key times: sampling proves what an evaluator would read, but
only a direct element comparison proves both that rewritten domains
received their declared multiplier and that domains this plan declares
untouched really are untouched.
MeshPosition
Base mesh POSITION residual, per vertex, against this operation’s
analytic expectation (before * q for whole-document conversion,
before for rest/bind reparameterization).
KeyTranslation
Keyframe-time translation residual.
CubicInterior
Cubic-segment interior-time translation residual.
Trajectory
Sampled world-space trajectory residual.
SkinMatrix
Skin-matrix (W * B) residual.
Bounds
Skinned mesh bounds residual.
UnaffectedInverseBind
Effective inverse-bind residual for a skin slot outside the affected closure — a skin neither operation touches, whose binds must therefore come through unchanged.
Slots inside the closure are covered, more strongly, by
Self::SkinMatrix: that obligation compares the composed W * B,
which is what actually deforms a vertex. Outside the closure there is
no rebase to compose against, so each slot is compared through the
model’s inverse-bind fallback chain.
ObservedFactor
The factor prove_scale re-derived from the documents it was given.
Only ever reported as ScaleError::MissingProofEvidence: it names a
source whose scaled root the proof could not resolve, never a residual.
Trait Implementations§
Source§impl Clone for ProofResidualKind
impl Clone for ProofResidualKind
Source§fn clone(&self) -> ProofResidualKind
fn clone(&self) -> ProofResidualKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more