## 🚀 Aperçu
**CubeEye** est une application Android avancée conçue pour résoudre les Rubik's Cubes 3x3. Elle utilise la vision par ordinateur pour scanner un cube physique et propose un guide 3D interactif et animé pour le résoudre avec des mouvements quasi optimaux.
## ✨ Fonctionnalités clés
### 📷 Système de numérisation intelligent
* **Détection des couleurs en temps réel :** Identification automatique des couleurs des faces du cube grâce à la caméra et à l'outil personnalisé `ColorAnalyzer`.
* **Numérisation guidée :** Une interface utilisateur intuitive guide l'utilisateur lors de la capture correcte des 6 faces.
* **Validation :** Le `CubeValidator` intégré vérifie que le cube est physiquement résoluble avant de poursuivre.
* **Correction manuelle :** Une boîte de dialogue `ColorPickerDialog` permet d'ajuster manuellement les couleurs si les conditions d'éclairage affectent la détection automatique.
### 🧩 Solveur intelligent
* **Algorithme de Kociemba :** Intègre le célèbre algorithme en deux phases (via la bibliothèque *min2phase*) pour trouver des solutions quasi optimales, souvent en moins de 20 coups.
* **Calcul local rapide :** Résout des problèmes complexes en quelques secondes directement sur l’appareil, sans connexion réseau.
### 🎥 Guide 3D interactif
* **Visualisation 3D :** Propose un rendu 3D entièrement interactif (`Cube3DView`) qui reproduit fidèlement l’état du cube réel.
* **Animation pas à pas :** Les utilisateurs peuvent lire, mettre en pause et parcourir les mouvements de la solution à leur propre rythme.
## 🛠 Points forts techniques
* **Technologie Android moderne :** Entièrement développé avec Kotlin et Jetpack Compose (Material 3).
* **Architecture robuste :** Conforme aux principes de l’architecture propre, utilisant le modèle MVVM, Hilt pour l’injection de dépendances et les coroutines pour les opérations asynchrones.
* **CameraX :** Intègre une base de caméra stable et performante pour la prévisualisation en direct et l’analyse d’images.
* **SceneView :** Utilise la bibliothèque SceneView pour un rendu 3D haute performance.
## 🐛 Problèmes connus / À faire
* Optimiser les seuils de détection des couleurs pour une meilleure gestion des conditions d’éclairage extrêmes.
* Automatiser l’intégration de la bibliothèque « min2phase » (actuellement fournie sous forme de fichiers sources manuels).
Date de mise à jour
6 janv. 2026