## š Gambaran Keseluruhan
**CubeEye** ialah aplikasi Android canggih yang direka untuk menyelesaikan Kiub Rubik 3x3. Ia memanfaatkan visi komputer untuk mengimbas kiub fizikal dan menyediakan panduan 3D animasi interaktif untuk menyelesaikannya menggunakan pergerakan yang hampir optimum.
## ⨠Ciri-ciri Utama
### š· Sistem Pengimbasan Pintar
* **Pengesanan Warna Masa Nyata:** Mengenal pasti warna muka kiub secara automatik menggunakan kamera melalui `ColorAnalyzer` tersuai.
* **Pengimbasan Berpandu:** Lapisan UI intuitif membimbing pengguna melalui proses menangkap semua 6 muka dengan betul.
* **Logik Pengesahan:** `CubeValidator` terbina dalam memastikan keadaan yang diimbas boleh diselesaikan secara fizikal sebelum meneruskan.
* **Pembetulan Manual:** Termasuk `ColorPickerDialog` yang membolehkan pengguna melaraskan warna secara manual jika keadaan pencahayaan menjejaskan pengesanan automatik.
### š§© Penyelesai Pintar
* **Algoritma Kociemba:** Mengintegrasikan Algoritma Dua Fasa yang terkenal (melalui pustaka *min2phase*) untuk mencari penyelesaian yang hampir optimum, selalunya memerlukan kurang daripada 20 pergerakan.
* **Pengiraan Tempatan Pantas:** Menyelesaikan perebutan kompleks dalam beberapa saat terus pada peranti tanpa memerlukan sambungan rangkaian.
### š„ Panduan 3D Interaktif
* **Visualisasi 3D:** Menampilkan pemaparan 3D interaktif sepenuhnya (`Cube3DView`) yang meniru keadaan kiub sebenar dengan tepat.
* **Animasi Langkah demi Langkah:** Pengguna boleh memainkan, menjeda dan menyemak pergerakan penyelesaian pada kadar mereka sendiri.
## š Sorotan Teknikal
* **Timbunan Android Moden:** Dibina sepenuhnya menggunakan Kotlin dan Jetpack Compose (Bahan 3).
* **Senibina Mantap:** Mengikuti prinsip Senibina Bersih, menggunakan corak MVVM, Hilt untuk suntikan kebergantungan dan Coroutine untuk operasi tak segerak.
* **CameraX:** Melaksanakan asas kamera yang stabil dan cekap untuk pratonton langsung dan analisis imej.
* **SceneView:** Menggunakan pustaka SceneView untuk pemaparan 3D berprestasi tinggi.
## š Isu / TDO yang Diketahui
* Optimumkan ambang pengesanan warna untuk mengendalikan keadaan pencahayaan yang ekstrem dengan lebih baik.
* Automatikkan penyepaduan pustaka "min2phase" (kini disertakan sebagai fail sumber manual).
Dikemas kini pada
6 Jan 2026