3.8 KiB
3.8 KiB
Chess Teaching Assistant - ChessPrism
Project Overview
ChessPrism is a native macOS application designed to enhance chess learning and analysis by providing real-time visual feedback and move suggestions during online chess games. The application integrates with chess.com through screen capture and provides advanced analysis using Stockfish and custom machine learning models.
Key Features
- Real-time board position recognition
- Visual move suggestions and threat analysis
- Integrated Stockfish engine analysis
- Customizable visual overlays
- Multi-monitor support
- Keyboard shortcut controls
Current Development Status
Completed Features
- Project architecture setup (MVVM pattern)
- Core screenshot capture functionality
- Basic board recognition using Vision framework
- Stockfish ARM64 integration
- Metal-based rendering pipeline foundation
In Progress
- Advanced piece recognition model training
- Visual overlay system implementation
- Move suggestion system integration
- Performance optimization for real-time analysis
Upcoming Features
- User settings and customization
- Advanced threat visualization
- Analytics and feedback system
- TestFlight distribution setup
Technical Architecture
Core Components
-
Screenshot Capture Module
- Uses VisionKit and Screen Capture API
- Handles multi-monitor scenarios
- Implements keyboard shortcuts
-
Board Position Analysis
- Vision framework + CoreML for computer vision
- Real-time FEN conversion
- Position validation system
-
Stockfish Integration
- ARM64 optimized binary
- Async/await interface
- Position evaluation caching
-
Visual Overlay System
- Metal-accelerated rendering
- Transparent NSWindow implementation
- Multiple visualization types
Technology Stack
- Languages: Swift, Metal Shading Language
- Frameworks: SwiftUI, Vision, CoreML, Metal
- Dependencies: Stockfish 16, Create ML
- Tools: Xcode 16.2, Swift 6.0.3
Development Environment Setup
System Requirements
- Hardware: Apple Silicon (M1/M2/M3)
- Memory: 16GB+ RAM
- GPU: Metal 2+ support
- OS: macOS Ventura 13.0+
Installation
-
Clone the repository:
git clone https://gitea.example.com/chessprism.git cd chessprism -
Install dependencies:
brew install swiftlint -
Open project in Xcode:
open ChessPrism/ChessPrism.xcodeproj -
Configure development settings:
- Enable Metal API validation
- Set up code signing
- Configure entitlements
Contribution Guidelines
Code Style
- Follow Swift style guide
- Use SwiftLint for code formatting
- Maintain 80%+ test coverage
Branching Strategy
main- Stable production-ready codedevelop- Current development branchfeature/*- Feature development brancheshotfix/*- Critical bug fixes
Pull Request Process
- Create a feature branch from
develop - Implement changes with tests
- Open PR with detailed description
- Address code review feedback
- Merge after CI passes and approval
Key Milestones
Completed
- Project setup and architecture
- Basic screenshot capture
- Stockfish integration
Current
- Advanced board recognition
- Visual overlay system
- Performance optimization
Upcoming
- User settings implementation
- Analytics integration
- TestFlight distribution
Documentation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contact
For project inquiries, please contact:
- Project Lead: [Your Name]
- Email: [your.email@example.com]
- Gitea: [Your Gitea Profile]