name: vrm-roundtrip-ci-gate description: Gate VRM importer/exporter changes using Blender, UniVRM, and VRM4U round-trip metrics. Use when PRs can affect bones, expressions, materials, or animation fidelity.
VRM Roundtrip CI Gate
Use this skill to set up and enforce reproducible VRM round-trip checks.
Workflow
- Select canonical fixture VRMs and lock their checksums.
- Run round-trip stages (Blender -> Unity/UniVRM -> Unreal/VRM4U -> Blender).
- Compute bucketed deltas for rig, expressions, materials, and animation timing.
- Enforce thresholds with a deterministic gate script.
- Fail closed when any bucket exceeds limits.
Threshold Defaults
- Bone rotation: <= 0.5 degrees per axis
- Bone position: <= 0.001 units
- Blendshape weight delta: <= 0.02
- Name/slot mismatches: immediate fail
Commands
python3 scripts/metrics_gate.py \
--report-json /path/to/roundtrip-report.json \
--max-rot-deg 0.5 \
--max-pos 0.001 \
--max-blend 0.02
References
references/roundtrip-buckets.mdreferences/pin-matrix.md
Loopback
If gate fails:
- Report failing bucket and fixture.
- Block exporter/runtime promotion.
- Re-run after targeted fix only.