I would like to see the ability to toggle absolute/relative position of the start/end points of a gradient.
The current system has you pick an x/y position within the composition (absolute values). I would like the option within the effect itself to use these composition coordinates or lock them with the layer (relative positioning) so that - when moving the layer's position - it doesn't fly through the gradient.
Yes, I know an easy expression can handle this. For example:
x=transform.position[0];
y=transform.position[1]-100;
[x,y]
The point at which it becomes tricky is when layers are parented to each other. The child's layer position becomes relative to the parent layer's position, the expression would effectively revert the effect to an absolute position. Yes, you can add other expression controls to make the "offset" variable (instead of "100" in the above expression), but depending on how many layers you're working with, this becomes a large time suck.
My thought is to have a simple drop-down next to the "Position" settings within the effect to be Absolute (to Comp) or Relative (to Layer). Then you could specify the ± x/y where you want the gradient to begin/end.
I've added two reference animations in case I'm not communicating properly.
First, in gradient_test, the "relative" version utilized the expression above (with different y offsets) for the gradient's begin/end.
In gradient_test_2, both layers are utilizing the basic expression above (with different offsets for y), but the child layer looks like it's absolute due to the position properties being relative to the parent layer.