bake_anim exports the SCENE range, not the action's, and retarget.py only set that
inside qc_render() — which runs AFTER the export (and never at all with --no-qc).
So every clip was wrong in one of two ways:
short clips gained a frozen tail — 98f wan_walk_t1 exported as 250f
long clips were TRUNCATED — 317f gymnasts_d exported as 250f, losing 2.2s
(the second is the clip Review #2 signed off as '317f green'; the BVH had 317, the
FBX quietly dropped the tail — nobody checked the FBX.)
Pin scene.frame_start/end to the trimmed clip range before export. Verified by
re-export + import: wan_walk_t1 2..99, wan_dig_t3 2..99, gymnasts_d 2..318.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The previous fix renamed the baked ACTION, but Blender's FBX exporter builds the
AnimStack name from scene.name (io_scene_fbx/export_fbx_bin.py), so every clip
still exported the take 'Scene' -> imported back as 'Armature|Scene'. Verified
failing on wan_dig_t3.fbx, which was built AFTER that commit.
Now sets bpy.context.scene.name = name before export. Both stated acceptances pass:
strings clips_out/wan_dig_t3.fbx | grep wan_dig_t3 -> 6 hits
Blender import -> 'Armature|wan_dig_t3'
Re-exported wan_walk_t1 + wan_dig_t3; takes are distinct, so they can no longer
collide in the 24-track female_game bank.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
First generated-footage clip proven through the full chain: Wan2.1 T2V (m3ultra, prompt-engineered to CAPTURE.md rules) -> ./mocap -> wan_walk_t1.fbx -> merge_anims bank (49 tracks). PROGRESS.md bug closed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>