{
  "status": "completed",
  "source": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_repaired",
  "panels": [
    {
      "name": "before",
      "label": "BEFORE | ARM DRIFTS DURING HOLD",
      "note": "Original successful serve; preparation posture drifts",
      "source_run": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_right_motor_net_clearance",
      "candidate_id": 1,
      "motion_source": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_right_motor_net_clearance/candidate_001/motion.npz",
      "physics_source": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_right_motor_net_clearance/candidate_001/physics",
      "videos": [
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/before/right_hit_world.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/before/right_arm_preparation_slow.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/before/right_hit_contact_slow.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/before/right_hit_spin_closeup.mp4"
      ],
      "physics_repeated": false,
      "optimization_repeated": false,
      "goal": {
        "kind": "serve"
      },
      "goal_matched": true,
      "route_completed": true,
      "failure_reasons": [],
      "requested_profile_matched": true,
      "net_contact_events": [],
      "post_second_bounce": {
        "speed_mps": 1.6480551012449753,
        "topspin_radps": 6.065868954757391,
        "sidespin_radps": 35.263921269320825,
        "axial_spin_radps": -36.84517554910959,
        "time_s": 3.016,
        "velocity_mps": [
          1.6085316628240485,
          -0.35876385887110673,
          1.2500480698135334
        ],
        "spin_radps": [
          -34.64108505614328,
          13.941196274138008,
          35.263921269320825
        ],
        "observation_delay_after_contact_s": 0.02
      },
      "recording_start_s": 0.0,
      "recording_end_s": 3.9000000000000004,
      "reference_end_s": 2.9,
      "angular_speed_overlay": {
        "quantity": "norm of recorded world ball_spin_radps",
        "units": [
          "rad/s",
          "rps"
        ],
        "scaled_by_playback_speed": false
      }
    },
    {
      "name": "fixed_a",
      "label": "FIXED A | QUIET PREPARATION",
      "note": "Full arm holds; strike after 1.69 s is preserved",
      "candidate_id": 1,
      "motion_source": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_repaired/candidate_001/motion.npz",
      "physics_source": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_repaired/candidate_001/physics",
      "videos": [
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/fixed_a/right_hit_world.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/fixed_a/right_arm_preparation_slow.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/fixed_a/right_hit_contact_slow.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/fixed_a/right_hit_spin_closeup.mp4"
      ],
      "physics_repeated": false,
      "optimization_repeated": false,
      "goal": {
        "kind": "serve"
      },
      "goal_matched": true,
      "route_completed": true,
      "failure_reasons": [],
      "requested_profile_matched": true,
      "net_contact_events": [],
      "post_second_bounce": {
        "speed_mps": 1.6480388061734514,
        "topspin_radps": 6.067425562614906,
        "sidespin_radps": 35.263920295214,
        "axial_spin_radps": -36.84445839316059,
        "time_s": 3.016,
        "velocity_mps": [
          1.6085174527177803,
          -0.3587527156077269,
          1.249858599321883
        ],
        "spin_radps": [
          -34.64011208361601,
          13.942395851421482,
          35.263920295214
        ],
        "observation_delay_after_contact_s": 0.02
      },
      "recording_start_s": 0.0,
      "recording_end_s": 3.9000000000000004,
      "reference_end_s": 2.9,
      "angular_speed_overlay": {
        "quantity": "norm of recorded world ball_spin_radps",
        "units": [
          "rad/s",
          "rps"
        ],
        "scaled_by_playback_speed": false
      }
    },
    {
      "name": "fixed_b",
      "label": "FIXED B | QUIET PREPARATION",
      "note": "Same prefix repair; different saved successful strike",
      "candidate_id": 7,
      "motion_source": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_repaired/candidate_007/motion.npz",
      "physics_source": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_repaired/candidate_007/physics",
      "videos": [
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/fixed_b/right_hit_world.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/fixed_b/right_arm_preparation_slow.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/fixed_b/right_hit_contact_slow.mp4",
        "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/fixed_b/right_hit_spin_closeup.mp4"
      ],
      "physics_repeated": false,
      "optimization_repeated": false,
      "goal": {
        "kind": "serve"
      },
      "goal_matched": true,
      "route_completed": true,
      "failure_reasons": [],
      "requested_profile_matched": true,
      "net_contact_events": [],
      "post_second_bounce": {
        "speed_mps": 1.9789028819263264,
        "topspin_radps": 70.76802263139378,
        "sidespin_radps": 116.30349250762099,
        "axial_spin_radps": -71.59925831198264,
        "time_s": 2.9842500000000003,
        "velocity_mps": [
          1.8996241176164637,
          0.5545131448993713,
          1.2552263811755375
        ],
        "spin_radps": [
          -88.56092852315223,
          47.869914947705944,
          116.30349250762099
        ],
        "observation_delay_after_contact_s": 0.02
      },
      "recording_start_s": 0.0,
      "recording_end_s": 3.9000000000000004,
      "reference_end_s": 2.9,
      "angular_speed_overlay": {
        "quantity": "norm of recorded world ball_spin_radps",
        "units": [
          "rad/s",
          "rps"
        ],
        "scaled_by_playback_speed": false
      }
    }
  ],
  "comparisons": {
    "world": {
      "path": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/comparison_world.mp4",
      "width": 1920,
      "height": 1080,
      "frames": 196,
      "fps": 50.0,
      "interpretation": "synchronized recorded ball replays; no synthetic ball trajectories"
    },
    "contact_slow": {
      "path": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/comparison_contact_slow.mp4",
      "width": 1920,
      "height": 1080,
      "frames": 151,
      "fps": 50.0,
      "interpretation": "synchronized recorded ball replays; no synthetic ball trajectories"
    },
    "preparation_slow": {
      "path": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/comparison_preparation_slow.mp4",
      "width": 1920,
      "height": 1080,
      "frames": 221,
      "fps": 50.0,
      "interpretation": "synchronized recorded ball replays; no synthetic ball trajectories"
    },
    "spin_slow": {
      "path": "/mnt/a3-data/d079/serve-contact/A3-serve-planner-tracker/outputs/wang_chuqin_preparation_videos/comparison_spin_slow.mp4",
      "width": 1920,
      "height": 1080,
      "frames": 1101,
      "fps": 50.0,
      "interpretation": "synchronized recorded ball replays; no synthetic ball trajectories"
    }
  },
  "errors": [],
  "optimization_repeated": false,
  "training_started": false,
  "interpretation": "unchanged saved robot references and physical ball samples; no dynamic tracker execution"
}
