Niklas Fiekas
Niklas Fiekas
Sure. Background added.
Not stale. Waiting for ~~merge~~ second review.
This is tricky to deal with for `chess.pgn.read_game()` with its current interface: It reads the file line by line, without being able to look ahead. And so with the parser...
Yes. I think for 2.x I'd like to replace the stateless `chess.pgn.read_game(f: file) -> Optional[Game]` with something like a stateful ```python class PgnReader: def __init__(self, f: file): ... def read_game(self)...
Can confirm this solves the issue, builds, and works at least for basic database operations. Tested with `--target_arch arm --build-from-source`.
Exploring the space of possible tradeoffs, there's also [Hyperbola Quintessence](https://www.chessprogramming.org/Hyperbola_Quintessence), which does not need such large tables even at runtime. For example, https://github.com/niklasf/chessops uses it to reduce bootstrap time, which...
The same patch is also breaking scrolling on the last tile of tile views: https://docs.lvgl.io/master/examples.html#tileview
Fixed validity.
The behavior of `.attackers()` is intended as is, but detecting X-ray attacks seems very useful indeed. With 63aac2ec65860a64256a190220b793e80b132b50 it is now possible via: ```python board.attackers(winning_color, chess.F5, board.occupied ^ board.pieces_mask(chess.KING, board.turn))...
@bswck Interesting. Won't `import typing_extensions` fail at runtime if it's not present, or is there a way to avoid that?