Im attempting to make a moon animator 2 file player for ingame cutscenes

problem :
lerping between 2 relative motor6d values is not working correctly

what i do :
each render step i loop trough all predefined keyframes in order of the joint’s layer (how deep it’s connection is in a rig) and lerp them as such:

local default = (joint.Part0.CFrame * joint.C0) -- get the pivot position
local f_last, f_next = default * lastValue:Inverse(), default * nextValue:Inverse() -- multiply the pivot by the inverse of the relative values in order to get a world cframe
local desired = f_last:Lerp(f_next, alpha) -- lerp between the 2 world positions
joint.C1 = desired:Inverse() * default -- multiply the inverse of the desired cframe by the pivot
--[[ Keynotes:
!!! ORDER MATTERS
dont let the multiplication fool you, cframeA * cframeB is not always cframeB * cframeA
i hate motor6d's!
--]]