gbtami / chessgroundx

Fork of https://github.com/lichess-org/chessground Supports boards up to 16x16
GNU General Public License v3.0
39 stars 16 forks source link

Arrow drawing issue in Janggi #31

Closed gbtami closed 2 years ago

gbtami commented 2 years ago

PraseodymiumSpike: The arrow drawing feature is kind of broken for Janggi right now as you can't draw arrows for the elephant. PraseodymiumSpike: As in you can't draw arrows to a point (2,3) away.

gbtami commented 2 years ago

@Fulmene you mentioned in pychess lobby chat that you remember what is the root of this issue. I can't :)

Fulmene commented 2 years ago

Currently, a (2,3) arrow can still be drawn by moving the mouse off the board and back again for a "free style" mode.

This is where the problem is. Now that I checked it, I even commented on this when I first merged the feature :D

Since the function has no way to know what variant is being in effect (by design) though, adding Janggi Elephant here will affect all variants. It's why I'm still unsure about adding the arrow snap.

gbtami commented 2 years ago

As I see this restriction (queen+night) has no practical benefit when someone wants to draw an arrow. It would be much better to enable to draw all the possible pairs of (a,b) to (c,d) instead. What do you think?

Fulmene commented 2 years ago

The restriction is very practical though. In Chess, and most variants on pychess, all movements are subsets of Q+N, so adding this restriction eliminates all problems caused by any slight mouse slips, especially for long arrows. At least, someone found it useful enough to work on it. Besides, freestyle arrow is still possible with the "moving off the board" gesture, so I don't see a reason to remove the snap completely at all.

The question is: Do we allow Janggi Elephant arrow? On one hand, doing so will worsen the experience of drawing other pieces' (Bishop, Queen, Xiangqi Elephant) length-2 diagonal arrows. On the other hand, it's still an improvement over completely freestyle drawing. I personally don't have any strong views either way.

Maybe we should take this discussion to Discord for more opinions.

Fulmene commented 2 years ago

Fixed in ac68943