From your screenshot it looks like the condition in line 21 "(time <= (inPoint + actualDuration) / 2)" is somehow wrong.
It looks like this is satisfied for all frames until the abrupt jump after 3s.
Not sure about the meaning of your vars transition, actualDuration etc, but maybe you want "(time <= (inPoint + transition) / 2)"?
Thank you for replying.
I have been using Ease and Wizz as a reference, but I cannot use it directly because one of objectives for this project to not use keyframes, only interpolation, so that we can adjust the transition length and also the duration of the entire animation through live text template in Premiere Pro.
The condition, as far as I know, is correct because it's supposed to play transition in if current time <= (defined duration / 2) and play transition out if it's not.
I'm sorry if the information is not complete, I'll explain the variables in more detail.
var transition (a) is the defined length of transitions in and out, it gets its value from a text layer, which the video editors can access using Premiere Pro. Let's give it an example: 1
var duration (b) is the defined length of the static part of the animation before transition out plays, also like the above, gets its value from a text layer. Let's give it an example: 2
var startDuration is 0 + a the point in time transition in finishes. // 1
var actualDuration is (0 + a) + b + a, which defines the total length of the animation // 4
var endDuration is ((0 +a) + b + a) - a the point in time transition in starts // 3
if done correctly, it should give me a transition in for 1 second, hold for 2 seconds, play transition out for 1 second.
I hope that clarifies things a little. Sorry for my English, it's not my first language.