animation-quality-gatelisted
Install: claude install-skill MAX-786/claude-3d-harness
# Animation Quality Gate
Do not accept an animation because it rendered. Accept it only after a contact sheet and failure analysis pass.
## Review dimensions
1. **Subject dominance** — the main asset remains readable and is not overwhelmed by HUD/context.
2. **Layer separation** — base subject, texture state, glow, HUD, and background are separate enough to control.
3. **Silhouette stability** — silhouette stays constant unless deliberate morph is specified.
4. **Texture coherence** — no ugly full-image crossfade, crop pop, or unregistered morph.
5. **Motion coherence** — arcs/dots have a reason, restrained speed, and coherent easing.
6. **Export truth** — the final export can reproduce the effect or limitations are explicit.
7. **Frame aesthetics** — sampled frames look good as stills.
## RALPH trigger
If a user calls an animation ugly/bad, stop rebuilding immediately. First:
- collect preview frames/contact sheet;
- identify the failed dimension(s);
- invoke `quality-refinement-autoloop` if the stack lacks a method;
- only then rebuild the animation.
## Hard gates
- No final animation without a contact sheet.
- No GLB claim for texture swaps implemented only with Blender Python handlers.
- No decorative context elements in base avatar export unless requested.
- No morph that violates locked geometry constraints.
## Scripts
- `scripts/animation_contact_sheet.py` builds a contact sheet and frame-to-frame difference report from rendered frames.