Skip to content

Fix stat comparison for radius jewels (timeless, Thread of Hope, etc.)#9746

Open
mcagnion wants to merge 3 commits into
PathOfBuildingCommunity:devfrom
mcagnion:feature/radius-jewel-stat-diff
Open

Fix stat comparison for radius jewels (timeless, Thread of Hope, etc.)#9746
mcagnion wants to merge 3 commits into
PathOfBuildingCommunity:devfrom
mcagnion:feature/radius-jewel-stat-diff

Conversation

@mcagnion
Copy link
Copy Markdown
Contributor

@mcagnion mcagnion commented Apr 11, 2026

Description of the problem being solved:

The stat diff tooltip when removing equipped radius jewels (Timeless, Thread of Hope, Impossible Escape) was missing or incomplete:

  • Timeless jewels: removing one did not revert conquered nodes, so the stat diff showed no meaningful change
  • Thread of Hope / Impossible Escape: removing one did not account for nodes only reachable through the jewel or their transitive dependents

Steps taken to verify a working solution:

  • Busted tests (spec/System/TestRadiusJewelStatDiff_spec.lua):
    • Tooltip stat diff correctly reflects conquered node revert for Timeless jewels
    • Tooltip stat diff accounts for dependent nodes when removing a Thread of Hope
    • Impossible Escape parses and targets a keystone correctly
    • Impossible Escape removal removes dependent nodes from the comparison
    • Tooltip shows "Removing this item" comparison block for equipped Timeless
  • Manual testing in PoB: verified tooltip stat diffs for all three jewel types

Screenshots:

Timeless jewel (Lethal Pride) — before:
before-timeless

Timeless jewel (Lethal Pride) — after:
after-timeless

Impossible Escape — before:
before-ie

Impossible Escape — after:
after-ie

Thread of Hope — before:
before-toh

Thread of Hope — after:
after-toh

🤖 Generated with Claude Code

@mcagnion mcagnion marked this pull request as draft April 11, 2026 14:49
@mcagnion mcagnion force-pushed the feature/radius-jewel-stat-diff branch 5 times, most recently from a090a49 to f161d15 Compare April 18, 2026 05:32
@mcagnion mcagnion marked this pull request as ready for review April 19, 2026 15:53
@LocalIdentity LocalIdentity added enhancement New feature, calculation, or mod pob2 Label for features that should be ported over to PoB-PoE2 labels May 12, 2026
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.

Currently removes all nodes from a radius jewel even if one of the nodes is in the radius of a different intuitive leap like jewel
Also the stat diff for radius jewels does not work when you are trying to see the impact of a different jewel in your build

mcagnion added a commit to mcagnion/PathOfBuilding that referenced this pull request May 12, 2026
Rebuild comparison specs for radius jewel tooltip diffs so replacements and overlapping intuitive-leap effects are evaluated against the alternate tree state.

Address PR PathOfBuildingCommunity#9746 review feedback from LocalIdentity and peer-review request 20260512T113521Z-codex-1043bc8f500b.
mcagnion and others added 3 commits May 12, 2026 15:28
- 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>
Rebuild comparison specs for radius jewel tooltip diffs so replacements and overlapping intuitive-leap effects are evaluated against the alternate tree state.

Address PR PathOfBuildingCommunity#9746 review feedback from LocalIdentity and peer-review request 20260512T113521Z-codex-1043bc8f500b.
Strengthen the replacement tooltip test, preserve traceback when rebuilding comparison specs, and document the PassiveSpec field allowlist.

Addresses full-branch review follow-ups from exploration 20260512T124426Z-codex-exploration-159337fbb665 and request 20260512T125918Z-codex-1dca732498d9.
@mcagnion mcagnion force-pushed the feature/radius-jewel-stat-diff branch from d948db9 to f174020 Compare May 12, 2026 13:38
@mcagnion
Copy link
Copy Markdown
Contributor Author

Radius-jewel tooltip diffs now rebuild an alternate passive spec for removal/replacement instead of removing radius nodes manually. That preserves nodes still supported by another Intuitive Leap-like jewel, and it also makes replacement comparisons work when hovering a different jewel over an occupied socket.

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 pob2 Label for features that should be ported over to PoB-PoE2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants