Skip to content

feat(render): export UniMate constraint manifests - #139

Merged
a-baran-orhan merged 1 commit into
mainfrom
codex/unimate-constraints
Oct 4, 2026
Merged

a-baran-orhan merged 1 commit into
mainfrom
codex/unimate-constraints

Conversation

@a-baran-orhan

Copy link
Copy Markdown
Member

What changed

  • add buildUniMateConstraintManifest() to export sparse phase endpoints, root intent and contact constraints
  • include one-based contiguous prompt clips and Posecode to Mixamo bindings
  • keep checkpoint-specific FK, (T,J,12) encoding and normalization on the UniMate side
  • add the one-page bridge design, acceptance test and license boundary
  • add focused tests for timing, carried poses, contacts and short-phase validation

Why

The useful integration boundary is editable authored key poses, not a generated full clip. Posecode can keep those poses and constraints as the source of truth while UniMate fills only the gaps through x1_known and keep_mask.

Verification

  • npm test -- --run packages/posecode-render/test
  • npm run build -w posecode-render
  • git diff --check

129 render tests pass. The exporter does not claim its output is already a normalized UniMate tensor. The rig-aware adapter remains the next step.

@vercel

vercel Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
posecode Ready Ready Preview Oct 3, 2026 11:30pm UTC

@a-baran-orhan

Copy link
Copy Markdown
Member Author

hey @nopeburger, your Blender adapter is the closest match I found for the consumer side of this PR. I looked at encode_pose, constraints() and your choice to pin channels 0:9 while leaving velocity free.

this PR exports contiguous prompt clips, phase-end poses, root travel and ground-lock / reach / pin / grip intent. it stops before (T,J,12) on purpose, since applying local rotations to the selected rig, running FK and checkpoint normalization belong on the Blender and UniMate side.

if youre open to it, id like to build a small importer against UniMate-B3D next. first fixture would be 4 authored Mixamo poses, UniMate fills the gaps, then we measure keyframe error, foot drift and ROM violations. i can handle the Posecode fixtures, docs and evaluation, then open the code PR on your repo once it works.

one page contract: https://github.com/posecode-dev/posecode/blob/codex/unimate-constraints/docs/integrations/unimate.md

1 similar comment
@a-baran-orhan

Copy link
Copy Markdown
Member Author

hey @nopeburger, your Blender adapter is the closest match I found for the consumer side of this PR. I looked at encode_pose, constraints() and your choice to pin channels 0:9 while leaving velocity free.

this PR exports contiguous prompt clips, phase-end poses, root travel and ground-lock / reach / pin / grip intent. it stops before (T,J,12) on purpose, since applying local rotations to the selected rig, running FK and checkpoint normalization belong on the Blender and UniMate side.

if youre open to it, id like to build a small importer against UniMate-B3D next. first fixture would be 4 authored Mixamo poses, UniMate fills the gaps, then we measure keyframe error, foot drift and ROM violations. i can handle the Posecode fixtures, docs and evaluation, then open the code PR on your repo once it works.

one page contract: https://github.com/posecode-dev/posecode/blob/codex/unimate-constraints/docs/integrations/unimate.md

@a-baran-orhan
a-baran-orhan merged commit 9283e1b into main Oct 4, 2026
3 checks passed
@nopeburger

Copy link
Copy Markdown

@a-baran-orhan sounds good, I welcome any contributions!

@a-baran-orhan

Copy link
Copy Markdown
Member Author

thanks, took you up on it. i opened the first importer PR here: nopeburger/UniMate-B3D#1

it imports the Posecode timeline and four authored key poses into B3D's existing captured-reference path. the rig conversion is done from semantic world-space deltas instead of writing Posecode Euler angles straight onto Mixamo local axes

the pure Python validation and FK tests pass. the remaining check is a full Blender and checkpoint run on an actual Mixamo rig

@a-baran-orhan
a-baran-orhan deleted the codex/unimate-constraints branch October 4, 2026 21:47

This branch was successfully deployed

1 active deployment
Preview — 0efaa5c1 Deployed Oct 3, 2026 by vercel[bot]
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.

2 participants