Dual Range Slider: Crossing sides is really just recomputing roles each frame
A walk through the dual-range slider on this site. The finger drags one scalar; the other end freezes as an anchor. lower / upper are not handle identities — they are roles assigned every frame.