I used my custom solver to find every possible solution as a set cover problem, then among those search for an optimal solution by frame count. I'm fairly confident that this is optimal but I had to make some changes to my algorithm mid-TAS so I will go over the first half of the game again for any possible improvements.