Картинка в пазл

Реализуйте библиотеку для превращения картинок в пазлы.

Основные возможности проекта

Функциональность библиотеки

Библиотека должна предоставлять следующие возможности:

Параметры настройки

При создании пазла можно задавать параметры:

Структура пазла

Пазл должен отображаться на canvas. При разбиении на фрагменты каждый фрагмент помещается в отдельную ячейку сетки. Фрагменты можно перетаскивать, меняя их местами. При правильной сборке все фрагменты становятся на свои места и отображается картинка целиком.

Интерактивность

Взаимодействие с пазлом через мышь:

Использование библиотеки

Пример использования библиотеки:

События

Библиотека должна генерировать события:

Публикация на GitHub

Библиотека должна быть выложена на GitHub с:

Тестирование

Библиотека должна быть протестирована на:

Дополнительные возможности