{
 "id": "GEN_I_r04a_stand_seg126_TEST",
 "emotion": "neutral",
 "fps": 30,
 "face_frames": 181,
 "body_frames": 180,
 "face": "face.json",
 "body": "body.vrma",
 "audio": "audio.wav",
 "body_source": "generator + codec decoder (continuous)",
 "body_writer": "baked_template_channel_write",
 "bones": 50,
 "run_id": "solo_body_v1__50b_vel__scratch__r04a_hygiene",
 "generator_ckpt": "../motion-blender/experiments/wave-hands/outputs/gen_train/runs/solo_body_v1__50b_vel__scratch__r04a_hygiene/generator/epoch_2000.pth",
 "generator_epoch": 1999,
 "guidance": 2.0,
 "steps": 32,
 "cond_time_zero": true,
 "rng_seed": 20260806,
 "compare_with": "GT_15_restref_seg126",
 "root_translation": "codec velocity integrated from origin",
 "motion_stats": {
  "generated": {
   "speed_deg_per_frame": 2.5747513657269945,
   "speed_p95": 7.29439006200617,
   "arms_speed": 3.6876885401041974,
   "fingers_speed": 2.7348591076846556,
   "rest_frac": 0.0,
   "jerk_p99": 3.3517590911530273,
   "frames": 180,
   "travel_cm": 302.8639620169997,
   "net_travel_cm": 99.21629333496094
  },
  "ground_truth": {
   "speed_deg_per_frame": 3.2868109474695606,
   "speed_p95": 14.681826475644007,
   "arms_speed": 6.006432064672981,
   "fingers_speed": 1.6136512163930996,
   "rest_frac": 0.055865921787709494,
   "jerk_p99": 7.213676787930267,
   "frames": 180,
   "travel_cm": 225.35411732741153,
   "net_travel_cm": 1.558939800935556
  }
 },
 "writer_report": {
  "frames": 180,
  "skipped": [
   "upperChest"
  ],
  "root_translation": true,
  "template": "/data/mocap-convertor/datasets/solo_20260722_body_v1/artifacts/templates/kemix.vrma"
 },
 "note": "생성기는 GT를 재현하지 않는다 — 오디오에 맞는 새 모션을 만든다. 프레임별 각도 차이는 의미가 없고 분포(속도·정지비율·이동)를 본다.",
 "timing": {
  "face_s": 0.0,
  "body_s": 1.96,
  "total_s": 4.62
 }
}