## 🚀 Pārskats
**CubeEye** ir uzlabota Android lietojumprogramma, kas paredzēta 3x3 Rubika kubu risināšanai. Tā izmanto datorredzi, lai skenētu fizisku kubu, un nodrošina interaktīvu, animētu 3D ceļvedi, lai to atrisinātu, izmantojot gandrīz optimālas kustības.
## ✨ Galvenās funkcijas
### 📷 Viedā skenēšanas sistēma
* **Krāsu noteikšana reāllaikā:** Automātiski identificē kuba skaldņu krāsas, izmantojot kameru un pielāgoto `ColorAnalyzer`.
* **Vadīta skenēšana:** Intuitīvs lietotāja interfeiss vada lietotājus cauri visu 6 skaldņu pareizas uztveršanas procesam.
* **Validācijas loģika:** Iebūvētais `CubeValidator` nodrošina, ka skenētais stāvoklis ir fiziski atrisināms pirms turpināšanas.
* **Manuāla korekcija:** Ietver `ColorPickerDialog`, kas ļauj lietotājiem manuāli pielāgot krāsas, ja apgaismojuma apstākļi ietekmē automātisko noteikšanu.
### 🧩 Inteliģentais risinātājs
* **Kociemba algoritms:** Integrē slaveno divfāžu algoritmu (izmantojot *min2phase* bibliotēku), lai atrastu gandrīz optimālus risinājumus, bieži vien pieprasot mazāk nekā 20 gājienus.
* **Ātra lokālā aprēķināšana:** Atrisina sarežģītas sajaukšanas sekundēs tieši ierīcē, neizmantojot tīkla savienojumu.
### 🎥 Interaktīva 3D rokasgrāmata
* **3D vizualizācija:** Piedāvā pilnībā interaktīvu 3D renderējumu (`Cube3DView`), kas precīzi atdarina reālā kuba stāvokli.
* **Soli pa solim animācija:** Lietotāji var atskaņot, apturēt un pārskatīt risinājuma gājienus savā tempā.
## 🛠 Tehniskie jaunumi
* **Moderns Android steks:** Izveidots pilnībā, izmantojot Kotlin un Jetpack Compose (3. materiāls).
* **Izturīga arhitektūra:** Ievēro tīras arhitektūras principus, izmantojot MVVM modeļus, Hilt atkarību injekcijai un korutīnas asinhronām darbībām.
* **CameraX:** Ievieš stabilu un efektīvu kameras pamatu tiešraides priekšskatīšanai un attēlu analīzei.
* **SceneView:** Izmanto SceneView bibliotēku augstas veiktspējas 3D renderēšanai.
## 🐛 Zināmas problēmas / TODO
* Optimizē krāsu noteikšanas sliekšņus, lai labāk apstrādātu ekstremālus apgaismojuma apstākļus.
* Automatizē "min2phase" bibliotēkas integrāciju (pašlaik iekļauta kā manuāli avota faili).
Atjaunināta
2026. gada 6. janv.