Как можно добавлять сложнейшие анимации, которые на CSS+JS не написать?
В браузере могут отображаться анимации таких видов:
- видео
- анимированный gif, чаще всего зацикленный
- canvas - посредством JavaScript
- WebGL
- svg - посредством JavaScript
- анимированные средствами CSS и JavaScript элементы, в т.ч. svg
Первые два варианта - "растровые". Теоретически можно отрисовать всё угодно, с точностью до пикселя. Готовить анимацию любыми инструментами для анимации. Выводить в видео или gif.
В canvas скорее будет анимация «спрайтовая». Ограниченное число маленьких картинок двигаются.
SVG – векторная графика. Там, скорее, будут элементы с чёткими контурами двигаться/поворачиваться. Но вовсе не обязательно только это.