promotional bannermobile promotional banner

LibAnimate

Keyframe-driven animation library for WoW frames

File Details

3.1.0

  • R
  • Feb 22, 2026
  • 16.15 KB
  • 4
  • 12.0.1+5
  • Retail + 2

File Name

LibAnimate-3.1.0.zip

Supported Versions

  • 12.0.1
  • 12.0.0
  • 11.2.7
  • 5.5.3
  • 5.5.2
  • 2.5.5

Lib: Animate

3.1.0 (2026-02-22)

Full Changelog Previous Releases

  • chore: release 3.1.0 (#19)
    Co-authored-by: Xerrion 1850632+Xerrion@users.noreply.github.com
  • feat: add 45 animate.style animations (#22)
    • feat: add 45 animations (attention seekers, bouncing, fading, specials)
      Add 45 new animation definitions inspired by animate.css:
      Attention Seekers (10):
      bounce, flash, pulse, rubberBand, shakeX, shakeY, headShake,
      tada, wobble, heartBeat
      Bouncing Entrances (5):
      bounceIn, bounceInDown, bounceInLeft, bounceInRight, bounceInUp
      Bouncing Exits (5):
      bounceOut, bounceOutDown, bounceOutLeft, bounceOutRight, bounceOutUp
      Fading Entrances (12):
      fadeInDown, fadeInDownBig, fadeInLeft, fadeInLeftBig, fadeInRight,
      fadeInRightBig, fadeInUp, fadeInUpBig, fadeInTopLeft, fadeInTopRight,
      fadeInBottomLeft, fadeInBottomRight
      Fading Exits (12):
      fadeOutDown, fadeOutDownBig, fadeOutLeft, fadeOutLeftBig, fadeOutRight,
      fadeOutRightBig, fadeOutUp, fadeOutUpBig, fadeOutTopLeft,
      fadeOutTopRight, fadeOutBottomRight, fadeOutBottomLeft
      Specials (1):
      jackInTheBox
      Also adds type="attention" support and GetAttentionAnimations() API.
      Animations requiring CSS rotation, skew, or perspective (24) are not
      included as the engine only supports translateX/Y, scale, and alpha.
      Animations using non-uniform scaleX/Y are approximated with uniform
      scale.
    • fix: wrap EasingSpec alias comment to respect 120 char line limit
  • docs: document the lib api (#21)
    • docs: add LuaCATS API documentation to all public methods and types
    • Add type definitions block (LibAnimate, AnimationDefinition, Keyframe,
      EasingSpec, AnimateOpts, AnimationState)
    • Annotate lib.easings with available preset list
    • Annotate CubicBezier and ApplyEasing utilities
    • Expand lib:Animate docs with usage example and behavioral notes
    • Document lib:Stop, lib:UpdateAnchor, lib:IsAnimating
    • Document lib:GetAnimationInfo, GetAnimationNames,
      GetEntranceAnimations, GetExitAnimations
    • Document lib:RegisterAnimation with keyframe requirements and
      usage example
    • docs: add LuaCATS annotations to all internal functions and constants
    • Document CubicBezier internals (sampleCurveX, sampleCurveY,
      sampleCurveDerivativeX, solveCurveX, return closure)
    • Document PROPERTY_DEFAULTS constant
    • Document FindKeyframes with full @return signatures
    • Document GetProperty, Lerp, ApplyToFrame
    • Document OnUpdate driver frame handler
  • fix: easeInOutBack clarity, FindKeyframes robustness, nil distance crash (#20)
    • Add explicit parentheses to easeInOutBack formula for clarity and
      refactoring safety (no behavioral change)
    • Rewrite FindKeyframes with explicit boundary handling for progress <= 0
      and progress >= 1.0, eliminating silent fallback to full-range segment
    • Default distance to 0 when neither opts.distance nor def.defaultDistance
      is set, preventing nil arithmetic crash on custom animations
    • Document easing convention: kf.easing applies to the outgoing segment
      starting at that keyframe