- Normalize the locked flag from GetContainerItemInfo (1/nil) to the
cached 1/0, so `preLocked ~= nowLocked` no longer treats every unlocked
slot as changed. Every cache update was re-running ItemInfo:Get() and
the tooltip scan for every slot.
- When only the locked state changes, record it directly and don't flag
the cache for re-categorization; the window still redraws.
- Update() re-categorizes only when items changed (cacheNeedsCategorize),
not for cosmetic lock changes.
- Build emptyGenericContainerSlots for every empty slot on each update,
since unchanged slots no longer pass through the change branch.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019W3rwt5PZSpEDkXYzRuRhH
- Changelog: release the Right/Top anchor UI-scale fix as 1.6.5
- Defer inventory redraws while a window is being dragged
- Cache class-callback event ids in QueueClassCallback (less garbage per BAG_UPDATE)