{
  "schemaVersion": 1,
  "exerciseKey": "waiters-bows",
  "title": "Waiter's bows",
  "sequenceId": "dynamic_warm_up_ota_full_v1",
  "sequenceOrder": 9,
  "role": "packaged_exercise_reference_and_animation_timing_source",
  "source": {
    "path": "source/NEXT11_dynamic_warmup_ijj7TD0DA6Q_waiters-bows.MOV",
    "youtubeUrl": "https://www.youtube.com/watch?v=ijj7TD0DA6Q",
    "youtubeId": "ijj7TD0DA6Q",
    "sha256": "640c166ede951c354238483842d889db669ab004b52216cc9ba6835fdc4c3d14",
    "durationSec": 14.280013,
    "video": {
      "codec": "h264",
      "width": 640,
      "height": 360,
      "fps": 30.0
    },
    "audio": {
      "codec": "aac",
      "sampleRate": 44100,
      "channels": 2
    }
  },
  "playback": {
    "path": "waiters-bows.mp4",
    "container": "mp4",
    "conversion": "stream-copy; no video or audio re-encode",
    "primaryForExercise": true,
    "youtubeRole": "provenance_and_external_fallback_reference",
    "sha256": "8743f1c926aeedb9fc9e61a87c7a1d2c34fc68dd6139d0da09ff3a8072a22621",
    "durationSec": 14.333984
  },
  "animation": {
    "resolvedAsset": "../../../nexprod/resolved/waiters-bows-v418c-soft-ascent-3p5s.resolved.json",
    "player": "../../../nexprod/nexprod01-resolved-player-v417.html",
    "geometryAuthority": "V417 corrected warmup_waiters_bow_ik_v1 canonical IK",
    "timingAuthority": "Recovered V418C: same V417 canonical, softened ascent, 3.5 s L+R cycle",
    "productionMode": "resolvedPlayback",
    "liveSolverCalls": 0,
    "newSolver": false,
    "runtimePrimitive": false,
    "recoveryStatus": "USER_APPROVED_V418C_RESTORED"
  },
  "updatedAt": "2026-09-06"
}
