From f088c4e9ffcc498d3d1b6f01e8f50042d5830d55 Mon Sep 17 00:00:00 2001 From: Janis Date: Tue, 21 Apr 2026 12:35:20 +0200 Subject: [PATCH] feat: NCS-37 Quarkus integration (#35) Reviewed-on: https://git.janis-eccarius.de/NowChess/NowChessSystems/pulls/35 Reviewed-by: Leon Hermann --- .codesight/CODESIGHT.md | 116 +++--- .codesight/graph.md | 48 +-- .codesight/libs.md | 68 +-- .codesight/report.html | 198 +++++++++ .idea/gradle.xml | 1 - .../NowChessSystems_modules_core_main.xml | 33 ++ .idea/scala_compiler.xml | 2 +- CLAUDE.md | 55 ++- CLAUDE.original.md | 99 +++++ bruno/bruno.json | 6 + bruno/collection.bru | 0 bruno/draw/01 Offer Draw.bru | 12 + bruno/draw/02 Accept Draw.bru | 12 + bruno/draw/03 Decline Draw.bru | 12 + bruno/draw/04 Claim Draw.bru | 12 + bruno/draw/folder.bru | 4 + bruno/environments/local.bru | 3 + bruno/export/01 Export FEN.bru | 12 + bruno/export/02 Export PGN.bru | 12 + bruno/export/folder.bru | 4 + bruno/game/01 Create Game.bru | 23 + bruno/game/02 Get Game.bru | 12 + bruno/game/03 Stream Game.bru | 19 + bruno/game/04 Resign.bru | 12 + bruno/game/folder.bru | 4 + bruno/import/01 Import FEN.bru | 24 ++ bruno/import/02 Import PGN.bru | 22 + bruno/import/folder.bru | 4 + bruno/move/01 Make Move.bru | 15 + bruno/move/02 Get Legal Moves.bru | 19 + bruno/move/03 Undo Move.bru | 12 + bruno/move/04 Redo Move.bru | 12 + bruno/move/folder.bru | 3 + build.gradle.kts | 64 ++- docs/{api-spec.yaml => board-api-spec.yaml} | 11 +- gradle.properties | 6 + modules/api/build.gradle.kts | 5 +- .../de/nowchess/api/dto/ApiErrorDto.scala | 3 + .../api/dto/CreateGameRequestDto.scala | 6 + .../de/nowchess/api/dto/ErrorEventDto.scala | 6 + .../de/nowchess/api/dto/GameFullDto.scala | 8 + .../nowchess/api/dto/GameFullEventDto.scala | 6 + .../de/nowchess/api/dto/GameStateDto.scala | 12 + .../nowchess/api/dto/GameStateEventDto.scala | 6 + .../api/dto/ImportFenRequestDto.scala | 7 + .../api/dto/ImportPgnRequestDto.scala | 3 + .../de/nowchess/api/dto/LegalMoveDto.scala | 9 + .../api/dto/LegalMovesResponseDto.scala | 3 + .../de/nowchess/api/dto/OkResponseDto.scala | 3 + .../de/nowchess/api/dto/PlayerInfoDto.scala | 3 + modules/bot/build.gradle.kts | 15 +- modules/core/.dockerignore | 5 + modules/core/.gitignore | 41 ++ modules/core/build.gradle.kts | 55 ++- modules/core/src/main/docker/Dockerfile.jvm | 100 +++++ .../src/main/docker/Dockerfile.legacy-jar | 96 +++++ .../core/src/main/docker/Dockerfile.native | 29 ++ .../src/main/docker/Dockerfile.native-micro | 32 ++ .../core/reachability-metadata.json | 27 ++ .../core/src/main/resources/application.yml | 3 + modules/core/src/main/resources/import.sql | 6 + .../nowchess/chess/config/JacksonConfig.scala | 17 + .../chess/config/NativeReflectionConfig.scala | 23 + .../de/nowchess/chess/engine/GameEngine.scala | 54 ++- .../chess/exception/ApiException.scala | 13 + .../chess/exception/ApiExceptionMapper.scala | 14 + .../nowchess/chess/registry/GameEntry.scala | 13 + .../chess/registry/GameRegistry.scala | 7 + .../chess/registry/GameRegistryImpl.scala | 23 + .../chess/resource/GameResource.scala | 311 ++++++++++++++ .../engine/GameEngineDrawOfferTest.scala | 71 ++++ .../chess/engine/GameEngineResignTest.scala | 26 ++ .../chess/registry/GameRegistryImplTest.scala | 60 +++ .../GameResourceIntegrationTest.scala | 154 +++++++ modules/io/build.gradle.kts | 6 +- modules/rule/build.gradle.kts | 2 +- modules/ui/CHANGELOG.md | 119 ------ modules/ui/build.gradle.kts | 101 ----- .../resources/sprites/board/board_bottom.png | Bin 161 -> 0 bytes .../sprites/board/board_square_black.png | Bin 188 -> 0 bytes .../sprites/board/board_square_white.png | Bin 188 -> 0 bytes .../resources/sprites/pieces/black_bishop.png | Bin 286 -> 0 bytes .../resources/sprites/pieces/black_king.png | Bin 245 -> 0 bytes .../resources/sprites/pieces/black_knight.png | Bin 266 -> 0 bytes .../resources/sprites/pieces/black_pawn.png | Bin 297 -> 0 bytes .../resources/sprites/pieces/black_queen.png | Bin 258 -> 0 bytes .../resources/sprites/pieces/black_rook.png | Bin 263 -> 0 bytes .../resources/sprites/pieces/white_bishop.png | Bin 313 -> 0 bytes .../resources/sprites/pieces/white_king.png | Bin 251 -> 0 bytes .../resources/sprites/pieces/white_knight.png | Bin 275 -> 0 bytes .../resources/sprites/pieces/white_pawn.png | Bin 305 -> 0 bytes .../resources/sprites/pieces/white_queen.png | Bin 281 -> 0 bytes .../resources/sprites/pieces/white_rook.png | Bin 280 -> 0 bytes modules/ui/src/main/resources/styles.css | 30 -- .../src/main/scala/de/nowchess/ui/Main.scala | 34 -- .../de/nowchess/ui/gui/ChessBoardView.scala | 392 ------------------ .../scala/de/nowchess/ui/gui/ChessGUI.scala | 57 --- .../de/nowchess/ui/gui/GUIObserver.scala | 80 ---- .../de/nowchess/ui/gui/PieceSprites.scala | 34 -- .../de/nowchess/ui/terminal/TerminalUI.scala | 107 ----- .../de/nowchess/ui/utils/PieceUnicode.scala | 18 - .../scala/de/nowchess/ui/utils/Renderer.scala | 30 -- .../ui/utils/RendererAndUnicodeTest.scala | 44 -- modules/ui/versions.env | 3 - settings.gradle.kts | 15 +- 105 files changed, 2063 insertions(+), 1255 deletions(-) create mode 100644 .codesight/report.html create mode 100644 .idea/runConfigurations/NowChessSystems_modules_core_main.xml create mode 100644 CLAUDE.original.md create mode 100644 bruno/bruno.json create mode 100644 bruno/collection.bru create mode 100644 bruno/draw/01 Offer Draw.bru create mode 100644 bruno/draw/02 Accept Draw.bru create mode 100644 bruno/draw/03 Decline Draw.bru create mode 100644 bruno/draw/04 Claim Draw.bru create mode 100644 bruno/draw/folder.bru create mode 100644 bruno/environments/local.bru create mode 100644 bruno/export/01 Export FEN.bru create mode 100644 bruno/export/02 Export PGN.bru create mode 100644 bruno/export/folder.bru create mode 100644 bruno/game/01 Create Game.bru create mode 100644 bruno/game/02 Get Game.bru create mode 100644 bruno/game/03 Stream Game.bru create mode 100644 bruno/game/04 Resign.bru create mode 100644 bruno/game/folder.bru create mode 100644 bruno/import/01 Import FEN.bru create mode 100644 bruno/import/02 Import PGN.bru create mode 100644 bruno/import/folder.bru create mode 100644 bruno/move/01 Make Move.bru create mode 100644 bruno/move/02 Get Legal Moves.bru create mode 100644 bruno/move/03 Undo Move.bru create mode 100644 bruno/move/04 Redo Move.bru create mode 100644 bruno/move/folder.bru rename docs/{api-spec.yaml => board-api-spec.yaml} (98%) create mode 100644 gradle.properties create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/ApiErrorDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/CreateGameRequestDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/ErrorEventDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/GameFullDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/GameFullEventDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/GameStateDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/GameStateEventDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/ImportFenRequestDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/ImportPgnRequestDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/LegalMoveDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/LegalMovesResponseDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/OkResponseDto.scala create mode 100644 modules/api/src/main/scala/de/nowchess/api/dto/PlayerInfoDto.scala create mode 100644 modules/core/.dockerignore create mode 100644 modules/core/.gitignore create mode 100644 modules/core/src/main/docker/Dockerfile.jvm create mode 100644 modules/core/src/main/docker/Dockerfile.legacy-jar create mode 100644 modules/core/src/main/docker/Dockerfile.native create mode 100644 modules/core/src/main/docker/Dockerfile.native-micro create mode 100644 modules/core/src/main/resources/META-INF/native-image/de.nowchess/core/reachability-metadata.json create mode 100644 modules/core/src/main/resources/application.yml create mode 100644 modules/core/src/main/resources/import.sql create mode 100644 modules/core/src/main/scala/de/nowchess/chess/config/JacksonConfig.scala create mode 100644 modules/core/src/main/scala/de/nowchess/chess/config/NativeReflectionConfig.scala create mode 100644 modules/core/src/main/scala/de/nowchess/chess/exception/ApiException.scala create mode 100644 modules/core/src/main/scala/de/nowchess/chess/exception/ApiExceptionMapper.scala create mode 100644 modules/core/src/main/scala/de/nowchess/chess/registry/GameEntry.scala create mode 100644 modules/core/src/main/scala/de/nowchess/chess/registry/GameRegistry.scala create mode 100644 modules/core/src/main/scala/de/nowchess/chess/registry/GameRegistryImpl.scala create mode 100644 modules/core/src/main/scala/de/nowchess/chess/resource/GameResource.scala create mode 100644 modules/core/src/test/scala/de/nowchess/chess/registry/GameRegistryImplTest.scala create mode 100644 modules/core/src/test/scala/de/nowchess/chess/resource/GameResourceIntegrationTest.scala delete mode 100644 modules/ui/CHANGELOG.md delete mode 100644 modules/ui/build.gradle.kts delete mode 100644 modules/ui/src/main/resources/sprites/board/board_bottom.png delete mode 100644 modules/ui/src/main/resources/sprites/board/board_square_black.png delete mode 100644 modules/ui/src/main/resources/sprites/board/board_square_white.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/black_bishop.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/black_king.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/black_knight.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/black_pawn.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/black_queen.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/black_rook.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/white_bishop.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/white_king.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/white_knight.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/white_pawn.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/white_queen.png delete mode 100644 modules/ui/src/main/resources/sprites/pieces/white_rook.png delete mode 100644 modules/ui/src/main/resources/styles.css delete mode 100644 modules/ui/src/main/scala/de/nowchess/ui/Main.scala delete mode 100644 modules/ui/src/main/scala/de/nowchess/ui/gui/ChessBoardView.scala delete mode 100644 modules/ui/src/main/scala/de/nowchess/ui/gui/ChessGUI.scala delete mode 100644 modules/ui/src/main/scala/de/nowchess/ui/gui/GUIObserver.scala delete mode 100644 modules/ui/src/main/scala/de/nowchess/ui/gui/PieceSprites.scala delete mode 100644 modules/ui/src/main/scala/de/nowchess/ui/terminal/TerminalUI.scala delete mode 100644 modules/ui/src/main/scala/de/nowchess/ui/utils/PieceUnicode.scala delete mode 100644 modules/ui/src/main/scala/de/nowchess/ui/utils/Renderer.scala delete mode 100644 modules/ui/src/test/scala/de/nowchess/ui/utils/RendererAndUnicodeTest.scala delete mode 100644 modules/ui/versions.env diff --git a/.codesight/CODESIGHT.md b/.codesight/CODESIGHT.md index 146014f..e84c141 100644 --- a/.codesight/CODESIGHT.md +++ b/.codesight/CODESIGHT.md @@ -47,14 +47,21 @@ - class Square - function fromAlgebraic - function offset +- `modules/api/src/main/scala/de/nowchess/api/bot/Bot.scala` + - class Bot + - function name + - function nextMove +- `modules/api/src/main/scala/de/nowchess/api/dto/ErrorEventDto.scala` — class ErrorEventDto, function apply +- `modules/api/src/main/scala/de/nowchess/api/dto/GameFullEventDto.scala` — class GameFullEventDto, function apply +- `modules/api/src/main/scala/de/nowchess/api/dto/GameStateEventDto.scala` — class GameStateEventDto, function apply - `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` + - function kingSquare - function withBoard - function withTurn - function withCastlingRights - function withEnPassantSquare - function withHalfMoveClock - - function withMove - - _...2 more_ + - _...4 more_ - `modules/api/src/main/scala/de/nowchess/api/player/PlayerInfo.scala` — class PlayerId, function apply - `modules/api/src/main/scala/de/nowchess/api/response/ApiResponse.scala` - class ApiResponse @@ -79,6 +86,7 @@ - `modules/bot/python/src/export.py` — function export_to_nbai: (weights_file, output_file, trained_by, train_loss) - `modules/bot/python/src/generate.py` — function play_random_game_and_collect_positions: (output_file, total_positions, samples_per_game, min_move, max_move, num_workers) - `modules/bot/python/src/label.py` — function normalize_evaluation: (cp_value, method, scale), function label_positions_with_stockfish: (positions_file, output_file, stockfish_path, batch_size, depth, verbose, normalize, num_workers) +- `modules/bot/python/src/lichess_importer.py` — function import_lichess_evals: (input_path, output_file, max_positions, min_depth, verbose) -> int - `modules/bot/python/src/tactical_positions_extractor.py` - function download_and_extract_puzzle_db: (url, output_dir) - function extract_puzzle_positions: (puzzle_csv, max_puzzles) -> Set[str] @@ -90,14 +98,10 @@ - function fen_to_features: (fen) - function find_next_version: (base_name) - function save_metadata: (weights_file, metadata) - - function train_nnue: (data_file, output_file, epochs, batch_size, lr, checkpoint, stockfish_depth, use_versioning, early_stopping_patience, weight_decay, subsample_ratio) - - function burst_train: (data_file, output_file, duration_minutes, epochs_per_season, early_stopping_patience, batch_size, lr, initial_checkpoint, stockfish_depth, use_versioning, weight_decay, subsample_ratio) + - function train_nnue: (data_file, output_file, epochs, batch_size, lr, checkpoint, stockfish_depth, use_versioning, early_stopping_patience, weight_decay, subsample_ratio, hidden_sizes) + - function burst_train: (data_file, output_file, duration_minutes, epochs_per_season, early_stopping_patience, batch_size, lr, initial_checkpoint, stockfish_depth, use_versioning, weight_decay, subsample_ratio, hidden_sizes) - class NNUEDataset - _...1 more_ -- `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala` - - class Bot - - function name - - function nextMove - `modules/bot/src/main/scala/de/nowchess/bot/BotController.scala` - class BotController - function getBot @@ -148,7 +152,6 @@ - function bestMoveWithTime - function loop - function loop - - _...2 more_ - `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala` - class MoveOrdering - class OrderingContext @@ -158,6 +161,7 @@ - function getHistory - _...3 more_ - `modules/bot/src/main/scala/de/nowchess/bot/logic/TranspositionTable.scala` + - function advance - function probe - function store - function clear @@ -181,14 +185,15 @@ - function history - function getCurrentIndex - _...3 more_ +- `modules/core/src/main/scala/de/nowchess/chess/config/JacksonConfig.scala` — class JacksonConfig, function customize - `modules/core/src/main/scala/de/nowchess/chess/controller/Parser.scala` — class Parser, function parseMove - `modules/core/src/main/scala/de/nowchess/chess/engine/GameEngine.scala` - class GameEngine - - function isPendingPromotion - function board - function turn - function context - function canUndo + - function canRedo - _...11 more_ - `modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala` - function context @@ -198,6 +203,26 @@ - function subscribe - function unsubscribe - _...1 more_ +- `modules/core/src/main/scala/de/nowchess/chess/registry/GameRegistry.scala` + - class GameRegistry + - function store + - function get + - function update + - function generateId +- `modules/core/src/main/scala/de/nowchess/chess/registry/GameRegistryImpl.scala` + - class GameRegistryImpl + - function store + - function get + - function update + - function generateId +- `modules/core/src/main/scala/de/nowchess/chess/resource/GameResource.scala` + - function onGameEvent + - function createGame + - function getGame + - function streamGame + - function onGameEvent + - function resignGame + - _...9 more_ - `modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala` — class GameContextExport, function exportGameContext - `modules/io/src/main/scala/de/nowchess/io/GameContextImport.scala` — class GameContextImport, function importGameContext - `modules/io/src/main/scala/de/nowchess/io/GameFileService.scala` @@ -247,32 +272,13 @@ - function allLegalMoves - function isCheck - function isCheckmate - - _...4 more_ + - _...5 more_ - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` - class DefaultRules + - function positionOf - function loop - function toMoves - function loop -- `modules/ui/src/main/scala/de/nowchess/ui/Main.scala` — class Main, function main -- `modules/ui/src/main/scala/de/nowchess/ui/gui/ChessBoardView.scala` - - class ChessBoardView - - function updateBoard - - function updateUndoRedoButtons - - function showMessage - - function showPromotionDialog -- `modules/ui/src/main/scala/de/nowchess/ui/gui/ChessGUI.scala` - - class ChessGUIApp - - class ChessGUILauncher - - function getEngine - - function launch -- `modules/ui/src/main/scala/de/nowchess/ui/gui/GUIObserver.scala` — class GUIObserver -- `modules/ui/src/main/scala/de/nowchess/ui/gui/PieceSprites.scala` - - class PieceSprites - - function loadPieceImage - - class SquareColors -- `modules/ui/src/main/scala/de/nowchess/ui/terminal/TerminalUI.scala` — class TerminalUI, function start -- `modules/ui/src/main/scala/de/nowchess/ui/utils/PieceUnicode.scala` — function unicode -- `modules/ui/src/main/scala/de/nowchess/ui/utils/Renderer.scala` — class Renderer, function render --- @@ -295,39 +301,39 @@ ## Most Imported Files (change these carefully) -- `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` — imported by **60** files -- `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` — imported by **40** files -- `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` — imported by **39** files -- `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` — imported by **36** files -- `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` — imported by **22** files -- `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` — imported by **21** files -- `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` — imported by **21** files +- `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` — imported by **64** files +- `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` — imported by **44** files +- `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` — imported by **40** files +- `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` — imported by **35** files +- `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` — imported by **19** files +- `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` — imported by **18** files +- `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` — imported by **17** files - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` — imported by **17** files -- `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` — imported by **10** files +- `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` — imported by **11** files - `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` — imported by **10** files -- `modules/api/src/main/scala/de/nowchess/api/board/CastlingRights.scala` — imported by **8** files -- `modules/io/src/main/scala/de/nowchess/io/GameContextImport.scala` — imported by **8** files +- `modules/api/src/main/scala/de/nowchess/api/board/CastlingRights.scala` — imported by **9** files +- `modules/api/src/main/scala/de/nowchess/api/game/DrawReason.scala` — imported by **7** files +- `modules/io/src/main/scala/de/nowchess/io/GameContextImport.scala` — imported by **7** files +- `modules/api/src/main/scala/de/nowchess/api/bot/Bot.scala` — imported by **6** files +- `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala` — imported by **6** files +- `modules/api/src/main/scala/de/nowchess/api/player/PlayerInfo.scala` — imported by **5** files - `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala` — imported by **5** files -- `modules/bot/src/main/scala/de/nowchess/bot/BotDifficulty.scala` — imported by **5** files -- `modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala` — imported by **5** files +- `modules/api/src/main/scala/de/nowchess/api/game/GameResult.scala` — imported by **4** files - `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala` — imported by **4** files - `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` — imported by **4** files -- `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala` — imported by **4** files -- `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala` — imported by **4** files -- `modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala` — imported by **4** files ## Import Map (who imports what) -- `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/BotMoveRepetition.scala`, `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala` +55 more -- `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/BotMoveRepetition.scala` +35 more -- `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/main/scala/de/nowchess/api/move/Move.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/api/src/test/scala/de/nowchess/api/move/MoveTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` +34 more -- `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala` +31 more -- `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +17 more -- `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala` +16 more -- `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +16 more +- `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` ← `modules/api/src/main/scala/de/nowchess/api/bot/Bot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/BotMoveRepetition.scala`, `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala` +59 more +- `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` ← `modules/api/src/main/scala/de/nowchess/api/bot/Bot.scala`, `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/BotMoveRepetition.scala` +39 more +- `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/main/scala/de/nowchess/api/move/Move.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/api/src/test/scala/de/nowchess/api/move/MoveTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` +35 more +- `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/main/scala/de/nowchess/api/game/GameResult.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala` +30 more +- `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +14 more +- `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +13 more +- `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala` +12 more - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +12 more -- `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +5 more -- `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` ← `modules/bot/src/test/scala/de/nowchess/bot/PolyglotHashTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/EngineTestHelpers.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineLoadGameTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineNotationTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEnginePromotionTest.scala` +5 more +- `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +6 more +- `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` ← `modules/bot/src/test/scala/de/nowchess/bot/PolyglotHashTest.scala`, `modules/core/src/main/scala/de/nowchess/chess/resource/GameResource.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/EngineTestHelpers.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineLoadGameTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineNotationTest.scala` +5 more --- diff --git a/.codesight/graph.md b/.codesight/graph.md index f215dea..57ba7eb 100644 --- a/.codesight/graph.md +++ b/.codesight/graph.md @@ -2,36 +2,36 @@ ## Most Imported Files (change these carefully) -- `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` — imported by **60** files -- `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` — imported by **40** files -- `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` — imported by **39** files -- `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` — imported by **36** files -- `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` — imported by **22** files -- `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` — imported by **21** files -- `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` — imported by **21** files +- `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` — imported by **64** files +- `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` — imported by **44** files +- `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` — imported by **40** files +- `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` — imported by **35** files +- `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` — imported by **19** files +- `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` — imported by **18** files +- `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` — imported by **17** files - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` — imported by **17** files -- `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` — imported by **10** files +- `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` — imported by **11** files - `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` — imported by **10** files -- `modules/api/src/main/scala/de/nowchess/api/board/CastlingRights.scala` — imported by **8** files -- `modules/io/src/main/scala/de/nowchess/io/GameContextImport.scala` — imported by **8** files +- `modules/api/src/main/scala/de/nowchess/api/board/CastlingRights.scala` — imported by **9** files +- `modules/api/src/main/scala/de/nowchess/api/game/DrawReason.scala` — imported by **7** files +- `modules/io/src/main/scala/de/nowchess/io/GameContextImport.scala` — imported by **7** files +- `modules/api/src/main/scala/de/nowchess/api/bot/Bot.scala` — imported by **6** files +- `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala` — imported by **6** files +- `modules/api/src/main/scala/de/nowchess/api/player/PlayerInfo.scala` — imported by **5** files - `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala` — imported by **5** files -- `modules/bot/src/main/scala/de/nowchess/bot/BotDifficulty.scala` — imported by **5** files -- `modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala` — imported by **5** files +- `modules/api/src/main/scala/de/nowchess/api/game/GameResult.scala` — imported by **4** files - `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala` — imported by **4** files - `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` — imported by **4** files -- `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala` — imported by **4** files -- `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala` — imported by **4** files -- `modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala` — imported by **4** files ## Import Map (who imports what) -- `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/BotMoveRepetition.scala`, `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala` +55 more -- `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/BotMoveRepetition.scala` +35 more -- `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/main/scala/de/nowchess/api/move/Move.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/api/src/test/scala/de/nowchess/api/move/MoveTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` +34 more -- `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala` +31 more -- `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +17 more -- `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala` +16 more -- `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +16 more +- `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` ← `modules/api/src/main/scala/de/nowchess/api/bot/Bot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/BotMoveRepetition.scala`, `modules/bot/src/main/scala/de/nowchess/bot/ai/Evaluation.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala` +59 more +- `modules/api/src/main/scala/de/nowchess/api/move/Move.scala` ← `modules/api/src/main/scala/de/nowchess/api/bot/Bot.scala`, `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/board/BoardTest.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/BotMoveRepetition.scala` +39 more +- `modules/api/src/main/scala/de/nowchess/api/board/Square.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/main/scala/de/nowchess/api/move/Move.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/api/src/test/scala/de/nowchess/api/move/MoveTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala` +35 more +- `modules/api/src/main/scala/de/nowchess/api/board/Color.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/main/scala/de/nowchess/api/game/GameResult.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala` +30 more +- `modules/api/src/main/scala/de/nowchess/api/board/Board.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/api/src/test/scala/de/nowchess/api/game/GameContextTest.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +14 more +- `modules/api/src/main/scala/de/nowchess/api/board/Piece.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotHash.scala`, `modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +13 more +- `modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala` ← `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/classic/EvaluationClassic.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/nnue/NNUE.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala` +12 more - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +12 more -- `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +5 more -- `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` ← `modules/bot/src/test/scala/de/nowchess/bot/PolyglotHashTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/EngineTestHelpers.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineLoadGameTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineNotationTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEnginePromotionTest.scala` +5 more +- `modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala` ← `modules/bot/src/main/scala/de/nowchess/bot/bots/ClassicalBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/HybridBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/bots/NNUEBot.scala`, `modules/bot/src/main/scala/de/nowchess/bot/logic/AlphaBetaSearch.scala`, `modules/bot/src/test/scala/de/nowchess/bot/AlphaBetaSearchTest.scala` +6 more +- `modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala` ← `modules/bot/src/test/scala/de/nowchess/bot/PolyglotHashTest.scala`, `modules/core/src/main/scala/de/nowchess/chess/resource/GameResource.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/EngineTestHelpers.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineLoadGameTest.scala`, `modules/core/src/test/scala/de/nowchess/chess/engine/GameEngineNotationTest.scala` +5 more diff --git a/.codesight/libs.md b/.codesight/libs.md index 7769343..c7da5a2 100644 --- a/.codesight/libs.md +++ b/.codesight/libs.md @@ -38,14 +38,21 @@ - class Square - function fromAlgebraic - function offset +- `modules/api/src/main/scala/de/nowchess/api/bot/Bot.scala` + - class Bot + - function name + - function nextMove +- `modules/api/src/main/scala/de/nowchess/api/dto/ErrorEventDto.scala` — class ErrorEventDto, function apply +- `modules/api/src/main/scala/de/nowchess/api/dto/GameFullEventDto.scala` — class GameFullEventDto, function apply +- `modules/api/src/main/scala/de/nowchess/api/dto/GameStateEventDto.scala` — class GameStateEventDto, function apply - `modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala` + - function kingSquare - function withBoard - function withTurn - function withCastlingRights - function withEnPassantSquare - function withHalfMoveClock - - function withMove - - _...2 more_ + - _...4 more_ - `modules/api/src/main/scala/de/nowchess/api/player/PlayerInfo.scala` — class PlayerId, function apply - `modules/api/src/main/scala/de/nowchess/api/response/ApiResponse.scala` - class ApiResponse @@ -70,6 +77,7 @@ - `modules/bot/python/src/export.py` — function export_to_nbai: (weights_file, output_file, trained_by, train_loss) - `modules/bot/python/src/generate.py` — function play_random_game_and_collect_positions: (output_file, total_positions, samples_per_game, min_move, max_move, num_workers) - `modules/bot/python/src/label.py` — function normalize_evaluation: (cp_value, method, scale), function label_positions_with_stockfish: (positions_file, output_file, stockfish_path, batch_size, depth, verbose, normalize, num_workers) +- `modules/bot/python/src/lichess_importer.py` — function import_lichess_evals: (input_path, output_file, max_positions, min_depth, verbose) -> int - `modules/bot/python/src/tactical_positions_extractor.py` - function download_and_extract_puzzle_db: (url, output_dir) - function extract_puzzle_positions: (puzzle_csv, max_puzzles) -> Set[str] @@ -81,14 +89,10 @@ - function fen_to_features: (fen) - function find_next_version: (base_name) - function save_metadata: (weights_file, metadata) - - function train_nnue: (data_file, output_file, epochs, batch_size, lr, checkpoint, stockfish_depth, use_versioning, early_stopping_patience, weight_decay, subsample_ratio) - - function burst_train: (data_file, output_file, duration_minutes, epochs_per_season, early_stopping_patience, batch_size, lr, initial_checkpoint, stockfish_depth, use_versioning, weight_decay, subsample_ratio) + - function train_nnue: (data_file, output_file, epochs, batch_size, lr, checkpoint, stockfish_depth, use_versioning, early_stopping_patience, weight_decay, subsample_ratio, hidden_sizes) + - function burst_train: (data_file, output_file, duration_minutes, epochs_per_season, early_stopping_patience, batch_size, lr, initial_checkpoint, stockfish_depth, use_versioning, weight_decay, subsample_ratio, hidden_sizes) - class NNUEDataset - _...1 more_ -- `modules/bot/src/main/scala/de/nowchess/bot/Bot.scala` - - class Bot - - function name - - function nextMove - `modules/bot/src/main/scala/de/nowchess/bot/BotController.scala` - class BotController - function getBot @@ -139,7 +143,6 @@ - function bestMoveWithTime - function loop - function loop - - _...2 more_ - `modules/bot/src/main/scala/de/nowchess/bot/logic/MoveOrdering.scala` - class MoveOrdering - class OrderingContext @@ -149,6 +152,7 @@ - function getHistory - _...3 more_ - `modules/bot/src/main/scala/de/nowchess/bot/logic/TranspositionTable.scala` + - function advance - function probe - function store - function clear @@ -172,14 +176,15 @@ - function history - function getCurrentIndex - _...3 more_ +- `modules/core/src/main/scala/de/nowchess/chess/config/JacksonConfig.scala` — class JacksonConfig, function customize - `modules/core/src/main/scala/de/nowchess/chess/controller/Parser.scala` — class Parser, function parseMove - `modules/core/src/main/scala/de/nowchess/chess/engine/GameEngine.scala` - class GameEngine - - function isPendingPromotion - function board - function turn - function context - function canUndo + - function canRedo - _...11 more_ - `modules/core/src/main/scala/de/nowchess/chess/observer/Observer.scala` - function context @@ -189,6 +194,26 @@ - function subscribe - function unsubscribe - _...1 more_ +- `modules/core/src/main/scala/de/nowchess/chess/registry/GameRegistry.scala` + - class GameRegistry + - function store + - function get + - function update + - function generateId +- `modules/core/src/main/scala/de/nowchess/chess/registry/GameRegistryImpl.scala` + - class GameRegistryImpl + - function store + - function get + - function update + - function generateId +- `modules/core/src/main/scala/de/nowchess/chess/resource/GameResource.scala` + - function onGameEvent + - function createGame + - function getGame + - function streamGame + - function onGameEvent + - function resignGame + - _...9 more_ - `modules/io/src/main/scala/de/nowchess/io/GameContextExport.scala` — class GameContextExport, function exportGameContext - `modules/io/src/main/scala/de/nowchess/io/GameContextImport.scala` — class GameContextImport, function importGameContext - `modules/io/src/main/scala/de/nowchess/io/GameFileService.scala` @@ -238,29 +263,10 @@ - function allLegalMoves - function isCheck - function isCheckmate - - _...4 more_ + - _...5 more_ - `modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala` - class DefaultRules + - function positionOf - function loop - function toMoves - function loop -- `modules/ui/src/main/scala/de/nowchess/ui/Main.scala` — class Main, function main -- `modules/ui/src/main/scala/de/nowchess/ui/gui/ChessBoardView.scala` - - class ChessBoardView - - function updateBoard - - function updateUndoRedoButtons - - function showMessage - - function showPromotionDialog -- `modules/ui/src/main/scala/de/nowchess/ui/gui/ChessGUI.scala` - - class ChessGUIApp - - class ChessGUILauncher - - function getEngine - - function launch -- `modules/ui/src/main/scala/de/nowchess/ui/gui/GUIObserver.scala` — class GUIObserver -- `modules/ui/src/main/scala/de/nowchess/ui/gui/PieceSprites.scala` - - class PieceSprites - - function loadPieceImage - - class SquareColors -- `modules/ui/src/main/scala/de/nowchess/ui/terminal/TerminalUI.scala` — class TerminalUI, function start -- `modules/ui/src/main/scala/de/nowchess/ui/utils/PieceUnicode.scala` — function unicode -- `modules/ui/src/main/scala/de/nowchess/ui/utils/Renderer.scala` — class Renderer, function render diff --git a/.codesight/report.html b/.codesight/report.html new file mode 100644 index 0000000..06001f8 --- /dev/null +++ b/.codesight/report.html @@ -0,0 +1,198 @@ + + + + + +NowChessSystems — codesight report + + + + +

NowChessSystems

+
AI Context Map — generated by codesight
+ +
+raw-http + +unknown +scala + +
+ +
+
~20,573 tokens saved
+
+ Output: 5,297 tokens — Exploration cost without codesight: ~25,870 tokens — 149 files scanned +
+
+ +
+
0
Routes
+
0
Models
+
0
Components
+
63
Libraries
+
1
Env Vars
+
1
Middleware
+
383
Import Links
+
+ + + + + + + + +
+

Dependency Hot Files

+
+
+
modules/api/src/main/scala/de/nowchess/api/game/GameContext.scala
+
imported by 64 files
+
+
+
+
modules/api/src/main/scala/de/nowchess/api/move/Move.scala
+
imported by 44 files
+
+
+
+
modules/api/src/main/scala/de/nowchess/api/board/Square.scala
+
imported by 40 files
+
+
+
+
modules/api/src/main/scala/de/nowchess/api/board/Color.scala
+
imported by 35 files
+
+
+
+
modules/api/src/main/scala/de/nowchess/api/board/Board.scala
+
imported by 19 files
+
+
+
+
modules/api/src/main/scala/de/nowchess/api/board/Piece.scala
+
imported by 18 files
+
+
+
+
modules/api/src/main/scala/de/nowchess/api/board/PieceType.scala
+
imported by 17 files
+
+
+
+
modules/rule/src/main/scala/de/nowchess/rules/sets/DefaultRules.scala
+
imported by 17 files
+
+
+
+
modules/rule/src/main/scala/de/nowchess/rules/RuleSet.scala
+
imported by 11 files
+
+
+
+
modules/io/src/main/scala/de/nowchess/io/fen/FenParser.scala
+
imported by 10 files
+
+
+
+
modules/api/src/main/scala/de/nowchess/api/board/CastlingRights.scala
+
imported by 9 files
+
+
+
+
modules/api/src/main/scala/de/nowchess/api/game/DrawReason.scala
+
imported by 7 files
+
+
+
+
+ + +
+

Environment Variables

+ + + + + + + +
VariableStatusSource
STOCKFISH_PATHrequiredmodules/bot/python/nnue.py
+
+ + +
+

Middleware

+
+
+
generate custom
+
modules/bot/python/src/generate.py
+
+
+
+ + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index c59ee8d..08b68c3 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -15,7 +15,6 @@ diff --git a/.idea/runConfigurations/NowChessSystems_modules_core_main.xml b/.idea/runConfigurations/NowChessSystems_modules_core_main.xml new file mode 100644 index 0000000..1415e64 --- /dev/null +++ b/.idea/runConfigurations/NowChessSystems_modules_core_main.xml @@ -0,0 +1,33 @@ + + + + + + + + + true + true + false + false + false + false + false + dev + + + + + \ No newline at end of file diff --git a/.idea/scala_compiler.xml b/.idea/scala_compiler.xml index 3af8876..a99d21e 100644 --- a/.idea/scala_compiler.xml +++ b/.idea/scala_compiler.xml @@ -5,7 +5,7 @@