For now I kept castling mostly as it is, but I made base-model support flexible castling as well. This required only a tiny modification. A castling spec can now also contain a property 'extra', which must be a number indicating how many more castlings that particular King/Rook pair can do besides the indicated one. These extra castlings make the King progressively take extra steps in the same direction (and the Rook fewer, so it ends in the same relative position to the King). So you would put the castling with the shortest King move in the table, and to enter this castling you would have to click on the Rook as King destination.
This was already how Jocly did it if there was a single castling And it is convenient in case the shortest allowed King castling move is 1 step, as it removes the ambiguity with the normal King move. The additional castlings must be entered by clicking on the King destination. This is a bit confusing if the shortest King move is not a single step, though. To cure that I have made it such that when you specify a negative number for 'extra', it interprets it as its absolute value, but suppresses the castling that was actually specified. So you can specify the 1-step castling in the table, which could then be entered through clicking the Rook, except that it will never be generated. But this forces all castlings that are generated to be entered through clicking on the King destination.
For now I kept castling mostly as it is, but I made base-model support flexible castling as well. This required only a tiny modification. A castling spec can now also contain a property 'extra', which must be a number indicating how many more castlings that particular King/Rook pair can do besides the indicated one. These extra castlings make the King progressively take extra steps in the same direction (and the Rook fewer, so it ends in the same relative position to the King). So you would put the castling with the shortest King move in the table, and to enter this castling you would have to click on the Rook as King destination.
This was already how Jocly did it if there was a single castling And it is convenient in case the shortest allowed King castling move is 1 step, as it removes the ambiguity with the normal King move. The additional castlings must be entered by clicking on the King destination. This is a bit confusing if the shortest King move is not a single step, though. To cure that I have made it such that when you specify a negative number for 'extra', it interprets it as its absolute value, but suppresses the castling that was actually specified. So you can specify the 1-step castling in the table, which could then be entered through clicking the Rook, except that it will never be generated. But this forces all castlings that are generated to be entered through clicking on the King destination.