## 🚀 Visión xeral
**CubeEye** é unha aplicación avanzada para Android deseñada para resolver cubos de Rubik de 3x3. Aproveita a visión artificial para escanear un cubo físico e proporciona unha guía 3D animada e interactiva para resolvelo con movementos case óptimos.
## ✨ Características principais
### 📷 Sistema de dixitalización intelixente
* **Detección de cores en tempo real:** Identifica automaticamente as cores das caras do cubo usando a cámara a través do `ColorAnalyzer` personalizado.
* **Dixitalización guiada:** Unha superposición intuitiva da IU guía aos usuarios a través do proceso de capturar as 6 caras correctamente.
* **Lóxica de validación:** O `CubeValidator` integrado garante que o estado escaneado sexa fisicamente resoluble antes de continuar.
* **Corrección manual:** Inclúe un `ColorPickerDialog` que permite aos usuarios axustar manualmente as cores se as condicións de iluminación afectan á detección automática.
### 🧩 Resolutor intelixente
* **Algoritmo de Kociemba:** Integra o famoso algoritmo de dúas fases (a través da biblioteca *min2phase*) para atopar solucións case óptimas, que a miúdo requiren menos de 20 movementos.
* **Computación local rápida:** Resolve problemas complexos en segundos directamente no dispositivo sen necesidade dunha conexión de rede.
### 🎥 Guía 3D interactiva
* **Visualización 3D:** Presenta unha renderización 3D totalmente interactiva (`Cube3DView`) que imita con precisión o estado do cubo real.
* **Animación paso a paso:** Os usuarios poden reproducir, pausar e percorrer os movementos da solución ao seu propio ritmo.
## 🛠 Características técnicas destacadas
* **Pila moderna de Android:** Construída integramente con Kotlin e Jetpack Compose (Material 3).
* **Arquitectura robusta:** Segue os principios de Clean Architecture, utilizando patróns MVVM, Hilt para a inxección de dependencias e coroutines para operacións asíncronas.
* **CameraX:** Implementa unha base de cámara estable e eficiente para a vista previa en directo e a análise de imaxes.
* **SceneView:** Utiliza a biblioteca SceneView para a renderización 3D de alto rendemento.
## 🐛 Problemas coñecidos / Tarefas por facer
* Optimiza os limiares de detección de cores para xestionar mellor as condicións de iluminación extrema.
* Automatiza a integración da biblioteca "min2phase" (actualmente incluída como ficheiros fonte manuais).
Última actualización
6 de xan. de 2026