Hey! Yeah, it was tricky. For the outline I used a Line2D with the same shader as I was using for the rest of the line, which included some world-coordinate-based noise.
For filling the polygon, I had to generate the UV coordinates in addition to the positional coordinates for the Polygon2D (which involved determining the max and min x and y positions and then dividing each coordinate by that and multiplying by the texture dimensions, fun stuff). Then, I applied a shader to the texture to get the fill-in effect, which was based on the UV distance from (0.5, 0.5) combined with some world-coordinate-based cellular noise, plus a variable I passed into the shader so I could animate the circle closing.
The effect where the whole area bounces and shrinks uses the Geometry2D offset_polygon function. Geometry2D has a lot of useful utility functions for working with polygons.