Nice! One thing I notice is that the script asks if you want to promote -- it's mandatory and not a choice.
Good point. I used the regular Shogi-style promotion supported by the Diagram, which always offers the choice. It is possible to implement mandatory promotion by supplying an additional JavaScript routine WeirdPromotion() on the page, which is a bit of a hassle. Perhaps I should support an alternative method for declaring promotion mandatory, e.g. through the already existing promoChoice parameter to the Diagram. With Shogi-style promotions this is currently not used. It would be logical to let the setting + mean mandatory promotion, and += that there is a choice. Unfortunately this is not backward compatible with Diagrams of games with Shogi-style promotion I (and others) made in the past, which often specify promoChoice as just +, or not at all. I will give it some thought how best to make this a standard feature of the Diagram.
[Edit] OK. I fixed it by using a newly added feature of the Diagram (so only active after refresh of the browser cache): if the promoChoice string contains !L in some variant with Shogi-style promotion (i.e. promoOffset non-zero), the piece with ID L will not be allowed to defer, and will promote automatically on reaching the zone. This was inspired on the same notation being used with Chess-style promotions for indicated that the choice is not allowed on last rank. (Which is commonly used to force promotion of a Pawn there when promotion on other ranks is optional.)
Good point. I used the regular Shogi-style promotion supported by the Diagram, which always offers the choice. It is possible to implement mandatory promotion by supplying an additional JavaScript routine WeirdPromotion() on the page, which is a bit of a hassle. Perhaps I should support an alternative method for declaring promotion mandatory, e.g. through the already existing promoChoice parameter to the Diagram. With Shogi-style promotions this is currently not used. It would be logical to let the setting + mean mandatory promotion, and += that there is a choice. Unfortunately this is not backward compatible with Diagrams of games with Shogi-style promotion I (and others) made in the past, which often specify promoChoice as just +, or not at all. I will give it some thought how best to make this a standard feature of the Diagram.
[Edit] OK. I fixed it by using a newly added feature of the Diagram (so only active after refresh of the browser cache): if the promoChoice string contains !L in some variant with Shogi-style promotion (i.e. promoOffset non-zero), the piece with ID L will not be allowed to defer, and will promote automatically on reaching the zone. This was inspired on the same notation being used with Chess-style promotions for indicated that the choice is not allowed on last rank. (Which is commonly used to force promotion of a Pawn there when promotion on other ranks is optional.)