My problem is thus: In our game we're using Spine via the C runtime. We run the game's physics and gameplay logic on a fixed timestep so that the behavior is consistent regardless of framerate. Then when we render, we use objects' velocities to extrapolate their transforms forward by the leftover fraction of the timestep, so we get smooth motion without jitter, regardless of the discrepancy between tick rate and refresh rate. The classic method from https://www.gafferongames.com/post/fix_your_timestep/, basically.
What we'd like to do is use Spine animations to drive certain gameplay logic - for example, attaching a collider to a bone on a skeleton, or triggering a script to run based on an animation event. However, that implies we need to update animations and transforms once per tick instead of once per frame in order to get consistent behavior, which means the animations may not be smooth unless the tick rate is extremely high, or unless we can interpolate or extrapolate between ticks.
What I'm wondering then is, is there any good built-in or otherwise reasonably easy way to extrapolate the animations for the purpose of rendering? Or, alternatively, is there a way to clone an existing skeleton and animation state? That way each frame we could clone the rig, simulate the clone forward a fraction of a tick, then render the clone and throw it away, which would effectively be an even more accurate/robust kind of extrapolation.