forked from Dusk/ShaguTweaks-ClassicAPI
- libunitscan: expire the shared player cache once per session (180 days for known classes, 90 for class-less, at most 10,000 players). Every sighting now stamps an age, so roster and mouseover entries can expire. - libunitscan: keep a player's GUID only while the class is unknown and resolve such entries later with GetPlayerInfoByGUID. - libunitscan: skip the GUID lookup for known chat speakers seen within the hour, throttle full guild rescans to once a minute, skip UnitGUID when UnitClass answered, and query ClassicAPI's player cache once per miss instead of twice. - Social Colors: drop its separate 180-day cleanup. - Range Color: use its own 0.2 s timer. Sharing Blizzard's rangeTimer ran the check every frame for every ranged button. - Docs/PERFORMANCE.md: document the cache rules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019W3rwusM4i1CYaHQAYixJ7