## 🚀 Áttekintés
**A CubeEye** egy fejlett Android alkalmazás, amelyet 3x3 Rubik-kocka kirakására terveztek. Számítógépes látás segítségével szkennel be egy fizikai kockát, és interaktív, animált 3D-s útmutatót biztosít a közel optimális lépésekkel történő kirakáshoz.
## ✨ Főbb jellemzők
### 📷 Intelligens szkennelési rendszer
* **Valós idejű színérzékelés:** Automatikusan azonosítja a kocka lapjainak színeit a kamera segítségével az egyéni `ColorAnalyzer` segítségével.
* **Irányított szkennelés:** Egy intuitív felhasználói felület vezeti végig a felhasználókat mind a 6 lap helyes rögzítésének folyamatán.
* **Érvényesítési logika:** A beépített `CubeValidator` biztosítja, hogy a szkennelt állapot fizikailag megoldható legyen a folytatás előtt.
* **Manuális korrekció:** Tartalmaz egy `ColorPickerDialog`-ot, amely lehetővé teszi a felhasználók számára, hogy manuálisan módosítsák a színeket, ha a fényviszonyok befolyásolják az automatikus felismerést.
### 🧩 Intelligens Megoldó
* **Kociemba algoritmus:** Integrálja a híres kétfázisú algoritmust (a *min2phase* könyvtáron keresztül) a közel optimális megoldások megtalálásához, gyakran kevesebb mint 20 lépést igényelve.
* **Gyors lokális számítás:** Komplex rejtett feladatokat old meg másodpercek alatt közvetlenül az eszközön, hálózati kapcsolat nélkül.
### 🎥 Interaktív 3D útmutató
* **3D vizualizáció:** Teljesen interaktív 3D renderelést (`Cube3DView`) tartalmaz, amely pontosan utánozza a valódi kocka állapotát.
* **Lépésről lépésre animáció:** A felhasználók saját tempójukban játszhatják le, szüneteltethetik és görgethetik végig a megoldási lépéseket.
## 🛠 Technikai kiemelések
* **Modern Android Stack:** Teljes egészében Kotlin és Jetpack Compose (3. anyag) használatával készült. * **Robusztus architektúra:** A tiszta architektúra alapelveit követi, MVVM mintákat, Hilt-et használ a függőségi injektáláshoz és korutinokat az aszinkron műveletekhez.
* **CameraX:** Stabil és hatékony kameraalapot valósít meg az élő előnézethez és a képelemzéshez.
* **SceneView:** A SceneView könyvtárat használja a nagy teljesítményű 3D rendereléshez.
## 🐛 Ismert problémák / TODO-k
* Optimalizálja a színérzékelési küszöböket a szélsőséges fényviszonyok jobb kezelése érdekében.
* Automatizálja a "min2phase" könyvtár integrációját (jelenleg manuális forrásfájlként szerepel).