I'm considering adding a "Board setup" part which allows user to set up the board graphically instead of using FEN, which might be useful for those non-expert users. However, I've looked at the export interfaces of ffish.js library, there is no function that can provide detailed information on the game rule such as used piece id characters (q, r, n, b, etc.) and the promotion relationship between pieces. There is also no function that can provide information such as castling, n-fold repetition (the half move clock value needs this), valid gating area (used in seirawan gating) and other necessary information for setup.
Is there any method to gather these information other than simply using trial-and-error method by changing the FEN and validate it or reading the content of variants.ini and process the game rule entries in it?