## 🚀 Prehľad
**CubeEye** je pokročilá aplikácia pre Android určená na riešenie Rubikových kociek 3x3. Využíva počítačové videnie na skenovanie fyzickej kocky a poskytuje interaktívneho animovaného 3D sprievodcu na jej riešenie pomocou takmer optimálnych pohybov.
## ✨ Kľúčové vlastnosti
### 📷 Inteligentný skenovací systém
* **Detekcia farieb v reálnom čase:** Automaticky identifikuje farby plôch kocky pomocou kamery prostredníctvom vlastného `ColorAnalyzer`.
* **Sprievodca skenovaním:** Intuitívne prekrytie používateľského rozhrania prevedie používateľov procesom správneho zachytenia všetkých 6 plôch.
* **Logika overenia:** Vstavaný `CubeValidator` zabezpečuje, že naskenovaný stav je fyzicky riešiteľný pred pokračovaním.
* **Manuálna korekcia:** Obsahuje `ColorPickerDialog`, ktorý umožňuje používateľom manuálne upraviť farby, ak svetelné podmienky ovplyvňujú automatickú detekciu.
### 🧩 Inteligentný riešiteľ
* **Kociembov algoritmus:** Integruje slávny dvojfázový algoritmus (prostredníctvom knižnice *min2phase*) na nájdenie takmer optimálnych riešení, ktoré často vyžadujú menej ako 20 ťahov.
* **Rýchly lokálny výpočet:** Rieši zložité problémy v priebehu niekoľkých sekúnd priamo na zariadení bez potreby sieťového pripojenia.
### 🎥 Interaktívny 3D sprievodca
* **3D vizualizácia:** Obsahuje plne interaktívne 3D vykreslenie (`Cube3DView`), ktoré presne napodobňuje stav skutočnej kocky.
* **Podrobná animácia:** Používatelia môžu prehrávať, pozastavovať a prechádzať ťahmi riešenia vlastným tempom.
## 🛠 Technické výhody
* **Moderný Android Stack:** Vytvorené výlučne pomocou Kotlin a Jetpack Compose (Material 3).
* **Robustná architektúra:** Riadi sa princípmi čistej architektúry, využíva vzory MVVM, Hilt pre vkladanie závislostí a korutiny pre asynchrónne operácie.
* **CameraX:** Implementuje stabilný a efektívny základ kamery pre živý náhľad a analýzu obrazu.
* **SceneView:** Využíva knižnicu SceneView pre vysoko výkonné 3D vykresľovanie.
## 🐛 Známe problémy / Úlohy
* Optimalizujte prahy detekcie farieb pre lepšie zvládnutie extrémnych svetelných podmienok.
* Automatizujte integráciu knižnice „min2phase“ (momentálne zahrnutej ako manuálne zdrojové súbory).