Two fixes from manual interactive verification after iteration-3: 1. Head 90° CCW off → removed sprite_rot=-90 from head bone. The v0.3.3 sprite_rot fix was based on misobservation: at that point the persistent-state-rate-limit bug was active and head was wiggling within ±10° of an arbitrary initial direction, perceived as 90° CW off. With v0.3.2+ persistent-state fix and v0.4.0 slerp, head rotates correctly when sprite-natural-face is -Y (matching body-sprite convention). 2. Legs walked in inverted sector → signed_angle_2d cross-component was using Y-up math convention but Sporel screen-coords are Y-down. With Y-down, what's CCW in math is CW visually. Flipping the cross sign aligns sector selection: body up + player walks right → CW visually → walk_right_lower (was wrongly returning walk_left). Front/back leg-anchor issue (#3 from user report) deferred — likely an optical-overlap artifact from rotated body sprite + world-frame leg positions, will reassess after #1+#2 fixes are visually verified.
11 KiB
11 KiB