## 🚀 Обзор
**CubeEye** — это продвинутое приложение для Android, предназначенное для решения кубика Рубика 3x3. Оно использует компьютерное зрение для сканирования физического кубика и предоставляет интерактивное анимированное 3D-руководство для его решения с использованием почти оптимальных ходов.
## ✨ Ключевые особенности
### 📷 Интеллектуальная система сканирования
* **Определение цвета в реальном времени:** Автоматически определяет цвета граней кубика с помощью камеры через пользовательский `ColorAnalyzer`.
* **Пошаговое сканирование:** Интуитивно понятный интерфейс помогает пользователям правильно запечатлеть все 6 граней.
* **Логика проверки:** Встроенный `CubeValidator` гарантирует физическую разрешимость отсканированного состояния перед продолжением.
* **Ручная коррекция:** Включает `ColorPickerDialog`, позволяющий пользователям вручную корректировать цвета, если условия освещения влияют на автоматическое определение.
### 🧩 Интеллектуальный решатель
* **Алгоритм Коциембы:** Интегрирует известный двухфазный алгоритм (через библиотеку *min2phase*) для поиска почти оптимальных решений, часто требующих менее 20 ходов.
* **Быстрые локальные вычисления:** Решает сложные задачи по сборке кубика за секунды непосредственно на устройстве без необходимости подключения к сети.
### 🎥 Интерактивное 3D-руководство
* **3D-визуализация:** Имеет полностью интерактивный 3D-рендеринг («Cube3DView»), который точно имитирует состояние реального кубика.
* **Пошаговая анимация:** Пользователи могут воспроизводить, приостанавливать и перематывать ходы решения в удобном для них темпе.
## 🛠 Технические особенности
* **Современный стек Android:** Полностью разработан с использованием Kotlin и Jetpack Compose (Material 3).
* **Надежная архитектура:** Следует принципам чистой архитектуры, используя шаблоны MVVM, Hilt для внедрения зависимостей и сопрограммы для асинхронных операций.
* **CameraX:** Реализует стабильную и эффективную основу для камеры для предварительного просмотра в реальном времени и анализа изображений.
* **SceneView:** Использует библиотеку SceneView для высокопроизводительного 3D-рендеринга.
## 🐛 Известные проблемы / TODO
* Оптимизировать пороги обнаружения цвета для лучшей обработки экстремальных условий освещения.
* Автоматизировать интеграцию библиотеки "min2phase" (в настоящее время включена в виде исходных файлов, созданных вручную).
Последнее обновление
6 янв. 2026 г.