It exits if not visible, then hit tests children, then hit tests itself if it's `visible_for_hit_testing()`.