Skip to content

Improve board calibration, Lichess recovery and voice controls - #175

Open
vitito93 wants to merge 1 commit into
Pbatch:mainfrom
vitito93:feature/robust-calibration-voice-play
Open

Improve board calibration, Lichess recovery and voice controls#175
vitito93 wants to merge 1 commit into
Pbatch:mainfrom
vitito93:feature/robust-calibration-voice-play

Conversation

@vitito93

Copy link
Copy Markdown

What changed

  • Stabilized corner detection by combining several frames instead of relying on a single prediction.
  • Added a robust projective grid fit that uses all visible 7×7 intersections to calculate the outer board corners.
  • Improved move detection stability to reduce occasional false positives.
  • Rebuilt Lichess positions from the complete move stream, including takebacks and variations.
  • Added automatic stream reconnection and recovery after rejected moves.
  • Added a desynchronization state that pauses camera moves until the physical board matches Lichess again.
  • Fixed the React crash caused by rendering Error objects directly.
  • Added an optional voice mode that suspends camera inference and accepts legal chess commands in Spanish and English.

Why

Corner detection could vary even with a static camera, and Lichess takebacks could leave the local board in an unrecoverable state. Voice input also provides a useful fallback when the camera setup is unreliable.

Voice commands are always resolved against the current legal moves, so ambiguous or illegal commands are rejected instead of guessed.

Examples

  • Alfil C3
  • C4 a C5
  • Bishop C3
  • C4 to C5
  • Enroque corto
  • Castle kingside

Validation

  • TypeScript check
  • ESLint
  • Production build with npm run build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant