feat: NCS-6 Implementing FEN & PGN #7

Merged
Janis merged 7 commits from feat/NCS-6-Parsing-FEN-&-PGN into main 2026-03-29 14:02:25 +02:00
Member
No description provided.
Janis added 7 commits 2026-03-28 19:29:11 +01:00
Implements FenParser.parseBoard() to parse FEN piece-placement strings
into a Board, with proper None propagation on invalid input.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements FenExporter.boardToFen() converting Board to FEN piece-placement string,
and adds three round-trip tests (initial position, empty board, partial position).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements parseFen() in FenParser and gameStateToFen() in FenExporter,
covering all 6 FEN fields (piece placement, active color, castling,
en passant, half-move clock, full-move number).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements PgnParser with parsePgn(), parseAlgebraicMove(), and move
resolution using geometric piece reachability with disambiguation support
for piece type, file, and rank hints.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Janis changed title from feat: NCS-6 Implementing FEN &-PGN to feat: NCS-6 Implementing FEN & PGN 2026-03-28 19:29:19 +01:00
lq64 approved these changes 2026-03-29 13:50:20 +02:00
lq64 left a comment
Owner

Pascht

Pascht
Owner

+1 @lq64

+1 @lq64
shosho996 approved these changes 2026-03-29 14:01:11 +02:00
Janis merged commit f28e69dc18 into main 2026-03-29 14:02:25 +02:00
Janis deleted branch feat/NCS-6-Parsing-FEN-&-PGN 2026-03-29 14:02:25 +02:00
Sign in to join this conversation.
No Reviewers
No Label
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NowChess/NowChessSystems#7