>>1013339
>>1016005
It worked out quite nicely and is fully procedural. Everything can be changed and animated - size, ring count, offset, rotation, resolution etc.
This is probably not the best method, because it is susceptible to glitches due to the mesh boolean inside geometry nodes. Obviously this method doesn't produce the best topology, but you can get away with it. :D