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

Feature Suggestion: Allow users to draw estimated areas (Working Code Provided) #939

Open RobertChrist opened 1 year ago

RobertChrist commented 1 year ago

When I analyze my games, I often want to manually draw areas around my positions to visualize each section of influence on the board.

My visualizations often differ significantly from what the computer would estimate the current board position to be, depending on what I am strategizing for the future of the game, and where I feel more or less confident than the computer.

To enable this in Sabaki, when the user is in estimate mode, I gave the user the ability to override the presented areas of influence.

I did a quick proof of concept here: https://github.com/SabakiHQ/Sabaki/compare/master...RobertChrist:Sabaki:feature/drawTerritoryMap?expand=1

This code allows the user to edit in both scoring and estimation mode, but I could look into only allowing estimation. Or any other suggestions before opening an actual PR.

As a side note: the expected territory visualization in katrain is quite beautiful, and is something that might be worth considering in the future. : )

RobertChrist commented 1 year ago

I've opened a PR here: https://github.com/SabakiHQ/Sabaki/pull/941

RobertChrist commented 1 year ago

Please let me know if there's anything else I can do to move this PR forward

apetresc commented 7 months ago

@RobertChrist Thanks for the working PR :) I have a single comment in there that should be trivial to address. I guess the only question I have about the issue itself is whether you're satisfied with the implementation being restricted to the board's state rather than the SGF itself? Is it really that useful to hand-craft the territory estimation/influence map ephemerally, and have it disappear when you re-open the file later?

RobertChrist commented 7 months ago

I'm open to suggestions! : D

Personally, I was completely fine with keeping it ephemeral. Both this and the other PR I opened up about the game tree node came from me trying to really dive deeply into analyzing my games. "What if I did this move? What if I was more aggressive here or there"? In all of these situations, I didn't actually think that the estimations the app was giving me were wrong or in need of correction, I just wanted an easier way of playing around with board states and learning how it would have impacted this or that.