Why generated animation slides, and what actually fixes it
Foot sliding is not a rendering artefact or a frame-rate problem. It is what happens when you copy joint angles between two skeletons with different leg lengths and never check where the foot ended up.
A motion model outputs joint rotations for a skeleton with human proportions. R15 legs are shorter relative to the torso and the hip is in a different place. Apply those same rotations to R15 and the foot lands somewhere else in world space than it did on the source skeleton — a few centimetres per frame, in a direction that changes as the leg swings.
Played back, that error reads as the character skating across the floor. The pose looks broadly right, which is exactly why it is so easy to ship by accident: nothing about a single frame looks wrong.
The fix is to stop treating the foot as an output. Detect, on the source motion, the frames where each foot is planted. Those contact windows are the ground truth. During the bake, the planted foot is pinned in world space for the whole window, and the leg chain is solved backwards from it — hip and knee are whatever they need to be to keep that foot still.
This is why the preview shows a contact track under the timeline. If a contact window is wrong — a foot released one frame early during toe-off, say — you can see it before you bake, rather than discovering it when a player watches your NPC moonwalk across a lobby.