A TypeScript chess library for chess move generation/validation, piece placement/movement, and check/checkmate/draw detection
.move
and .load_pgn
. This change relaxes the SAN move parser to allow for overly
disambiguated moves arising during absolute pins. Over disambiguation violates the SAN spec, but many programs (including Chessbase and Fritz) seem to ignore this rule.load_pgn()
now correctly parses black to move indicators after comments or RAV's (1. d4 d5 2. Bf4 Nf6 3. e3 g6 4. Nf3 (4. Nc3 Bg7 5. Nf3 O-O 6. Be2 c5) **4...** Bg7 5. h3 { 5. Be2 O-O 6. O-O c5 7. c3 Nc6 } **5...** O-O
).load_pgn()
now ignores numeric annotation glyphs (25. Rb3 $1 h4
)pgn()
now uses the move number specified in the PGN SetUp headervalidate_fen()
now ensures the en-passant square is valid with respect to the side to move