flutter_freedome 2.0.0+1
flutter_freedome: ^2.0.0+1 copied to clipboard
Унифицированная Flutter библиотека для интеграции с купольными кинотеатрами FreeDome
Changelog #
2.0.0+1 - 2025-01-27 #
🔄 Обновления зависимостей (2025) #
- Обновлен socket_io_client до ^3.1.2 для совместимости с современными WebSocket соединениями
- Обновлены все основные зависимости до версий 2025 года
- Повышены требования к SDK до >=3.5.0 для использования новых возможностей
- Обновлен Flutter до >=3.24.0 для поддержки последних фич
🐛 Исправления #
- Устранены конфликты экспортов между пакетами
- Исправлены проблемы с дублированными типами DomeSystemType и FreeDomePermission
- Улучшена совместимость с новыми версиями Flutter SDK
📦 Изменения в зависимостях #
- Заменены path зависимости на hosted версии для корректной публикации
- Обновлены dev зависимости для совместимости с новыми версиями
1.0.1 - 2025-09-19 #
🔄 Обновления зависимостей #
- Обновлен web_socket_channel до ^3.0.3 для совместимости с новыми проектами
- Обновлен device_info_plus до ^12.1.0 для поддержки последних версий
- Обновлен connectivity_plus до ^6.0.5 для улучшенной работы с сетью
- Обновлены HTTP зависимости (dio ^5.4.3, http ^1.2.1)
🐛 Исправления #
- Устранены конфликты версий зависимостей при интеграции в существующие проекты
- Улучшена совместимость с Flutter 3.16+
1.0.0 - 2025-09-19 #
🎉 Первый релиз Flutter FreeDome #
✨ Новые возможности
🎭 Гостевой режим
- Автоматическое обнаружение купольных систем FreeDome в локальной сети
- Воспроизведение контента любых Flutter приложений на купольном экране
- Базовые настройки громкости и яркости проекции
- Простой API для быстрой интеграции:
FlutterFreeDome.quickPlay()
- Готовые UI виджеты для управления подключением и воспроизведением
🔧 Режим администратора
- Система аутентификации с поддержкой ролей (Guest, Operator, Admin, Superadmin)
- Полная калибровка аудио и видео систем
- Управление проекторами с настройкой яркости, контрастности и выравнивания
- Калибровка аудиоканалов с поддержкой микрофонов и Room EQ Wizard
- Системное администрирование с мониторингом метрик и диагностикой
- Поддержка вендоров (Digistar, DomeMaster, IMAX Dome)
🏗️ Архитектура и API
- Модульная структура с разделением на core, guest и admin модули
- FreeDomeProvider - главная точка входа с Provider pattern
- ConnectionService - управление подключениями и обнаружением систем
- AuthService - аутентификация и управление ролями
- ContentService - управление библиотекой контента и воспроизведением
- CalibrationService - сервис калибровки (только для администраторов)
- SystemService - системное управление (только для администраторов)
📱 Готовые виджеты
- FreeDomeConnectionWidget - управление подключением к куполам
- FreeDomeContentPlayer - плеер контента с элементами управления
- FreeDomeStatusIndicator - индикатор статуса подключения
- FreeDomeDetailedStatus - подробная информация о системе
🎯 Поддержка контента
- Интерактивный контент от Flutter приложений
- Контент в реальном времени (streaming, WebRTC)
- Множественные форматы проекции (Equirectangular, Fisheye, Fulldome, Cubemap)
- Библиотека контента с поиском и управлением
- Плейлисты с поддержкой различных режимов воспроизведения
🔒 Безопасность
- Система разрешений с детальным контролем доступа
- Безопасное хранение токенов в FlutterSecureStorage
- JWT аутентификация с хэшированием паролей
- Сессии с автоматическим продлением и логированием
🌐 Поддержка платформ
- ✅ Android (API 21+)
- ✅ iOS (iOS 11.0+)
- ✅ Web (Chrome, Firefox, Safari)
- ✅ Windows (Windows 10+)
- ✅ macOS (macOS 10.14+)
- ✅ Linux (Ubuntu 18.04+)
🛠️ Инфраструктура
- Автоматическая генерация кода с Freezed и JsonSerializable
- Comprehensive testing с unit и integration тестами
- Подробная документация с примерами использования
- Пример приложения демонстрирующий все возможности
📦 Зависимости
Основные зависимости
flutter: >=3.10.0
provider: ^6.1.1
- State managementdio: ^5.4.0
- HTTP клиентsocket_io_client: ^2.0.3+1
- WebSocket соединенияshared_preferences: ^2.2.2
- Локальное хранение настроекflutter_secure_storage: ^9.0.0
- Безопасное хранение токеновconnectivity_plus: ^5.0.2
- Мониторинг сетевого подключения
Дополнительные зависимости
isar: ^3.1.0+1
- Современная локальная база данныхsqflite: ^2.3.0
- SQLite для структурированных данныхsensors_plus: ^4.0.2
- Доступ к датчикам устройстваjust_audio: ^0.9.37
- Аудио воспроизведениеpermission_handler: ^11.3.0
- Управление разрешениямиdevice_info_plus: ^10.1.0
- Информация об устройстве
Dev зависимости
build_runner: ^2.4.7
- Генерация кодаfreezed: ^2.4.6
- Immutable классыjson_serializable: ^6.7.1
- JSON сериализацияmockito: ^5.4.4
- Мокирование для тестов
🎯 Примеры использования
Быстрый старт
// Самый простой способ
await FlutterFreeDome.quickPlay(
appName: 'MyApp',
contentName: 'Мой контент',
appData: {'type': 'visualization'},
);
Полная интеграция
// Инициализация
final freedome = FreeDomeProvider();
await freedome.initialize();
// Подключение к куполу
await freedome.connectToNearestDome();
// Воспроизведение контента
await freedome.playAppContent(
appName: 'StarrySkr',
contentName: 'Звездное небо',
appData: {'type': 'starfield'},
);
Административный режим
// Аутентификация
await freedome.authenticateAsAdmin(
username: 'admin',
password: 'password',
);
// Калибровка аудио
await freedome.calibration?.startAudioCalibration();
// Системная диагностика
final health = await freedome.system?.getSystemHealth();
📋 Системные требования
Минимальные
- Flutter 3.10.0+
- Dart 3.0.0+
- FreeDome Core 2.0+
Рекомендуемые
- Flutter 3.16.0+
- Dart 3.2.0+
- FreeDome Core 2.5+
🔄 Миграция
Это первый релиз библиотеки, миграция не требуется.
🐛 Известные проблемы
- Калибровка проекторов может занимать до 30 минут для полного цикла
- WebSocket соединения могут требовать переподключения после длительного бездействия
- Некоторые старые версии FreeDome Core (< 2.0) могут иметь ограниченную совместимость
🙏 Благодарности
Спасибо всем, кто помогал в разработке первой версии:
- Команде FreeDome за техническую поддержку API
- Flutter сообществу за отличные библиотеки
- Бета-тестерам за обратную связь
Полная документация: https://pub.dev/packages/flutter_freedome Исходный код: https://github.com/nativemind/flutter_freedome Поддержка: support@nativemind.ru