## 🚀 Genel Bakış
**CubeEye**, 3x3 Rubik Küplerini çözmek için tasarlanmış gelişmiş bir Android uygulamasıdır. Fiziksel bir küpü taramak için bilgisayar görüşünden yararlanır ve neredeyse en uygun hamleleri kullanarak çözmek için etkileşimli, animasyonlu bir 3B kılavuz sağlar.
## ✨ Temel Özellikler
### 📷 Akıllı Tarama Sistemi
* **Gerçek Zamanlı Renk Algılama:** Özel `ColorAnalyzer` aracılığıyla kamerayı kullanarak küp yüzlerinin renklerini otomatik olarak tanımlar.
* **Yönlendirilmiş Tarama:** Sezgisel bir kullanıcı arayüzü katmanı, kullanıcılara 6 yüzün tamamını doğru şekilde yakalama sürecinde rehberlik eder.
* **Doğrulama Mantığı:** Dahili `CubeValidator`, devam etmeden önce taranan durumun fiziksel olarak çözülebilir olmasını sağlar.
* **Manuel Düzeltme:** Aydınlatma koşulları otomatik algılamayı etkiliyorsa, kullanıcıların renkleri manuel olarak ayarlamasına olanak tanıyan bir `ColorPickerDialog` içerir.
### 🧩 Akıllı Çözümleyici
* **Kociemba Algoritması:** Genellikle 20'den az hamle gerektiren, neredeyse optimum çözümler bulmak için ünlü İki Aşamalı Algoritmayı (*min2phase* kütüphanesi aracılığıyla) entegre eder.
* **Hızlı Yerel Hesaplama:** Ağ bağlantısına ihtiyaç duymadan, karmaşık karıştırma işlemlerini saniyeler içinde doğrudan cihaz üzerinde çözer.
### 🎥 Etkileşimli 3B Kılavuz
* **3B Görselleştirme:** Gerçek küpün durumunu doğru bir şekilde taklit eden tamamen etkileşimli bir 3B render (`Cube3DView`) özelliğine sahiptir.
* **Adım Adım Animasyon:** Kullanıcılar, çözüm hamlelerini kendi hızlarında oynatabilir, durdurabilir ve ileri geri sarabilirler.
## 🛠 Teknik Özellikler
* **Modern Android Teknolojileri:** Tamamen Kotlin ve Jetpack Compose (Material 3) kullanılarak geliştirilmiştir.
* **Sağlam Mimari:** Temiz Mimari prensiplerini takip eder, MVVM desenlerini, bağımlılık enjeksiyonu için Hilt'i ve eşzamansız işlemler için Coroutine'leri kullanır.
* **CameraX:** Canlı önizleme ve görüntü analizi için istikrarlı ve verimli bir kamera altyapısı uygular.
* **SceneView:** Yüksek performanslı 3D renderlama için SceneView kütüphanesini kullanır.
## 🐛 Bilinen Sorunlar / Yapılacaklar
* Aşırı aydınlatma koşullarını daha iyi ele almak için renk algılama eşiklerini optimize edin.
* "min2phase" kütüphanesinin entegrasyonunu otomatikleştirin (şu anda manuel kaynak dosyaları olarak dahil edilmiştir).
Güncellenme tarihi
6 Oca 2026