// In AE 2020, to offset path value between two linear keyframes, I use:
var pProp = thisProperty;
if (pProp.numKeys > 1 && time > pProp.key(pProp.numKeys).time) {
var t1 = pProp.key(1).time;
var t2 = pProp.key(pProp.numKeys).time;
var span = t2 – t1;
var n = Math.floor((time – t1) / span); var t = (time – t1) % span;
var pStart = pProp.points(t1); var pEnd = pProp.points(t2);
var pNow = pProp.points(t1 + t);
var newPoints = [];
for (var i = 0; i < pNow.length; i++) {
var dx = (pEnd[i][0] – pStart[i][0]) * n;
var dy = (pEnd[i][1] – pStart[i][1]) * n;
newPoints.push([pNow[i][0] + dx, pNow[i][1] + dy]);
}
createPath(newPoints, pProp.inTangents(t1 + t), pProp.outTangents(t1 + t), pProp.isClosed());
} else {
value;
}