ChessPrism/cline_docs/productContext.md
2025-01-13 12:42:20 -06:00

2 KiB

Product Context

Project Purpose

ChessPrism is a macOS application designed to:

  1. Capture chess.com game windows
  2. Detect and analyze chess positions in real-time
  3. Generate FEN strings for position analysis
  4. Track moves and game progress

Core Features

  1. Screen Capture

    • Automatic chess.com window detection
    • Real-time board monitoring
    • Configurable capture settings
  2. Board Analysis

    • Accurate piece detection
    • 12 piece categories:
      • 6 white pieces (pawn to king)
      • 6 black pieces (pawn to king)
    • Position validation
    • FEN string generation
  3. Machine Learning

    • Vision-based Core ML model
    • Direct category mapping
    • High confidence threshold (0.75)
    • Fast inference time

User Experience Goals

  1. Reliability

    • Accurate piece detection
    • Consistent board recognition
    • Robust error handling
  2. Performance

    • Real-time analysis
    • Low resource usage
    • Smooth capture
  3. Usability

    • Automatic window detection
    • Minimal setup required
    • Clear feedback

Current Status

  1. Working Features

    • Screen capture system
    • Board detection
    • Piece recognition
    • FEN generation
  2. Recent Improvements

    • Simplified classification system
    • Direct category mapping
    • Vision framework integration
    • Improved error handling
  3. Known Limitations

    • Requires chess.com's default board theme
    • macOS 12.3+ requirement
    • Screen capture permissions needed

Future Enhancements

  1. Short Term

    • Monitor classification accuracy
    • Fine-tune confidence threshold
    • Improve error reporting
  2. Long Term

    • Support for multiple board themes
    • Game analysis integration
    • Move suggestion system

Technical Requirements

  1. System

    • macOS 12.3 or later
    • Metal-capable GPU
    • Screen recording permissions
  2. Dependencies

    • Vision framework
    • Core ML
    • ScreenCaptureKit
  3. Performance Targets

    • 30 FPS capture
    • Sub-second analysis
    • Low CPU/GPU usage