First look at the jack rafters:

Next I will look at the birds mouth cut of the hip rafters and the soffit cut for both hip and jack rafters, then a bit more testing to see if anything can be broken when the degenerate case (symmetric roof) is calculated.
These is also the case where you might end up with a negative overhang (which doesn't make sense). I should probably include some logic to try and detect this condition and alert the user that the roof configuration is not physically possible.

Next I will look at the birds mouth cut of the hip rafters and the soffit cut for both hip and jack rafters, then a bit more testing to see if anything can be broken when the degenerate case (symmetric roof) is calculated.
These is also the case where you might end up with a negative overhang (which doesn't make sense). I should probably include some logic to try and detect this condition and alert the user that the roof configuration is not physically possible.