Skip to content

Improve procedural animation quality and flag animations in progress - #55

Merged
a-baran-orhan merged 2 commits into
mainfrom
codex/animation-review-labels
Jul 14, 2026
Merged

Improve procedural animation quality and flag animations in progress#55
a-baran-orhan merged 2 commits into
mainfrom
codex/animation-review-labels

Conversation

@a-baran-orhan

Copy link
Copy Markdown
Member

Description

This PR addresses the shared animation-quality patterns found across the reviewed movements and clearly labels animations that still need refinement.

What changed

  • Replaced joint quaternion waypoint interpolation with time-aware, monotone interpolation of Posecode's authored anatomical Euler channels.
  • Preserved smooth root travel and expanded dance choreography with clearer weight shifts and intermediate poses.
  • Removed automatic loop-reset time when a movement already returns to its start pose.
  • Blended reach constraints and floor-palm orientation across phase boundaries instead of switching them on and off in one frame.
  • Added regression coverage for large reversing arcs, conditional loop resets, and reach blending.
  • Replaced In development with Animation in Progress and the message: “This move is available, but its animation is still being refined.”
  • Applied that state to the 17 reviewed movements and migrated the 8 movements already using the old state.

Root cause

The reviewed movements share renderer-level failure patterns rather than one isolated authoring problem:

  1. Large joint reversals such as 0° → 160° → 0° were ambiguous on a quaternion sphere. The spline could interpret the return as continuing through a hidden full rotation, leaving the limb near neutral for most of the phase and then flipping through ±180°.
  2. Every animation received a full reset segment, even when the final authored phase was already the start pose. Many two-phase movements therefore spent about one-third of each loop idle.
  3. Reach/contact constraints were binary. Cross-body and floor reaches could snap fully into IK on the first frame of a phase and disappear on the next boundary.
  4. Several dance phrases needed intermediate weight-transfer poses; the updated choreography works with smoother root interpolation.

The fix is general: the DSL remains the source of anatomical intent, while interpolation and contact solving now preserve that intent continuously.

Impact

Large shoulder, elbow, knee, spine, and hip arcs now progress predictably without late flips. Repeating movements have tighter timing, reach-based movements transition continuously, and users can identify animations still being refined without losing access to them.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change
  • Movement/Preset addition
  • Documentation update

Checklist

  • My code follows the code style guidelines of this project
  • I have performed a self-review of my own code
  • Running npm run typecheck passes successfully
  • Running npm run build compiles without errors
  • I have run the unit test suite (npm test) and all 259 tests pass
  • If applicable, I have run the fidelity evals
  • No new movement was added

Additional validation

  • Local synchronized frame-sheet review of all 17 flagged movements with both the procedural and Xbot figures

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
posecode Ready Ready Preview, Comment Jul 14, 2026 2:55pm

@a-baran-orhan
a-baran-orhan marked this pull request as ready for review July 14, 2026 14:55
@a-baran-orhan
a-baran-orhan merged commit 00112ac into main Jul 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant