Быстрое и простое решение состоит в том, чтобы
- расположить мозаику по экрану вдоль фиксированной сетки
- хранить плитки отдельно, проиндексированные сильным хешем (чтобы исключить дублирование даже между пользователями)
- сохранить весь экран в виде двумерного массива хэшей тайлов
- восстановить исходный экран в браузере из хэшированных плиток.
Переход с одного экрана на другой, очень похожий, может быть связан с загрузкой всего нескольких плиток, поэтому есть сжатие.
Реализуйте простую схему подсчета ссылок для повторного удаления плиток.Возможно, вы даже захотите разделить части экрана между пользователями, чтобы еще больше сократить объем хранилища.
Поэкспериментируйте с различными размерами плиток, чтобы выяснить, какой из них работает лучше всего;это может зависеть от разрешения экрана, активности пользователя и графического формата, используемого для хранения элементов.
Обработка изображений в Python может выполняться с помощью PIL .