Currently, each move in the chess move tree does not have a unique identifier. This makes it difficult to reference a specific move in the UI, especially when dealing with variations. Without a unique ID, implementing clickable move navigation (like on chess.com or Lichess) is cumbersome, and jumping directly to a move in the mainline or a variation is not too easy.
Proposed Solution:
Assign a unique id to every move when it is created. Implement a seekById() function that, given a move’s id, finds the corresponding move in the tree and updates the pointer to that position.