Optimize invalidation to only recalculate visible sections
Support for custom min and max hour, as well as interval.