Skip to content

0.4.0

Choose a tag to compare

@github-actions github-actions released this 19 Aug 19:37
· 9 commits to main since this release
442d89f

HandMeDowns

0.4.0 (2026-08-19)

Full Changelog Previous Releases

  • feat: precompute a global warband assignment instead of per-hover recomputation (#3)
    Replaces the per-tooltip-hover recomputation with a precomputed, lazily
    refreshed global assignment engine. One pass over the whole warband settles,
    per character and equipment slot, which item they should end up with -
    letting a spare in one alt's bag cascade down to a lower-priority alt -
    instead of asking "is this hovered item an upgrade?" from scratch every time.
    • Assignment.lua: the new engine. Every item falls into one of three
      buckets (equipped = permanent floor, unsendable spare = floor, sendable
      spare = movable pool); settling a (slot-class, target equip location)
      pair is lazy and memoized per generation, so hovering many items of the
      same slot-class only pays for it once. A dirty flag + debounced
      out-of-combat background recompute keeps the engine warm, with hovering a
      tooltip as the guaranteed synchronous fallback.
    • Tooltip.lua: lifecycle + GameTooltip hook, now with a "sell it" line for
      items confirmed to be an upgrade for nobody.
    • Characters.lua: warband enumeration/eligibility, now memoized per
      (character, classID, subclassID) instead of per item. Character priority
      ordering moved to a standalone, swappable comparator
      (CharacterPriorityComparator) as a marked extension point for a future
      alternate ordering - only the existing default is implemented.
    • Data.lua / Pawn.lua: item taxonomy and Pawn integration, relocated with
      unchanged bodies.
    • HandMeDowns.lua: trimmed to bootstrap + shared Util.
    • HandMeDowns.toc, README.md, docs/DATA_SOURCES.md: updated load order and
      behavior description; weapon/spec data and Pawn integration facts
      untouched.
      Co-authored-by: Claude Sonnet 5 noreply@anthropic.com