- Decouple OnValueChanged from OnDataChanged to prevent expensive
full updates on every HP tick
- Replace UnitAffectingCombat(guid) with GetUnitField(flags) bitcheck
and add 0.2s per-GUID throttle cache for GetCombatStateColor
- Gate HP bar SetMinMaxValues/SetValue and text formatting behind
hp/hpmax change detection
- Inline castbar update into per-plate OnUpdate loop, remove dedicated
castbarFrame overhead
- Switch debuff slot cache from name-keyed to slot-index-keyed to fix
timer reset bug when debuffs shift after expiry
- Add raidGuidCache (rebuilt on RAID_ROSTER_UPDATE/PARTY_MEMBERS_CHANGED)
for O(1) offtank target-name lookup
- Add UNIT_FLAGS_GUID event support for instant combat flag notification
(Nampower)
- Extract RebuildOfftanks() to ensure offtanks table is populated at
startup, not only on config change
- Reuse childs table across scan ticks to reduce GC pressure
- Add zoominstant config option to skip zoom animation
- Add combatColorCache cleanup on plate hide and combat leave
Please report any bugs that appear after this change, since it is a huge change.
Fix stale debuff icons/tooltips on target frame after target swap
Fix debuffs not showing on nameplates for timer-less spells (e.g. Hurricane)
Fix buffwatch timer visually speeding up when another debuff fades
Remove 50ms aura cache (slotMapCache/auraFC) - caused stale debuff data
Remove "Show Only Own Debuffs" from unitframes and nameplates GUI
Force selfdebuff=0 for unitframes/nameplates on login to reset old SavedVariables
- use SPELL_DELAYED_SELF (nampower) for cast pushback instead of pfGetCastInfo
- use SPELLCAST_CHANNEL_UPDATE remaining time for channel pushback
- move SetMinMaxValues outside endTime guard so bar visually extends on pushback
Master and experiment users no longer cross-notify each other about updates. The version message now includes a branch tag (master or exp) derived from the toc version string at runtime — only players on the same branch trigger the update notification. No config needed, works automatically.