flutter_freedome 1.0.0
flutter_freedome: ^1.0.0 copied to clipboard
Унифицированная Flutter библиотека для интеграции с купольными кинотеатрами FreeDome
Changelog #
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.0provider: ^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- Мониторинг сетевого подключения
Дополнительные зависимости
hive: ^2.2.3- Локальная база данных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