How rohit12-web/tempo-chess works
Tempo is a browser-only chess and learning app. A player creates or selects a local profile, chooses local play, bot play, puzzles or opening study, then reviews results and progress from Home or Replay. The core rules engine supports game and study-board behavior; puzzle, lesson and opening content supplies learning material, while profile helpers retain progress in browser storage. The README documents the page-level workflow, but page source files are not present in the supplied tree, so those interfaces are represented at the existing js directory level.
Main entry points: js App pages · engine.js Chess rules · bot.js Chess bot · profile.js Local profiles
Components 20
Player experience
- App pages
js - Preview board
js/helpers/preview-board.js
Chess runtime
- Chess rules
js/core/engine.js - Chess bot
js/core/bot.js - Bot worker
js/core/bot-worker.js - Study board
js/helpers/study-board.js
Learning content
- Puzzle collection
js/data/puzzle-data.js - Rules lessons
js/data/lesson-data.js - Opening lines
js/data/opening-data.js - Practice tracking
js/helpers/practice-data.js - Notebook data
js/helpers/notebook-data.js - Notebook dialog
js/helpers/notebook-dialog.js
Shared services
- Local profiles
js/helpers/profile.js - Browser storage
- Game records
js/helpers/game-data.js - Select menus
js/helpers/select-menu.js - Preferences
js/helpers/preferences.js - Themes
js/helpers/theme.js - Move sound
js/helpers/sound.js
Other components
- Player
Connections 23
- Player → App pages: uses
README.md - App pages → Local profiles: selects profile
README.md - Local profiles → Browser storage: reads and writes
js/helpers/profile.js - App pages → Chess rules: plays chess
README.md - App pages → Chess bot: requests moves
README.md - Bot worker → Chess bot: searches with
js/core/bot-worker.js - Bot worker → Chess rules: loads rules
js/core/bot-worker.js - Chess bot → Chess rules: evaluates positions
js/core/bot.js - Study board → Chess rules: uses game state
js/helpers/study-board.js - App pages → Study board: shows study and replay
README.md - App pages → Puzzle collection: offers puzzles
README.md - App pages → Rules lessons: teaches rules
- App pages → Opening lines: teaches openings
README.md - App pages → Game records: saves game results
- Practice tracking → Local profiles: updates progress
js/helpers/practice-data.js - App pages → Practice tracking: tracks puzzle attempts
- App pages → Notebook dialog: opens notebook
- Notebook dialog → Notebook data: uses notebook data
- App pages → Select menus: enhances controls
- App pages → Preferences: configures experience
- App pages → Themes: switches theme
- App pages → Move sound: plays move sound
README.md - App pages → Preview board: renders previews