Повторяем профиль Телеграма, используя Metaballs

Я потратил много времени, чтобы разобраться, как работает анимация аватара с Dynamic Island в Telegram.
Затем я реализовал её на Flutter с помощью metaballs и шейдеров 🚀

Я потратил много времени, чтобы разобраться, как работает анимация аватара с Dynamic Island в Telegram.
Затем я реализовал её на Flutter с помощью metaballs и шейдеров 🚀

Ниже — разбор алгоритма, который рисует аккуратную "плашку" под выделенным текстом, даже если текст переносится на несколько строк.
Пример кода в проекте сделан на Flutter, но сама идея не привязана к Dart.
Весь код и текст этой статьи можно найти тут на GitHub.

Как в 2ГИС/Яндекс.Картах/Google Maps аккуратно смещать камеру и маркер в “сцену” при нажатии, даже когда карта повернута: определить видимую область, проверить положение точки, вычислить сцену с учётом паддингов, при необходимости сдвинуть или центрировать маркер.
С математическими расчетами и картинками.