Kirin v0.2.3-4-g1d04d94-dirty
Autonomous chess — engine and hardware API reference
Loading...
Searching...
No Matches
Application layer

Game, puzzle, and review sessions, plus the persistence they need. More...

Files

file  analysis_service.cpp
 see analysis_service.h
file  analysis_service.h
 analyze a finished game and file the artifact (PLAN §5).
file  backend_factory.cpp
 see backend_factory.h.
file  backend_factory.h
 choose the IBoardBackend for a GameSession.
file  board_backend.h
 the physical-board primitives the game loop depends on.
file  board_recovery.cpp
 see board_recovery.h.
file  board_recovery.h
 physical desync recovery decision logic (Track H6).
file  broadcast.cpp
 see broadcast.h.
file  broadcast.h
 choosing what to mirror (broadcast-docs/PLAN.md §4, B3).
file  broadcast_session.cpp
 see broadcast_session.h.
file  broadcast_session.h
 mirror a live tournament game on the board
file  engine_hint.cpp
 see engine_hint.h
file  engine_hint.h
 IHintSource backed by a bounded engine search (PLAN §8).
file  engine_interface.h
 frontend-agnostic chess-engine abstraction.
file  engine_legal_moves.cpp
file  engine_legal_moves.h
file  fen_identity.cpp
 see fen_identity.h
file  fen_identity.h
 turn a FEN into a physically realizable identity snapshot.
file  game_analysis.cpp
 see game_analysis.h
file  game_analysis.h
 the artifact a review renders (review-docs/PLAN.md §5).
file  game_analyzer.cpp
 see game_analyzer.h.
file  game_analyzer.h
 post-game engine analysis of a GameRecord (review-docs
file  game_clock.cpp
 GameClock implementation.
file  game_clock.h
 a two-sided chess clock with Fischer increment.
file  game_record.cpp
 see game_record.h
file  game_record.h
 the archived form of a finished game (review-docs/PLAN.md §3).
file  game_recorder.cpp
 see game_recorder.h
file  game_recorder.h
 turns a played game into an archived one (PLAN §4).
file  game_session.cpp
 GameSession implementation.
file  game_session.h
 frontend-agnostic game orchestrator.
file  game_store.cpp
 see game_store.h
file  game_store.h
 the board-local archive of finished games (PLAN §3.1).
file  handicap.cpp
 see handicap.h.
file  handicap.h
 material-odds ("piece odds") game setup.
file  hardware_backend.cpp
 HardwareBackend implementation.
file  hardware_backend.h
 IBoardBackend over the real gantry + hall-effect sensors.
file  identity_replay.cpp
 see identity_replay.h.
file  identity_replay.h
 advance a PieceTracker over an engine-encoded move.
file  json_lite.cpp
 recursive-descent JSON reader (see json_lite.h).
file  json_lite.h
 a tiny, dependency-free JSON reader.
file  led_assist.cpp
 see led_assist.h
file  led_assist.h
 policy layer that turns game events into LED highlights.
file  led_subsystem.cpp
 see led_subsystem.h
file  led_subsystem.h
 one object that owns the whole LED highlight stack (L5).
file  linked_engine.cpp
 LinkedEngine implementation over the engine globals.
file  linked_engine.h
 IEngine backed by the in-process Kirin engine.
file  network_opponent.cpp
 NetworkOpponent implementation.
file  network_opponent.h
 the remote human, presented to GameSession as an opponent.
file  network_transport.h
 the pipe between a board and its remote peer.
file  personality.cpp
 PersonalityRegistry: JSON loading + builtins.
file  personality.h
 named opponents, backed by engine option presets.
file  pgn.cpp
 see pgn.h (broadcast-docs/PLAN.md §2).
file  pgn.h
 a real PGN reader (broadcast-docs/PLAN.md §2, B1).
file  player_rating.cpp
 Glicko-2 + the on-device rating file (see player_rating.h).
file  player_rating.h
 the Kirin rating: how strong the board thinks you are (L4).
file  puzzle.cpp
 see puzzle.h
file  puzzle.h
 a tactics puzzle, normalized across Lichess's two representations.
file  puzzle_book.cpp
 see puzzle_book.h
file  puzzle_book.h
 the puzzles that ship on the board (lichess PLAN.md §2, L5).
file  puzzle_history.cpp
 see puzzle_history.h
file  puzzle_history.h
 the board-local log of completed tactics puzzles.
file  puzzle_led.cpp
 PuzzleLedAssist implementation (see puzzle_led.h).
file  puzzle_led.h
 LED highlights while solving a puzzle (lichess-docs/PLAN.md §6, §8).
file  puzzle_session.cpp
 see puzzle_session.h.
file  puzzle_session.h
 solving a tactics puzzle on the physical board
file  review_session.cpp
 see review_session.h.
file  review_session.h
 physical review of a finished game (review-docs PLAN §6.1).
file  sim_backend.cpp
 SimBackend implementation.
file  sim_backend.h
 IBoardBackend with no hardware (off-Pi development / tests).

Detailed Description

Game, puzzle, and review sessions, plus the persistence they need.

Game, puzzle, and review sessions built on top of Chess engine (kirin_engine) and Hardware layer (kirin_hardware), plus the persistence and serialisation they need. This is what the Qt/QML GUI links against in-process — there is no IPC between the UI and the engine.

The board backend is chosen here rather than compiled in: BoardBackend has a simulated and a hardware implementation, selected at runtime by BackendFactory, which is why the whole application layer is testable without a board.

Design references: docs/gui-docs/PLAN.md, docs/review-docs/PLAN.md, docs/lichess-docs/PLAN.md, docs/networked-play-docs/PLAN.md.