What problem does it solve?
Runtime sprite animations loaded from .achx/.achj files can misbehave in Gum — frames drift, offsets misalign with FlatRedBall-authored values, or per-frame colors fail to apply — and the cause is buried in the split between frame-change logic and render-time logic. This Skill explains the full AnimationChain pipeline so you can diagnose and fix these playback issues.
Core Features & Use Cases
- Pipeline Reference: Traces .achx/.achj deserialization through AnimationChainListSave into runtime AnimationChainList objects, including pixel-vs-UV coordinate conversion at load time.
- Playback Internals: Documents AnimationChainLogic state (CurrentChainName resolution, looping, frame-change callbacks) shared across XNA, Sokol, Raylib, and Skia backends.
- Known Gotchas: Covers the RelativeX/Y top-left vs center anchor mismatch with FRB-authored animations, NineSlice's lack of RelativeX/Y support, and per-frame color (Alpha/Multiply/Add) application rules.
- Use Case: A collapse animation authored in the FRB AnimationEditor climbs upward in Gum when HeightUnits is PercentageOfSourceFile — use this Skill to identify the anchor mismatch and apply the (referenceHeight - currentHeight) / 2 correction.
Quick Start
Ask the AI to explain why my Gum Sprite animation drifts vertically when using RelativeY offsets from an FRB-authored .achx file.