Wow! Breakout is always fun, and this is one of the prettiest implementations I’ve seen.
There was a point when my ball was moving almost horizontally, and it took kind of a long time to get out of that. Maybe you could add a check when they rebound, like force it some minimum distance from the cardinal directions?