## 🚀 Visão Geral
**CubeEye** é um aplicativo avançado para Android projetado para resolver Cubos de Rubik 3x3. Ele utiliza visão computacional para escanear um cubo físico e fornece um guia 3D interativo e animado para resolvê-lo usando movimentos quase ideais.
## ✨ Principais Recursos
### 📷 Sistema de Escaneamento Inteligente
* **Detecção de Cores em Tempo Real:** Identifica automaticamente as cores das faces do cubo usando a câmera através do `ColorAnalyzer` personalizado.
* **Escaneamento Guiado:** Uma interface de usuário intuitiva guia os usuários durante o processo de captura correta de todas as 6 faces.
* **Lógica de Validação:** O `CubeValidator` integrado garante que o estado escaneado seja fisicamente solucionável antes de prosseguir.
* **Correção Manual:** Inclui um `ColorPickerDialog` que permite aos usuários ajustar manualmente as cores caso as condições de iluminação afetem a detecção automática.
### 🧩 Solucionador Inteligente
* **Algoritmo de Kociemba:** Integra o famoso Algoritmo de Duas Fases (através da biblioteca *min2phase*) para encontrar soluções quase ótimas, muitas vezes exigindo menos de 20 movimentos.
* **Computação Local Rápida:** Resolve embaralhamentos complexos em segundos diretamente no dispositivo, sem a necessidade de conexão de rede.
### 🎥 Guia 3D Interativo
* **Visualização 3D:** Apresenta uma renderização 3D totalmente interativa (`Cube3DView`) que simula com precisão o estado real do cubo.
* **Animação Passo a Passo:** Os usuários podem reproduzir, pausar e avançar/retroceder os movimentos da solução no seu próprio ritmo.
## 🛠 Destaques Técnicos
* **Pilha Android Moderna:** Construído inteiramente usando Kotlin e Jetpack Compose (Material 3).
* **Arquitetura Robusta:** Segue os princípios da Arquitetura Limpa, utilizando padrões MVVM, Hilt para injeção de dependência e Coroutines para operações assíncronas.
* **CameraX:** Implementa uma base de câmera estável e eficiente para visualização ao vivo e análise de imagem.
* **SceneView:** Utiliza a biblioteca SceneView para renderização 3D de alto desempenho.
## 🐛 Problemas Conhecidos / Tarefas a Fazer
* Otimizar os limites de detecção de cores para melhor lidar com condições extremas de iluminação.
* Automatizar a integração da biblioteca "min2phase" (atualmente incluída como arquivos de origem manuais).