Wow, great work with this version.
Can you explain more how the adaptive shift works? Do you just use a threshold where you decide to move if the shadow width is too small?
Close. The adaptive shift works by finding the minimum amount of shift required for a successful shielding. There is a threshold, though, which is set by experience to decide whether a successful shielding is possible. And that's also the part to be potentially improved.