I would love to see some hints in the chapter for what some clever improvements here might be.

Example: Intiutively it feels like we could use signed_distance_bound to skip over some pixels at `y +/- b` as well. 
Is that practical? If yes, how much more complex is it? If no, why not?

I think a short discussion would give great insight into time/space/complexity tradeoffs in software architecture