Here's a breakdown of the ending shot animation and compositing, showing how I pulled it all together. Most of the animation is entirely procedural, which I find super cool.
Previously, I'd recreated the famous shot of the red sea from End of Evangelion in After Effects (just to see if I could, maybe I'll post it later), so I knew I could pull off the caustics animation. Still, the whole thing turned out better than I'd imagined!

I started off with a Cell Pattern effect (which is essentially a procedural voronoi texture). It's a good base for caustics, especially anime style ones. I also gave it had it slowly scroll upwards overtime, to give it a bit of motion.

Next, I threw on a Turbulent Displacement effect, as well as throwing some fractal on top of it, to give it some randomness with the motion. You need to be careful with the Turbulent Displacement effect, because the effect is very obvious as Turbulent Displacement, so it took some tweaking to get a result I was happy with.

I squashed the image vertically A LOT, and used the Corner Pin effect to give it the illusion of perspective. In hindsight, I probably could've achieved the same effect (at less cost to my CPU) by simply making the pattern layer into a 3D layer and rotating it on along X. Oh well.

I threw some gradients on top to affect the white values. Since I intend on crushing the levels on this later, this will allow me to achieve thicker lines where it's brighter, and thinner lines where it's darker.

To get this rippling, horizontal displacement, I created a hidden solid with Fractal Noise effect, with the width scaled up so it is mostly a horizontal noise. Then, I used the Displacement Map effect on and adjustment layer, using only horizontal displacement.

Then, using a Levels effect, I crushed the blacks and whites to solidify the lines. I also through on a Transform effect and stretched the whole image slightly in width, to fix the errors on the edges caused by the displacement.

Then, in a new comp, I laid out the base gradients for the background.

I used the Caustics texture I created earlier as a luma map to add in the black caustics on top. Looking pretty sweet.

I did some further manipulation of the caustics texture with Roughen Edges and Matte Choker effect, till I got a result I liked.

I dropped in the moon I'd painted in Krita (you can check out the stream where I did that) and gave it some nice glow.

To get the moon's reflection, I started with a simple Circle effect on a new layer.

Using the same technique for the horizontal ripple distortion on the caustics, I added in some Displacement Map effects to get the right motion.

I made a tiny spotty texture using the Cell Pattern effect and crunching the whites and blacks, and then manually animated it up and around the moon's sides, and then looped that animation and made several copies.

Then I dropped the opacity of the reflection till it looked right.

And finally, I threw on the set of filters I use to get the "Anime Effect", essentially some blurs, glows, gradients, and vignettes, and we have the final result!
I know not many are super interested into this detailed behind the scenes breakdown, but I hope those of you who are enjoyed it (especially if you're trying to do something similar!)