## 🚀 Yfirlit
**CubeEye** er háþróað Android forrit hannað til að leysa 3x3 Rubik's teninga. Það notar tölvusjón til að skanna efnislegan tening og býður upp á gagnvirka, hreyfimyndaða 3D leiðsögn til að leysa hann með því að nota næstum bestu hreyfingar.
## ✨ Helstu eiginleikar
### 📷 Snjallt skönnunarkerfi
* **Litagreining í rauntíma:** Greinir sjálfkrafa liti teningaandlita með myndavélinni í gegnum sérsniðna `ColorAnalyzer`.
* **Leiðsögn í skönnun:** Innsæi notendaviðmóts yfirlag leiðbeinir notendum í gegnum ferlið við að fanga öll 6 andlit rétt.
* **Sannprófunarrökfræði:** Innbyggða `CubeValidator` tryggir að skannaða ástandið sé efnislega leysanlegt áður en haldið er áfram.
* **Handvirk leiðrétting:** Inniheldur `ColorPickerDialog` sem gerir notendum kleift að stilla liti handvirkt ef birtuskilyrði hafa áhrif á sjálfvirka greiningu.
### 🧩 Greindur lausnari
* **Kociemba reiknirit:** Samþættir fræga tveggja fasa reikniritið (í gegnum *min2phase* bókasafnið) til að finna nánast bestu lausnirnar, sem krefjast oft færri en 20 hreyfinga.
* **Hröð staðbundin útreikningur:** Leysir flóknar ruglingslegar lausnir á nokkrum sekúndum beint í tækinu án þess að þurfa nettengingu.
### 🎥 Gagnvirk 3D leiðarvísir
* **3D sjónræn framsetning:** Inniheldur fullkomlega gagnvirka 3D mynd (`Cube3DView`) sem líkir nákvæmlega eftir stöðu raunverulegs tenings.
* **Skref-fyrir-skref hreyfimynd:** Notendur geta spilað, gert hlé á og flett í gegnum lausnarhreyfingarnar á sínum hraða.
## 🛠 Tæknilegir eiginleikar
* **Nútíma Android Stack:** Smíðað að öllu leyti með Kotlin og Jetpack Compose (Material 3).
* **Öflug byggingarlist:** Fylgir meginreglum um hreina byggingarlist, notar MVVM mynstur, Hilt fyrir ósjálfstæðisinnspýtingu og Coroutines fyrir ósamstillta aðgerðir.
* **CameraX:** Innleiðir stöðugan og skilvirkan grunn fyrir myndavél fyrir forskoðun í beinni og myndgreiningu.
* **SceneView:** Notar SceneView bókasafnið fyrir afkastamikla 3D birtingu.
## 🐛 Þekkt vandamál / TODOs
* Hámarka litgreiningarþröskulda til að takast betur á við öfgakenndar birtuskilyrði.
* Sjálfvirka samþættingu "min2phase" bókasafnsins (sem er nú innifalið sem handvirkar frumskrár).