## 🚀 ခြုံငုံသုံးသပ်ချက်
**CubeEye** သည် 3x3 Rubik's Cube များကို ဖြေရှင်းရန် ဒီဇိုင်းထုတ်ထားသော အဆင့်မြင့် Android အပလီကေးရှင်းတစ်ခုဖြစ်သည်။ ၎င်းသည် ရုပ်ပိုင်းဆိုင်ရာ Cube တစ်ခုကို စကင်ဖတ်ရန် ကွန်ပျူတာအမြင်ကို အသုံးပြုပြီး အကောင်းဆုံးနီးပါး ရွေ့လျားမှုများကို အသုံးပြု၍ ဖြေရှင်းရန် အပြန်အလှန်တုံ့ပြန်နိုင်သော၊ animated 3D လမ်းညွှန်ကို ပေးပါသည်။
## ✨ အဓိကအင်္ဂါရပ်များ
### 📷 စမတ်စကင်ဖတ်စနစ်
* **အချိန်နှင့်တပြေးညီ အရောင်ရှာဖွေခြင်း-** စိတ်ကြိုက် `ColorAnalyzer` မှတစ်ဆင့် ကင်မရာကို အသုံးပြု၍ Cube မျက်နှာအရောင်များကို အလိုအလျောက် ခွဲခြားသတ်မှတ်သည်။
* **လမ်းညွှန်စကင်ဖတ်ခြင်း-** အလိုလိုသိနိုင်သော UI overlay သည် မျက်နှာ ၆ ခုလုံးကို မှန်ကန်စွာ ရိုက်ကူးခြင်းလုပ်ငန်းစဉ်ကို အသုံးပြုသူများအား လမ်းညွှန်ပေးသည်။
* **Validation Logic-** built-in `CubeValidator` သည် ဆက်လက်လုပ်ဆောင်ခြင်းမပြုမီ စကင်ဖတ်ထားသော အခြေအနေကို ရုပ်ပိုင်းဆိုင်ရာ ဖြေရှင်းနိုင်ကြောင်း သေချာစေသည်။
* **လက်စွဲပြင်ဆင်ခြင်း-** အလင်းရောင်အခြေအနေများက အလိုအလျောက်ရှာဖွေမှုကို ထိခိုက်စေပါက အသုံးပြုသူများအား အရောင်များကို ကိုယ်တိုင်ချိန်ညှိနိုင်စေမည့် `ColorPickerDialog` ပါဝင်သည်။
### 🧩 ဉာဏ်ရည်ထက်မြက်သော ဖြေရှင်းသူ
* **Kociemba Algorithm:** အကောင်းဆုံးနီးပါးဖြေရှင်းနည်းများကို ရှာဖွေရန် နာမည်ကြီး Two-Phase Algorithm (*min2phase* library မှတစ်ဆင့်) ကို ပေါင်းစပ်ထားပြီး၊ မကြာခဏဆိုသလို လှုပ်ရှားမှု ၂၀ ထက်နည်းသော လှုပ်ရှားမှုများ လိုအပ်ပါသည်။
* **မြန်ဆန်သော ဒေသတွင်းတွက်ချက်မှု:** ကွန်ရက်ချိတ်ဆက်မှုမလိုအပ်ဘဲ စက်ပစ္စည်းပေါ်တွင် ရှုပ်ထွေးသော ရောနှောမှုများကို စက္ကန့်ပိုင်းအတွင်း တိုက်ရိုက်ဖြေရှင်းပေးသည်။
### 🎥 အပြန်အလှန်တုံ့ပြန်နိုင်သော 3D လမ်းညွှန်
* **3D မြင်ယောင်မှု:** အစစ်အမှန် cube ၏အခြေအနေကို တိကျစွာတုပသည့် အပြည့်အဝအပြန်အလှန်တုံ့ပြန်နိုင်သော 3D render (`Cube3DView`) ပါရှိသည်။
* **အဆင့်ဆင့် Animation:** အသုံးပြုသူများသည် ၎င်းတို့၏ကိုယ်ပိုင်အရှိန်အဟုန်ဖြင့် ဖြေရှင်းချက်လှုပ်ရှားမှုများကို ကစားနိုင်သည်၊ ခေတ္တရပ်နိုင်သည်နှင့် scrub လုပ်နိုင်သည်။
## 🛠 နည်းပညာဆိုင်ရာ အဓိကအချက်များ
* **ခေတ်မီ Android Stack:** Kotlin နှင့် Jetpack Compose (Material 3) ကို အသုံးပြု၍ အပြည့်အဝတည်ဆောက်ထားသည်။
* **ခိုင်မာသောဗိသုကာလက်ရာ-** MVVM ပုံစံများ၊ dependency injection အတွက် Hilt နှင့် asynchronous လုပ်ဆောင်ချက်များအတွက် Coroutines များကို အသုံးပြု၍ Clean Architecture မူများကို လိုက်နာသည်။
* **CameraX:** တိုက်ရိုက် preview နှင့် ရုပ်ပုံခွဲခြမ်းစိတ်ဖြာမှုအတွက် တည်ငြိမ်ပြီး ထိရောက်သော ကင်မရာအခြေခံကို အကောင်အထည်ဖော်သည်။
* **SceneView:** မြင့်မားသောစွမ်းဆောင်ရည်ရှိသော 3D rendering အတွက် SceneView library ကို အသုံးပြုသည်။
## 🐛 သိရှိထားသောပြဿနာများ / TODO များ
* အလွန်အမင်းအလင်းရောင်အခြေအနေများကို ပိုမိုကောင်းမွန်စွာကိုင်တွယ်နိုင်ရန် အရောင်ရှာဖွေမှုကန့်သတ်ချက်များကို အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ပါ။
* "min2phase" library (လက်ရှိတွင် manual source files အဖြစ်ထည့်သွင်းထားသည်) ၏ ပေါင်းစပ်မှုကို အလိုအလျောက်လုပ်ဆောင်ပါ။
အပ်ဒိတ်လုပ်ခဲ့သည့်ရက်
၂၀၂၆ ဇန် ၆