How procraftkrd/chesscube-extension works
ChessCube Assistant is a Chrome extension that detects chess positions on webpages, requests an external engine evaluation, and highlights the suggested move. The main workflow runs from page observation and FEN construction through background message routing to side-panel analysis and a highlight command back to the page. The side panel also provides bilingual presentation and customization. The README documents these capabilities; sampled source supports the routing, parsing, evaluation, and overlay links shown here, while unsampled implementation details are represented only where the tree supports a path.
Main entry points: sidepanel.html Side panel UI · background.js Message router · sidepanel.js Evaluation and results · content-universal.js Board observer
Components 11
Page integration
- Board observer
content-universal.js - Position parser
content-universal.js - Move overlay
content-universal.js
Extension coordination
- Message router
background.js
Analysis panel
- Side panel UI
sidepanel.html - Panel styling
sidepanel.css - Preferences and language
sidepanel.js - Evaluation and results
sidepanel.js
Other components
- User
- Chess webpage
- Chess evaluation API
Connections 16
- User → Side panel UI: opens
- Chess webpage → Board observer: DOM changes
- Board observer → Position parser: scans board
- Position parser → Message router: sends FEN
- Message router → Side panel UI: relays position
- Side panel UI → Preferences and language: loads settings
- Preferences and language → Side panel UI: applies language and theme
- Side panel UI → Evaluation and results: provides controls
- Evaluation and results → Chess evaluation API: requests evaluation
- Chess evaluation API → Evaluation and results: returns analysis
- Evaluation and results → Side panel UI: shows results
- Evaluation and results → Message router: sends highlight command
- Message router → Move overlay: dispatches highlight
- Move overlay → Chess webpage: draws overlay
- Message router → Board observer: injects or requests scan
- Side panel UI → Panel styling: uses styles