TacoTip v0.8.1
What's new
[0.8.1] — 2026-10-12
Inspection engine performance, proactive pre-caching, and range responsiveness. Eliminates latency by pre-caching player data on target and mouseover events, speeds up the background queue ticker from 1.5s to 0.5s with instant
INSPECT_READYchained dispatch, prioritizes actively targeted players, and resolves remote inspection deadlocks.
Added
- Proactive Target Pre-caching (
PLAYER_TARGET_CHANGED): Targeting any inspectable player instantly triggers inspection in the background. GearScore, average item level, specialization, and talents are cached before hovering their unit frame or opening manual inspect. - Eager World Mouseover (
UPDATE_MOUSEOVER_UNIT): Sweeping over player characters in the 3D world triggers immediate background inspection queries rather than waiting for tooltip rendering passes. - Group Roster Inspection Scanning (
GROUP_ROSTER_UPDATE): Automatically runs inspection passes over party and raid members as group members join or update. - Equipment Swap Invalidation (
UNIT_INVENTORY_CHANGED): When an inspected player swaps items, their cached profile is immediately invalidated and re-inspected.
Fixed
- Remote Inspect "Scanning Equipment..." Deadlock:
Corrected
LibForeverInspectorcallback firing to includeisInspect(true) andunitwithINVENTORY_READY(lib.callbacks:Fire("INVENTORY_READY", guid, true, unit)), matching consumer contracts and preventingTacoTip_Extrasfrom rejecting the callback. - Non-Targeted Inspect Resolution via
InspectFrame.unit: When players are inspected via right-click contextual menus (guild roster, chat,/who, friends list), they are frequently not current target, focus, or mouseover.lib:PlayerGUIDToUnitTokennow matchesInspectFrame.unit, ensuring remote inspects resolve their unit token cleanly. - Uncached Item ID Resolution on Remote Inspect:
Handled remote inspection situations where
GetInventoryItemIDreturnsnilwhileGetInventoryItemLinkreturns a valid item string link, extracting the item ID directly from the native link to prevent false contradiction failures. - Max-Range Inspect Failure & Terrain Dead Zones:
lib:CanInspect(unit)now succeeds if either_G.CanInspect(unit)or_G.CheckInteractDistance(unit, 1)confirms inspect eligibility, resolving false-negative rejections caused by tall mounts, elevation changes, or 28-yard border thresholds. - Inspection Queue Throttle & Idle Latency:
Tightened
INSPECT_DELAYfrom 1.5s to 0.8s on modern clients (1.0s on Classic). Replaced the static 1.5s background ticker with a 0.5s ticker, and chained next-queue dispatch immediately uponINSPECT_READYarrival, completely eliminating idle delays between sequential player scans. - Specialization Lookup & Unused Variable Resolution in
LibForeverInspector:- Resolved unused
localizedparameter inlib:GetSpecializationName(class, specIndex, localized): queries modernGetSpecializationInfoForClassIDon Retail/Forever andlib.spec_table_localizedacross localized clients (deDE,esES,koKR,ruRU,zhCN), falling back gracefully to English defaults. - Resolved unused
classandspecIndexparameters inlib:GetSpecializationIcon(class, specIndex): dynamically extracts the specialization icon viaGetSpecializationInfoForClassIDon Retail/Forever and vialib:GetTalentInfoByClasson Classic. - Added
lib:IsAnniversary()andlib:IsTitanforge()convenience aliases. - Hardened TBC Anniversary client detection via
clientBuildMajor == 2(20506) alongside Blizzard's nativeWOW_PROJECT_BURNING_CRUSADE_CLASSICconstant.
- Resolved unused
- Target Prioritization: The background inspect loop now checks and inspects your actively selected target ahead of queued or group roster background iterations.
- Pending Inspect Timeout:
Reduced the pending inspect timeout from 3.5s (
nextInspectTime + 2.0) to ~1.6s (nextInspectTime + 0.8), recovering gracefully if a target moves out of range or disconnects.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects