Об этом проекте

Lunchbox — кроссплатформенное приложение, разработанное как игровой браузер, менеджер коллекций и фронтенд эмуляторов. Созданное на Rust с использованием CXX-Qt и QML, оно обеспечивает нативный десктопный опыт, отличный от предыдущей версии на Electron. Программа следует архитектуре «сначала приобретение», уделяя приоритетное внимание управлению и получению игровых коллекций наряду с возможностями эмуляции. Ключевые особенности: - **Нативный фронтенд Qt**: использует Rust и QML для высокой производительности и нативного внешнего вида в Windows, macOS и Linux. Поддерживает виртуализированные представления для больших библиотек, ускоренную прокрутку и сохранение состояния, включая расположение окон и фильтры. - **Couch Mode**: полноэкранный интерфейс, оптимизированный для клавиатуры и геймпада, для использования в гостиной на телевизоре. Сохраняет выбор игры между перезапусками, поддерживает выбор платформы и коллекции, включает режим Attract Mode для простаивающего дисплея. Также обрабатывает воспроизведение кэшированных медиа и настройку тем через декларативные пакеты `.lunchbox-theme`. - **Управление играми и приобретение**: интегрируется с qBittorrent для загрузки игр через торренты или magnet-ссылки. Поддерживает индекс пакетов Minerva для курируемых приобретений и позволяет пользователям добавлять собственные торрент-источники. Система проверяет выбор файлов перед загрузкой, обрабатывает наборы из нескольких дисков и управляет процессами импорта с возможностью паузы, возобновления и повтора. - **Метаданные и инструменты библиотеки**: предоставляет расширенное редактирование метаданных для названий, описаний, жанров и пользовательских полей. Может получать онлайн-метаданные из IGDB или ScreenScraper с проверкой пользователем. Включает умные коллекции на основе тегов и правил, обработку регионов и версий для региональных выпусков, а также рекомендательный движок «More Like This». - **Интеграция эмуляторов**: обнаруживает установленные автономные эмуляторы (такие как RetroArch, DOSBox, MAME) и ядра. Поддерживает сложные конфигурации запуска, включая архивы eXoDOS/eXoWin3x/eXoWin9x, которые подготавливаются и кэшируются локально. Обрабатывает различные типы медиа, включая лазердиски (Hypseus/Daphne) и аркадные системы. - **Поддержка контроллеров**: использует GilRs для кроссплатформенного ввода с контроллеров, поддерживая горячее подключение, аналоговые мертвые зоны и переназначение. Включает решатель правил компоновки для калиброванных сопоставлений эмуляторов на различных аппаратных конфигурациях. - **Настройки и портативность**: позволяет настраивать хранилище ROM, торрент-клиенты и поставщиков медиа. Поддерживает экспорт портативных резервных копий `.lunchbox-profile`, включающих состояние коллекции и темы, за исключением конфиденциальных данных, таких как ROM и секреты. Профили проверяются при восстановлении для обеспечения целостности. Приложение разделяет идентичность каталога и предложения по приобретению, гарантируя, что загруженный контент не изменяет структуру основной библиотеки, если только это не управляется явно пользователем. Оно стремится обеспечить надежную, безопасную и многофункциональную среду для энтузиастов ПК-игр.