One less known use case for this is creating animated UI demos, which as a dev I find harder to do using video editing software.<p>I used it to create the simple demo on the rcmd frontpage: <a href="https://lowtechguys.com/rcmd" rel="nofollow noreferrer">https://lowtechguys.com/rcmd</a><p>This is the code, where I'm just animating elements of an SVG I previously created with Sketch: <a href="https://github.com/FuzzyIdeas/lowtechguys/blob/main/src/rcmd/index.plim#L211-L379">https://github.com/FuzzyIdeas/lowtechguys/blob/main/src/rcmd...</a><p>I'm also doing the same thing for the Lunar frontpage: <a href="https://lunar.fyi/" rel="nofollow noreferrer">https://lunar.fyi/</a><p>But because Lunar's demo is a lot more resource intensive, I pre-rendered it into a video, and heavily optimized it for each screen size, in H.265, WEBM and H.264.<p>One of the biggest hurdles in Lunar's case was how to make the video have transparent regions. With Anime.js you are able to animate individual elements, placed around static text and buttons, which you can't do with videos.<p>Alpha support in videos is not so good, so I had to create a full-page video (in both portrait and landscape) with the right background color, and placed it as a background layer with a low z-index.<p>Finding the right video compression parameters to avoid background grain was not easy.