The heatmap is selecting a little bit differently.
For each cycle, at T-20 i look at the available expiries at that date and select the first expiries after the earning as the short leg, and the following monthly for the long leg.
So between cycles, it might not be exactly the same number of weeks between the legs.
It's possible, but i will have to think about the performance and the storage of all the different combinations.