SabakiHQ / Sabaki

An elegant Go board and SGF editor for a more civilized age.
https://sabaki.yichuanshen.de/
MIT License
2.39k stars 376 forks source link

Support displaying score lead in analysis graph #828

Open kevinsung opened 2 years ago

kevinsung commented 2 years ago

Fixes #755 . Closes #823 .

This PR is an alternative to #823. I did explain the issues with that PR in the comments there, but since this feature is a high priority for me I went ahead and implemented it myself. In contrast to #823, which adds a score lead line on top of the existing graph, this PR makes the graph show either win rate or score lead, but not both, with the same style in either case. The metric (winrate or score lead) shown on the graph always matches the metric shown in the heatmap.

There are many variables in the code that use the term "winrate" which is no longer accurate after this change, since it can mean either "winrate" or "score lead". To keep the diff small, I did not change those variable names in this PR. Those variables should probably be renamed in a future PR.

Screenshots (second image taken after clicking "Score Lead" in first image): Screenshot from 2021-10-11 11-58-20 Screenshot from 2021-10-11 11-58-24

petermao commented 2 years ago

This is a nice, clean implementation of adding a score lead graph. The keybinding (C-H) make it easy to toggle between the two modes. I have tested out commit [6f0751a], but I like it well enough that locally, I'm running a merge of Kevin's dev branch and my own development branch.