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 @@