Skip to content

fix: resolve loot/roll frame animation jumping#60

Merged
Xerrion merged 2 commits intomasterfrom
fix/loot-animation-jumping
Mar 7, 2026
Merged

fix: resolve loot/roll frame animation jumping#60
Xerrion merged 2 commits intomasterfrom
fix/loot-animation-jumping

Conversation

@Xerrion
Copy link
Copy Markdown
Owner

@Xerrion Xerrion commented Mar 7, 2026

Summary

Fixes the loot and roll frames visually "jumping" during open/close animations. Two root causes addressed:

  1. LibAnimate forced scale=1.0 on every animation tick, overriding user-configured frame scale
  2. Animation interruption (close during open) snapped the frame to its pre-animation state before starting the close animation

Changes

Updated embedded LibAnimate

Synced from Xerrion/LibAnimate#58 - animations now only touch properties they define. Scale is relative to originalScale.

LootAnimations.lua

  • Capture/restore visual state on animation interruption so close animation starts seamlessly from where the frame visually was
  • RestoreDbAnchor in close onFinished resets position for next open (important for slide animations)
  • isClosing flag to prevent layout changes during close animation
  • Fixed StopAll ordering (before SetAlpha(0), not after)

RollAnimations.lua

  • Same capture/restore pattern applied for roll frame animations
  • isClosing flag exported via ns.RollAnimations.isClosing

LootFrame.lua

  • UpdateSlot guards LayoutSlots() with isClosing check to prevent mid-close-animation resizing

Testing

  1. Set loot window scale to something other than 1.0 in config
  2. /dl test - frame should open at correct scale throughout animation (no jump)
  3. Close - should fade out at correct scale (no snap to 1.0)
  4. Rapid open/close (loot a mob and walk away) - smooth, no flash
  5. /dl testroll - roll frames animate without scale jumping

Xerrion added 2 commits March 7, 2026 13:14
- Update embedded LibAnimate with conditional property scoping
- LootAnimations: capture/restore visual state on animation interruption
- RollAnimations: same capture/restore pattern for roll frames
- LootFrame: guard LayoutSlots during close animation via isClosing flag
@Xerrion Xerrion merged commit 9ec9eb1 into master Mar 7, 2026
1 check passed
@Xerrion Xerrion deleted the fix/loot-animation-jumping branch March 7, 2026 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant