Skip to content

MIG-5: the reference pipeline — three sources, one downstream half - #232

Merged
snkmcb merged 2 commits into
mainfrom
mig-5/reference-pipeline
Sep 24, 2026
Merged

snkmcb merged 2 commits into
mainfrom
mig-5/reference-pipeline

Conversation

@snkmcb

@snkmcb snkmcb commented Sep 24, 2026

Copy link
Copy Markdown
Member

MIG-5's cross-repository test ("VRMA → MotionClip → a target VRM runs somewhere by default"), which is also boundary consolidation's BND-1 ("one reference pipeline, proved once for every category").

What it runs

workspace_reference_pipeline bakes three source categories onto Seed-san.vrm:

Source First arrow Input
.vrma this repo's usdVrmaFileFormat canonical_walk.vrma
BVH export usd-motion-plugins' motion_convert tests/motion/fixtures/mocopi-mobile-arm-raise-turn.usda (committed output)
recorded live session usd-motion-plugins' motion_record tools/motionRetarget/tests/fixtures/recorded_session_clip.usda (committed output)

All three go through one motion_retarget argument list that differs only in --animation.

What it asserts: the downstream half is the same code

  • One set of loaded code. --load-report's plugins and modules differ across sources by the first arrow's plugin alone. Measured: a .vrma adds exactly UsdVrmaFileFormat / libUsdVrmaFileFormat.dll, and the other two load identical sets.
  • One output shape. Every authored spec's path, kind and type, and the animation's joint order, are identical across sources.
  • One set of motion checks, one tolerance. For each source:

Mutations (each fails where it should; unmutated passes)

Mutation Caught by
--root-motion ignore for the trace source only hips travel
left/right upper arms swapped via --humanoid-map for the BVH source only rotation (18 failures)
no first-arrow plugin allowed for .vrma loaded-code check
--animation-name Other for the trace source only output shape

Local, non-redistributable data

workspace_reference_pipeline_local runs the same checks over an avatar and .vrma files that cannot be committed. It reads them from USDVRM_LOCAL_AVATAR and USDVRM_LOCAL_VRMA_DIR, and USDVRM_LOCAL_OUTPUT_DIR optionally keeps each bake. Without them it reports Skipped (SKIP_RETURN_CODE 77). On 2026-09-24 it passed over AliciaSolid.vrm (VRM 0.x) and the seven VRM Animation MotionPack clips, with the BVH export and the recorded session beside them (9/9). Neither dataset may be redistributed: AliciaSolid is redistributionAllowed: false in the corpus manifest, and the MotionPack terms forbid redistribution in extractable form.

Verification (Windows, local)

  • ost test: 41 passed, 1 skipped (the local test, without its variables).
  • ost test --filter workspace_reference_pipeline with the local variables set: both pass.
  • check_docs.py OK; check_cmake_boundaries.py holds.

Docs: CHANGELOG [Unreleased], MIG-5 item 4 ✅ (track and current.md), BND-1 ✅. MIG-5's last item, the release-artifact proof, is the next release's dry run.

🤖 Generated with Claude Code

snkmcb and others added 2 commits September 24, 2026 12:40
MIG-5's cross-repository test and boundary consolidation's BND-1. A
.vrma (through usdVrmaFileFormat), a BVH export and a recorded session
(as usd-motion-plugins' motion_convert and motion_record wrote them) are
baked onto Seed-san.vrm through one motion_retarget argument list, and
the test asserts the half after the clip is the same code: loaded
plugins and modules differ by the first arrow's importer alone, the
output layers share one shape and joint order, and every bake passes one
set of motion checks (rotation away from rest, hips travel, unbindable
bones named, nothing outside the humanoid moves, scales authored).

workspace_reference_pipeline_local runs the same checks over data that
cannot be committed (USDVRM_LOCAL_AVATAR, USDVRM_LOCAL_VRMA_DIR,
optionally keeping bakes in USDVRM_LOCAL_OUTPUT_DIR) and is Skipped
without it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A bake references its avatar by a path relative to itself, so a copy
out of the temporary directory pointed at a .vrm that is not there and
opened in usdview with no model. Found opening the first kept bake.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@snkmcb
snkmcb merged commit e98db79 into main Sep 24, 2026
14 of 15 checks passed
@snkmcb
snkmcb deleted the mig-5/reference-pipeline branch September 24, 2026 19:18
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