Three fixes to make puppet-test 14/14 assertions pass: 1. build_animation/sample_animation: store and interpolate keyframe angles in degrees (remove premature math.rad conversion). Previously the round-trip math.deg(math.rad(-15)) produced -15.0 which failed strict equality against integer -15 in Lua 5.4. 2. write_bone + update keyframe apply: store angles directly without math.rad conversion; bone_state now uses degrees for keyframe and procedural channels (look_at still stores radians from math.atan). 3. update procedural loop: wrap each callback in pcall, disarm the offending procedural on track-conflict error, then re-raise. This prevents a failed procedural from one puppet leaving other puppets un-updated on subsequent calls.
17 KiB
17 KiB