## 🚀 Descripció general
**CubeEye** és una aplicació avançada per a Android dissenyada per resoldre cubs de Rubik de 3x3. Aprofita la visió artificial per escanejar un cub físic i proporciona una guia 3D interactiva i animada per resoldre'l utilitzant moviments gairebé òptims.
## ✨ Característiques principals
### 📷 Sistema d'escaneig intel·ligent
* **Detecció de color en temps real:** Identifica automàticament els colors de les cares del cub mitjançant la càmera a través del `ColorAnalyzer` personalitzat.
* **Escaneig guiat:** Una superposició d'IU intuïtiva guia els usuaris a través del procés de capturar les 6 cares correctament.
* **Lògica de validació:** El `CubeValidator` integrat garanteix que l'estat escanejat sigui físicament resoluble abans de continuar.
* **Correcció manual:** Inclou un `ColorPickerDialog` que permet als usuaris ajustar manualment els colors si les condicions d'il·luminació afecten la detecció automàtica.
### 🧩 Resolutor intel·ligent
* **Algorisme de Kociemba:** Integra el famós algorisme de dues fases (mitjançant la biblioteca *min2phase*) per trobar solucions gairebé òptimes, que sovint requereixen menys de 20 moviments.
* **Càlcul local ràpid:** Resol problemes complexos en segons directament al dispositiu sense necessitat de connexió de xarxa.
### 🎥 Guia 3D interactiva
* **Visualització 3D:** Compta amb una renderització 3D totalment interactiva (`Cube3DView`) que imita amb precisió l'estat real del cub.
* **Animació pas a pas:** Els usuaris poden reproduir, pausar i navegar pels moviments de la solució al seu propi ritme.
## 🛠 Característiques tècniques destacades
* **Pila Android moderna:** Construïda completament amb Kotlin i Jetpack Compose (Material 3).
* **Arquitectura robusta:** Segueix els principis de l'arquitectura neta, utilitzant patrons MVVM, Hilt per a la injecció de dependències i coroutines per a operacions asíncrones.
* **CameraX:** Implementa una base de càmera estable i eficient per a la previsualització en directe i l'anàlisi d'imatges.
* **SceneView:** Utilitza la biblioteca SceneView per a la renderització 3D d'alt rendiment.
## 🐛 Problemes coneguts / Tasques pendents
* Optimitza els llindars de detecció de color per gestionar millor les condicions d'il·luminació extremes.
* Automatitza la integració de la biblioteca "min2phase" (actualment inclosa com a fitxers font manuals).
Data d'actualització:
6 de gen. 2026