When preparing an opening repertoire, it's important to know if there are any shallow lines. For instance, if you're preparing Ruy Lopez, and you have lots of moves after 1. e4 e5 2. Nf3 Nc6 3. Bb5 a3, but you don't have any lines after 3. Bb5 Nf6, it may not be apparent by looking at the Notation window.
A new view showing all variations (with some variable depth limit) in a graphical fashion would suit the need nicely. Chess Tempo has a "sunburst" view that is pretty while meeting the needs:
https://chesstempo.com/images/blog/ot-sunburst.webp
There are also tree-looking graphs showing the same information, but I think it's harder to see shallow lines this way:
https://2.bp.blogspot.com/-cNVCvQNxkkQ/UNZONkCry7I/AAAAAAAAAZs/p21dAAXLXGE/s1600/sicilian.png
Acceptance criteria would look something like;
- A new entry exists in the "View" menu, "Visual Variations"
- After clicking "Visual Variations", the Visual Variations dockable window opens
- Visual Variations starts at the current position in the current game and shows all the next moves from all variations recursively with a default depth of 10 half moves
- The graph's depth can be changed in the Visual Variations window
- After clicking on one of the moves, that move is selected in the current game
- Changing the move in the current game (moving a piece on the board, selecting a move from the Notation window or any of the other windows including the Visual Variations window, etc.) causes the Visual Variations window to update automatically
- Clicking a move in the Visual Variations window selects that move in the Notation window
- When a user moves his mouse over any of the moves in the Visual Variations window, that move, its ancestors and descendants are all highlighted and the other moves muted
- Also information about the move is shown such as how many total positions exist as descendants and how many immediate variations there are for that move
- A chess board is visible at the root of the Visual Variations graph showing the position from which the graph starts
- This may be superfluous as it should be the same as the main chess board, but I think it looks nice for instance for sharing screen shots of the graph
This guy created a cool visualization for moving through the graph that might be a nice point of departure: https://jsfiddle.net/dL4p1aen/