64 Commits
Author SHA1 Message Date
OEVG d51d2556ef Release 3.8.2: healing predictions and native API improvements 2026-11-04 21:39:57 -04:00
OEVG dfe8cea692 Release 3.8.1: streamline ClassicAPI support and fix action bars 2026-11-04 14:03:16 -04:00
OEVGandClaude Opus 5.5 1ae8398a2d Bound the player cache and stop per-frame range checks
- 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
2026-11-02 00:09:59 +00:00
OEVG 48d45f8fe6 Apply Patch 2026-10-30 20:06:32 +00:00
Dusk-92 6702c9168a Gate optimized nameplate paths on reload-safe ClassicAPI 2026-09-03 16:05:06 +02:00
Dusk-92 79c5f2755b Defer ClassicAPI nameplate discovery safely 2026-09-03 15:27:38 +02:00
Dusk-92 8711ca5aec Clear stale prediction cast targets 2026-09-03 11:32:09 +02:00
Dusk-92 5b01196751 Guard optional ClassicAPI cast events 2026-09-03 11:29:46 +02:00
Dusk-92 efa46b48d8 Remove prediction action hooks with ClassicAPI 2026-09-03 11:29:37 +02:00
Dusk-92 263cbe8e03 Limit legacy cast hooks to required paths 2026-09-03 11:26:27 +02:00
Dusk-92 aa3adfad85 Use ClassicAPI aura timing instead of cast prediction 2026-09-03 11:25:26 +02:00
Dusk-92 9a433ffaab Normalize prediction spell target 2026-09-03 11:22:13 +02:00
Dusk-92 212a534567 Preserve legacy cast cache with ClassicAPI events 2026-09-03 11:20:38 +02:00
Dusk-92 095037343e Use ClassicAPI for spellbook rank lookups 2026-09-03 11:19:02 +02:00
Dusk-92 2e3ad8449d Use ClassicAPI spell events for predictions 2026-09-03 11:18:41 +02:00
Dusk-92 c761ad529b Drive nameplate discovery from ClassicAPI events 2026-09-03 11:16:09 +02:00
Dusk-92 73166ce4af Reduce debuff tracking hot-path overhead 2026-09-03 11:14:02 +02:00
Dusk-92 3ce39cd39d Reduce legacy cast hot-path overhead 2026-09-03 11:13:14 +02:00
Dusk-92 2ee1c464d0 Use ClassicAPI for direct spell metadata 2026-09-03 11:12:49 +02:00
Dusk-92 21f9fddd37 Make libnameplate dormant until needed 2026-09-02 22:36:48 +02:00
Dusk-92 8be8a31113 Defer prediction tooltip scanner until enabled 2026-09-02 22:19:08 +02:00
Dusk-92 caae9dcb88 Make libpredict dormant until healing predictions are enabled 2026-09-02 22:18:21 +02:00
Dusk-92 d9eef56498 Fix final shared cache migration edge cases 2026-09-01 14:58:49 +02:00
Dusk-92 206fe264a8 Finish shared cache migration safeguards 2026-09-01 14:30:31 +02:00
Dusk-92 4329f0603a Normalize cache after realm resolution 2026-09-01 14:29:11 +02:00
Dusk-92 63603c9994 Avoid redundant shared cache normalization 2026-09-01 14:28:35 +02:00
Dusk-92 a5b4d21f55 Normalize existing shared player cache 2026-09-01 14:26:52 +02:00
Dusk-92 b75a1cdd19 Normalize migrated shared player data 2026-09-01 14:25:45 +02:00
Dusk-92 f8aab8de0f Minimize shared cache hot-path overhead 2026-09-01 14:23:46 +02:00
Dusk-92 f2836088db Finalize shared cache edge cases 2026-09-01 14:18:28 +02:00
Dusk-92 6bcf006c9c Harden shared player cache migration 2026-09-01 14:15:12 +02:00
Dusk-92 f7dc300faf Protect migrated player caches with grace period 2026-09-01 13:54:35 +02:00
Dusk-92 9ba28eb087 Prevent per-character player cache persistence 2026-09-01 11:57:38 +02:00
Dusk-92 c01e5498ba Use shared numeric player timestamps 2026-09-01 11:47:42 +02:00
Dusk-92 4e35985f16 Use shared realm player cache 2026-09-01 11:46:46 +02:00
Dusk-92 ccfeb0810f Restore Real Health Numbers and fix aura dragging
Restore Real Health Numbers as a standalone module with a lazy Vanilla health estimator fallback, keep Big Health presentation-only, clarify the module tooltip, and fix aura dragging for BuffButton0/BuffButton32/TempEnchant1 without StartMoving().
2026-08-31 11:10:03 +02:00
Dusk-92 4a92f8f2c1 Fix resurrection stop prediction cleanup 2026-08-26 16:14:56 +02:00
Dusk-92 6f5ec7ffe6 Cache tooltip scanner line objects 2026-08-26 15:58:12 +02:00
Dusk-92 759d576d9e Refresh spell caches after spellbook changes 2026-08-26 15:53:26 +02:00
Dusk-92 3e14aa4bad Reduce nameplate callback overhead 2026-08-26 15:47:43 +02:00
Dusk-92 cce161e7da Reduce legacy cast tracking overhead 2026-08-26 15:44:57 +02:00
Dusk-92 4d382a8b39 Remove obsolete mob health estimator 2026-08-26 14:41:39 +02:00
Dusk-92 54e5f2b487 Load player cache before chat history restore 2026-08-25 22:48:42 +02:00
Dusk-92 d3a4f70e91 Sleep legacy unit scanner while target is occupied 2026-08-25 22:30:26 +02:00
Dusk-92 45b5e94519 Avoid tooltip scans for ClassicAPI debuffs 2026-08-25 22:29:52 +02:00
Dusk-92 b6ee8b3d4e Enrich player cache from nameplate unit events 2026-08-25 21:06:59 +02:00
Dusk-92 06c52891a4 Sleep heal prediction timeout loop when idle 2026-08-24 21:28:35 +02:00
Dusk-92 b0f90a27ac Revert ClassicAPI nameplate creation hook after crashes 2026-08-24 18:03:33 +02:00
Dusk-92 92e6672af6 Use ClassicAPI nameplate lifecycle for discovery 2026-08-24 17:48:57 +02:00
Dusk-92 5ebfb1e42d Resolve chat sender class before social coloring 2026-08-24 16:52:48 +02:00