eframe is reactive by default, so it only repaints on input/animation, mouse moves count as input technically though so you get a pass on hover