смотрел с телефона, выглядит норм, но не хватает интерактивности, имхо
p.s. работу в СПб рассматриваете? если да, то:
1. хотелось бы увидеть исходники портфолио
2. как у Вас с js?
в личке телега и скайп, пишите, если интересно
если опция verifyClient установлена, то она должна быть функцией, которая либо возвращает true/false (принимать рукопожатие или нет) либо вызывать колбэк из 2 аргумента https://github.com/websockets/ws/blob/master/doc/ws.md
Canvas в разы шустрее SVG и тем более DOM
CSS анимация построена на перерисовке DOM, она никак не может быть быстрее
P.S. был у меня реальный случай, когда на одной странице одновременно отрисовывался webGL и CSS-transition, первый выдавал 30-40fps, второй заметно пролагивал
Для 3D используют либы типа Three.js или Blender4Web ну или если критична производительность, то напрямую работают с webGL, делая большую часть геометрии непосредственно в шейдерах
Для 2D - canvas 2d / svg
Для отслеживания попадания элемента во вьюпорт есть IntersectionObserver https://developer.mozilla.org/ru/docs/Web/API/Inte...
Ну и саму анимацию стоит вынести в отдельный css класс, и вешать его, когда нужно запускать анимацию
IE официально deprecated и те кто его используют вряд ли принесут Вам прибыль, так что вполне можно ориентироваться на Edge у которого проблем значительно меньше, а так на IE10+ практически все лечится с помощью polyfill.io
А вот на что из динозавров действительно стоит обратить внимание - Safari, я лично 8+ стараюсь поддерживать, который в свою очередь так же лечится polyfill.io
По сути на рисунке функция x = a * sin(b * y)
Ставим начало координат в центр канваса, анимируем меняя коэфицент b в определенных диапазонах (нужно подбирать экспериментально)