Dynamic Crosshair in Widget with smooth transition

There are timelines in widgets, they
just don’t use curves

Do you mean loading external curves? Because widget timelines have always had curves. There are also Triggers and Repeaters, bottom of the post:

This makes the widget animations system work pretty much the same as a Timeline. Repeater fires as often as the TL’s update. And Triggers produce events.