{
 "id": "GEN_H_r04a_walk_seg053_TRAIN",
 "emotion": "neutral",
 "fps": 30,
 "face_frames": 295,
 "body_frames": 294,
 "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_14_restref_walk_seg053",
 "root_translation": "codec velocity integrated from origin",
 "motion_stats": {
  "generated": {
   "speed_deg_per_frame": 1.6237459256662912,
   "speed_p95": 5.449765435269699,
   "arms_speed": 1.5319014765791812,
   "fingers_speed": 0.8049781187598547,
   "rest_frac": 0.0,
   "jerk_p99": 2.7291320253791964,
   "frames": 294,
   "travel_cm": 667.8051610593684,
   "net_travel_cm": 187.6782684326172
  },
  "ground_truth": {
   "speed_deg_per_frame": 1.9951290427221764,
   "speed_p95": 6.87627885019995,
   "arms_speed": 2.0405299053976056,
   "fingers_speed": 0.8074426862980757,
   "rest_frac": 0.0,
   "jerk_p99": 3.300939170642354,
   "frames": 294,
   "travel_cm": 643.3811404107142,
   "net_travel_cm": 97.24183672089937
  }
 },
 "writer_report": {
  "frames": 294,
  "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": 2.49,
  "total_s": 5.6
 }
}