Animation naturalness: spline interpolation, foot-flat, bar grip, secondary motion (L2–L4.2) - #37
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Resolve conflicts in favor of the L2-L4 animation work (spline interpolation, foot-flat, bar grip, secondary motion), which supersedes overlapping main edits.
… contact work Main and this branch independently reworked foot/bar contact (main: alignFloorSoles/ alignBarGrips/contactSides; here: levelPlantedFeet/wrapGrip + L4 secondary motion). Per direction, this branch's approach wins on conflict. Took our complete versions of contacts.ts, index.ts, props.ts, timeline.ts, render.test.ts, eval probe/checks, and pull-up/squat examples; accepted main's non-overlapping additions. Added showProceduralWhileLoading to ViewerOptions for playground API compatibility. 241 tests pass, typecheck clean.
…oves via clip directive Clips sourced from Mixamo, kept out of the repo (loaded from public/clips, gitignored for storage/CDN). Mapped walk/squat/bicycle-crunch/jab-cross/jumping-jacks/shuffling in the playground; squat/jumping-jacks/jab-cross/bicycle-crunch opt in with clip "<name>". Verified: squat plays the retargeted Back Squat clip (clipActive=true), no console errors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Raises procedural animation quality toward mocap-grade across the whole platform — both the rendered motion and the
.posecodeDSL/editor. Built as sequenced, independently-tested slices.What's in here
L2 — Spline-quaternion interpolation. Replaced per-segment slerp with squad (
squad.ts) so motion flows through interior keyframes instead of stop-starting. New per-phase timing modesflow | settle | drive | snap | linear(legacyease-*kept as deprecated aliases so all existing docs still parse). Editor: completion/hover/highlight + deprecation hints.L3.1 — Foot-flat (plantigrade) correction.
levelPlantedFeetkeeps planted soles flat to the floor (weighted by planted-ness, ROM-clamped, skipped on authored plantarflex). Fixes squat/lunge "balancing on the toes." No new DSL needed.L3.2 — Bar-grip system. New
grip:directive → two-pointbar_left/bar_rightanchors, per-hand arm IK onto each grip, and a procedural finger wrap (wrapGrip). Fixes pull-up/dead-hang/hanging-knee-raise (were open palms converged at bar centre). Full parser/schema/editor support.L4.1 — Relaxed resting hands.
relaxHandsgives idle hands a natural curl (skips gripping + authored fingers).L4.2 — Locomotion arm swing.
swingArmsadds contralateral arm swing driven by hip motion (skips authored shoulders + gripping sides).L4.3 — Look-at head tracking.
aimHead/applyLookAtturn the head toward the active contact (up at the bar in a pull-up, down at a floor reach), clamped to a healthy neck range; skipped when a move poses the head/neck.L4.3 scope
Built look-at (the highest-value piece). Weight-shift and spine overshoot/follow-through were deliberately left as optional follow-ups — L2's squad already gives velocity continuity, so overshoot is low-value and risky.
Verification
Merge note
origin/mainwas merged in. Main independently reworked foot/bar contact (alignFloorSoles/alignBarGrips/contactSides); per direction, this branch's approach wins on conflict — took our complete versions of the overlapping solver files and accepted main's non-overlapping additions (new example moves, playground styling). Main's unused sword/gun prop attachments were dropped (no example references them).Specs/plans under
docs/superpowers/.🤖 Generated with Claude Code