Skip to content

Add more specific jewel tooltip comparison sorting#9744

Merged
LocalIdentity merged 3 commits intoPathOfBuildingCommunity:devfrom
vaisest:jewel-tooltip-sort
Apr 16, 2026
Merged

Add more specific jewel tooltip comparison sorting#9744
LocalIdentity merged 3 commits intoPathOfBuildingCommunity:devfrom
vaisest:jewel-tooltip-sort

Conversation

@vaisest
Copy link
Copy Markdown
Contributor

@vaisest vaisest commented Apr 10, 2026

Description of the problem being solved:

This changes the sorting for jewel tooltips and helps with comparisons that are absurdly large, and occasionally unusable. It doesn't directly fix the problem as tooltips can still go off-screen, but showing more relevant sockets first means the tooltip is much more useful.

Sockets are sorted by:

  1. empty sockets
  2. same base group jewel or same unique
  3. DPS
  4. EHP (only if DPS was equal, not a combination of the two)

The stat diff hiding tip is also moved to the top of the list so it's actually visible. Limit: x uniques also now only show comparisons with the slots that have the same unique, if the limit has been reached.

Steps taken to verify a working solution:

  • Manual testing

Link to a build that showcases this PR:

https://pobb.in/FMc4FF8VymuS (adorned build from Poe.ninja)

Before screenshot:

image

After screenshot:

Path{space}of{space}Building_2026-04-10_16-19-40

Comments welcome. This mostly seemed necessary because #9649 compares Watcher's eye's to all sockets and the tooltip doesn't have a scroll functionality. I'm not sure if this is better for other use cases.

@vaisest vaisest changed the title Add more specific jewel tooltip comparison sorting by sorting by: Add more specific jewel tooltip comparison sorting Apr 15, 2026
@LocalIdentity LocalIdentity added the enhancement New feature, calculation, or mod label Apr 16, 2026
1. empty sockets
2. same base group jewel or same unique
3. DPS
4. EHP
@vaisest vaisest force-pushed the jewel-tooltip-sort branch from 4cf7ca2 to 3458d28 Compare April 16, 2026 16:10
Copy link
Copy Markdown
Contributor

@LocalIdentity LocalIdentity left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making this PR. Jewel tooltips have been an issue for a while

@LocalIdentity LocalIdentity merged commit bff6733 into PathOfBuildingCommunity:dev Apr 16, 2026
3 checks passed
mcagnion added a commit to mcagnion/PathOfBuilding that referenced this pull request Apr 16, 2026
Port of bugfix/compare-jewels-same-type-empty-socket onto current
origin/dev. Adapted to upstream PathOfBuildingCommunity#9744 changes (new sort-based
addCompareForSlot structure): filter moved inside addCompareForSlot
so it applies to all codepaths (slotOnlyTooltips, limited uniques,
and sorted comparison loop).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mcagnion added a commit to mcagnion/PathOfBuilding that referenced this pull request Apr 16, 2026
- Fix stat diff tooltip for removing equipped radius jewels: use
  jewelRadiusIndex instead of hardcoded radius, revert conquered nodes
  via removeNodes/addNodes override with hashOverrides support
- Fix stat diff for removing Thread of Hope / Impossible Escape: remove
  nodes only reachable through the jewel and their transitive dependents
- Add 9 tests covering radius jewel stat comparison

Ported onto upstream PathOfBuildingCommunity#9744 sort-based compareSlot loop: override logic
now lives inside getReplacedItemAndOutput() instead of the old inline
for loop.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mcagnion added a commit to mcagnion/PathOfBuilding that referenced this pull request Apr 16, 2026
- Fix stat diff tooltip for removing equipped radius jewels: use
  jewelRadiusIndex instead of hardcoded radius, revert conquered nodes
  via removeNodes/addNodes override with hashOverrides support
- Fix stat diff for removing Thread of Hope / Impossible Escape: remove
  nodes only reachable through the jewel and their transitive dependents

Ported onto upstream PathOfBuildingCommunity#9744 sort-based compareSlot loop: override logic
now lives inside getReplacedItemAndOutput() instead of the old inline
for loop.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mcagnion added a commit to mcagnion/PathOfBuilding that referenced this pull request Apr 16, 2026
- Fix stat diff tooltip for removing equipped radius jewels: use
  jewelRadiusIndex instead of hardcoded radius, revert conquered nodes
  via removeNodes/addNodes override with hashOverrides support
- Fix stat diff for removing Thread of Hope / Impossible Escape: remove
  nodes only reachable through the jewel and their transitive dependents

Ported onto upstream PathOfBuildingCommunity#9744 sort-based compareSlot loop: override logic
now lives inside getReplacedItemAndOutput() instead of the old inline
for loop.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mcagnion added a commit to mcagnion/PathOfBuilding that referenced this pull request Apr 16, 2026
- Fix stat diff tooltip for removing equipped radius jewels: use
  jewelRadiusIndex instead of hardcoded radius, revert conquered nodes
  via removeNodes/addNodes override with hashOverrides support
- Fix stat diff for removing Thread of Hope / Impossible Escape: remove
  nodes only reachable through the jewel and their transitive dependents
- Add 9 tests covering radius jewel stat comparison

Ported onto upstream PathOfBuildingCommunity#9744 sort-based compareSlot loop: override logic
now lives inside getReplacedItemAndOutput() instead of the old inline
for loop.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mcagnion added a commit to mcagnion/PathOfBuilding that referenced this pull request Apr 16, 2026
Adds checkboxes on the Trade tab to reuse the currently equipped item's
Eldritch implicits and amulet anoint when evaluating and displaying
trade results. Also adds an "Include unusable" checkbox (UI only, filter
logic not yet wired -- hence WIP).

Routes result-item construction through a new
TradeQueryClass:BuildResultItemWithOverrides helper used by
GetResultEvaluation, UpdateDropdownList, the result tooltip and the
Import Item button so overrides apply consistently.

Port adapted to upstream changes:
- PathOfBuildingCommunity#9691 removed enchantInSort/sort algorithm rework: dropped the
  conditional enchantModLines stripping; the new useCurrentAmuletEnchant
  checkbox replaces the only remaining meaningful use.
- PathOfBuildingCommunity#9767 lastQueries[row_idx]: already in place, no conflict.
- PathOfBuildingCommunity#9744 dropdown list refactor: plugged BuildResultItemWithOverrides
  into UpdateDropdownList instead of the old inline loop.

Dropped the unused isEldritch helper from the original diff (it was
defined but never called). includeUnusable checkbox state is plumbed
but not yet consumed by any query/filter.

Also fixes one pre-existing space-indented line in the same function
that the pre-commit hook rejected.

WIP -- upstream of feature/trade-query-current-item-overrides marked
WIP (commit 2a7ad4a "WIP Keep implicits").

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants