User feedback: 'anchorpoints sind hüftgelenke und können sich nicht
frei drehen. hüfte bleibt zum körper statisch'.
Architecture:
- legs.parent = body (was lower_control). Hip position cascades from
body.world.rot, so hips stay at body-frame left/right regardless of
body rotation. lower_control virtual bone removed (no longer needed).
- Procedural 'leg_orientation' sets leg.local.rot = walk_dir - body.rot
each frame, so leg.world.rot = walk_dir (independent of body cascade).
Requires puppet v0.4.2 per-channel write_bone (walk_anim writes leg.scl
while procedural writes leg.rot — disjoint channels).
Result: legs visually attach at body's anatomical left/right hips no
matter where body faces; stride oscillation aligns with WASD walk
direction. Hip position no longer drifts with walk direction.