## 🚀 Pregled
**CubeEye** je napredna aplikacija za Android, zasnovana za reševanje Rubikovih kock 3x3. Za skeniranje fizične kocke uporablja računalniški vid in ponuja interaktivni, animirani 3D-vodnik za reševanje z uporabo skoraj optimalnih potez.
## ✨ Ključne funkcije
### 📷 Pametni sistem skeniranja
* **Zaznavanje barv v realnem času:** Samodejno prepozna barve ploskev kocke s pomočjo kamere prek prilagojenega `ColorAnalyzer`.
* **Vodeno skeniranje:** Intuitiven prekrivni element uporabniškega vmesnika vodi uporabnike skozi postopek pravilnega zajemanja vseh 6 ploskev.
* **Logika validacije:** Vgrajeni `CubeValidator` zagotavlja, da je stanje skeniranja fizično rešljivo, preden se nadaljuje.
* **Ročna korekcija:** Vključuje `ColorPickerDialog`, ki uporabnikom omogoča ročno prilagajanje barv, če svetlobni pogoji vplivajo na samodejno zaznavanje.
### 🧩 Inteligentni reševalec
* **Kociembin algoritem:** Integrira znani dvofazni algoritem (prek knjižnice *min2phase*) za iskanje skoraj optimalnih rešitev, ki pogosto zahtevajo manj kot 20 potez.
* **Hitro lokalno računanje:** Rešuje kompleksne probleme v nekaj sekundah neposredno na napravi brez potrebe po omrežni povezavi.
### 🎥 Interaktivni 3D vodnik
* **3D vizualizacija:** Vsebuje popolnoma interaktiven 3D upodabljanje (`Cube3DView`), ki natančno posnema stanje prave kocke.
* **Animacija po korakih:** Uporabniki lahko predvajajo, začasno ustavijo in se pomikajo po potezah rešitve v svojem tempu.
## 🛠 Tehnične značilnosti
* **Sodobni Android Stack:** V celoti zgrajen z uporabo Kotlina in Jetpack Compose (Material 3).
* **Robustna arhitektura:** Sledi načelom čiste arhitekture, pri čemer uporablja vzorce MVVM, Hilt za vbrizgavanje odvisnosti in korutine za asinhrone operacije.
* **CameraX:** Implementira stabilno in učinkovito osnovo kamere za predogled v živo in analizo slik.
* **SceneView:** Uporablja knjižnico SceneView za visokozmogljivo 3D-upodabljanje.
## 🐛 Znane težave / naloge
* Optimizirajte pragove zaznavanja barv za boljše obvladovanje ekstremnih svetlobnih pogojev.
* Avtomatizirajte integracijo knjižnice »min2phase« (trenutno vključena kot ročne izvorne datoteke).
Posodobljeno dne
6. jan. 2026