I have the following block inside a bodymovin json file
{
"ty": "tr",
"p": { "a": 0, "k": [0, 0], "ix": 2 },
"a": { "a": 0, "k": [0, 0], "ix": 1 },
"s": { "a": 0, "k": [100, 100], "ix": 3 },
"r": { "a": 0, "k": 0, "ix": 6 },
"o": {
"a": 1,
"k": [
{
"i": { "x": [0.833], "y": [0.833] },
"o": { "x": [0.167], "y": [0.167] },
"t": 0,
"s": [100],
"__fnct": [null]
},
{ "t": 15, "s": [0] }
],
"ix": 7,
"x": "var $bm_rt;\nvar dur, outDur;\ndur = 5;\noutDur = 0.5;\n$bm_rt = valueAtTime($bm_sum($bm_sub(time, dur), outDur));"
},
"sk": { "a": 0, "k": 0, "ix": 4 },
"sa": { "a": 0, "k": 0, "ix": 5 },
"nm": "Transform",
"_render": true
}
the opacity property contains an expression and specifically the "valueAtTime" expression. This valueAtTime operates on two keyframes inside this block. {0, 100} and {15,0}.
Inside the Animator.cpp, the function AnimatablePropertyContainer::bindImpl disregards and never parses the keyframes (it just handles expressions on the property) so they are left untracked.
Is there an elegant way to track those abandoned keyframes and retrieve them back in user code so that when I'm using expression manager I could pass them to my implementation of 'valueAtTime' ?