How singhdhairya17/chess_studio_py works
Chess Studio is a small Flet chess app: a player configures a time control and optional AI opponent, starts a game, makes moves on the board, and sees clocks, move history, and game results. The ChessApp in chess_studio/game.py owns interactive game behavior and delegates chess helpers to chess_studio/chess_core.py; chess_studio/runner.py sets up the page and starts the app and clock loop. Stockfish is optional. The game source excerpt is partial, so only relationships supported by the README and visible code are shown.
Main entry points: game.py Chess app UI · runner.py Page bootstrap · chess_core.py Chess helpers · app.py Flet launcher
Components 14
App startup
- Flet launcher
app.py - Page bootstrap
chess_studio/runner.py
Chess gameplay
- Chess app UI
chess_studio/game.py - Chess rules
- Game controls
chess_studio/game.py - Game clocks
chess_studio/game.py - Move history
chess_studio/game.py - Game results
chess_studio/game.py
Shared presentation
- Chess helpers
chess_studio/chess_core.py - Page theme
chess_studio/theme.py - Engine config
chess_studio/chess_core.py
Other components
- Player
- python-chess
- Stockfish engine
Connections 15
- Player → Chess app UI: uses controls
- Flet launcher → Page bootstrap: starts
- Page bootstrap → Page theme: applies theme
- Page bootstrap → Chess app UI: creates and displays
- Page bootstrap → Game clocks: starts loop
- Chess app UI → Game controls: handles input
- Chess app UI → Chess rules: updates position
- Chess app UI → Game clocks: updates clocks
- Chess app UI → Move history: refreshes history
- Chess app UI → Game results: shows outcomes
- Chess app UI → Chess helpers: uses helpers
- Chess helpers → python-chess: uses rules
- Chess app UI → python-chess: uses board rules
- Chess app UI → Engine config: checks engine path
- Chess app UI → Stockfish engine: launches and queries