…in reply to @404boyfriend
    Or more accurately, it's one RAF loop that runs a render function that does all that other stuff for every image that's targeted — first checking an IntersectionObserver to make sure the image is on screen and worth animating.