Skip to content

Fix cluster import sometimes not allocating the correct nodes#9768

Open
LocalIdentity wants to merge 4 commits intodevfrom
fix_cluster-import
Open

Fix cluster import sometimes not allocating the correct nodes#9768
LocalIdentity wants to merge 4 commits intodevfrom
fix_cluster-import

Conversation

@LocalIdentity
Copy link
Copy Markdown
Contributor

@LocalIdentity LocalIdentity commented Apr 16, 2026

Fixes #8346, Fixes #7570

Based on work in #7270

Description of the problem being solved:

PR is written by Codex and checked by me. I could not manage to make a working fix myself that handled every edge case but this solution seems to cover all of them, as I have not found and issue with it so far.

Ever since cluster jewels have been added into PoB, they have been using the wrong import / save format and have caused issues where sometimes importing from a character will not allocate some cluster nodes (most common on small clusters)

This PR moves cluster jewel handling to the correct current hash mapping (v2) and makes that the default behaviour.
The primary goal is to switch fully to the new mapping logic for cluster subgraph generation so current imports and builds use a single correct path. This fixes layout and orientation mismatches, incorrect medium and small cluster allocations and missing allocated cluster sockets.

The PR preserves backwards compatibility by adding a one-time legacy migration during load. Specs that do not have clusterHashFormatVersion are treated as legacy.
During load, legacy cluster node IDs are remapped to current node IDs, and that remap is applied to cluster allocations, legacy socket allocations that used normal-range IDs, and spec.jewels socket ownership. After migration the spec is marked and saved as v2 so conversion is not repeated.

Steps taken to verify a working solution:

  • Test a variety of old cluster jewel builds
  • Test imports for many different characters

@LocalIdentity LocalIdentity added the bug: behaviour Behavioral differences label Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug: behaviour Behavioral differences

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tree Does Not Update Correctly Via Account Based Character Import Extra passives allocated when importing a build with cluster jewel

1 participant