TL;DR — как устроен Riff
Развёрнутые объяснения устройства Riff простым языком. FAQ отвечает на короткие практические вопросы; здесь можно разобраться, как работает отдельная часть приложения и зачем нужны её основные решения.
Технические вопросы
Зачем FlatBuffers, два процесса, крупные кнопки, калибровка банковской картой и вероятностный AI-подбор на недорогой магнитоле.
Альбомы и Singles: реализованная FSM
Реализованная классификация альбомов и Singles: прежние веса, нумерация имён, основы версий, признаки DJ-сетов, FILF и TTL публикаций.
Чтобы можно было просто слушать
Музыка играет, пока проверяются новые файлы; незаконченный каталог не мешает слушать, место сохраняется, а очередь остаётся предсказуемой.
Взаимодействие Player и Indexer
Роли процессов, AIDL и Binder, подтверждения команд, передача библиотеки и восстановление после сбоев.
Вероятностный подбор музыки
Признаки, оценки, история, температура и выбор очереди без повторов: объяснение с формулами и примерами.
Объяснения описывают принятую архитектуру и ссылаются на её контракты. Сведения о конкретной поставке и проверках находятся отдельно в документации проекта.