{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "scene_heading": "S#1. 숲속 / 해",
        "shots": [
          {
            "shot_index": 1,
            "description": "우거진 수풀 사이로 한국인 남자의 맨발인 한쪽 발이 땅을 박차며 앞으로 나아가는 찰나.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "우거진 수풀 사이로 한국인 남자의 한쪽 발이 맨발인 채 땅을 딛고 있는 정지 순간.",
            "validator_reason": "원문의 도망치는 추진력을 보존하기 위해 '정지 순간'이라는 메타적 표현을 빼고 mid-action 묘사로 수정함."
          },
          {
            "shot_index": 2,
            "description": "한국인 남자의 허벅지에 커다란 이빨 자국과 피가 흐르는 클로즈업.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "잔뜩 겁에 질린 한국인 남자의 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 4,
            "description": "검은 인영이 한국인 남자를 향해 팔을 뻗은 채 공중으로 도약해 덮쳐드는 찰나.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "검은 인영이 공중에 떠서 한국인 남자를 향해 팔을 뻗은 정지 순간.",
            "validator_reason": "덮치는 동작의 방향성과 역동성을 보존하기 위해 '정지 순간' 표현을 제거하고 도약 중인 상태로 수정함."
          },
          {
            "shot_index": 5,
            "description": "검은 인영이 한국인 남자의 몸 위로 겹쳐진 채 바닥에 쓰러져 있는 상태.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "검은 인영이 한국인 남자의 몸 위로 겹쳐져 바닥에 쓰러진 정지 순간.",
            "validator_reason": "멈춘 결과 상태를 자연스럽게 묘사하기 위해 인위적인 '정지 순간' 표현을 제거함."
          }
        ]
      },
      {
        "scene_index": 2,
        "scene_heading": "S#2. 도시 뒷골목 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "희미한 가로등 불빛 아래, 전봇대에 기대어 한국인 남자와 한국인 여자의 상체가 밀착된 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "한국인 남자의 붉은 눈동자 클로즈업.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "한국인 남자의 입이 한국인 여자의 목덜미에 닿아 피가 묻은 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 4,
            "description": "한국인 여자의 몸이 바닥에 엎드린 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          }
        ]
      },
      {
        "scene_index": 3,
        "scene_heading": "S#3. 현장 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "폴리스 라인 너머로 한국인 경찰들이 바닥에 웅크린 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "들것 위에 천으로 덮인 시신이 놓인 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "무리 한가운데 서서 손가락으로 한 곳을 가리킨 채 멈춘 혜수의 상체.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ]
          }
        ]
      },
      {
        "scene_index": 4,
        "scene_heading": "S#4. 옥탑방 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "오래된 빌라 옥탑방과 주변 건물들이 내려다보이는 부감 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          }
        ]
      },
      {
        "scene_index": 5,
        "scene_heading": "S#5. 옥탑방 안 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "싱크대 수도꼭지 아래에 씻다 만 약초가 놓인 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "가스레인지 위 냄비에서 김이 피어오르는 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "앞치마를 두른 민숙이 어두운 표정으로 TV 화면을 응시하는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ]
          },
          {
            "shot_index": 4,
            "description": "방문이 열린 틈 사이로 수리영이 양팔을 위로 뻗은 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "민숙의 손가락이 리모컨 버튼을 누른 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ]
          },
          {
            "shot_index": 6,
            "description": "식탁에 앉은 수리영의 턱을 괸 정면 구도.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 7,
            "description": "민숙의 손이 컵에 짙은 색 물을 기울인 채 멈춘 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영이 컵을 입술에 댄 채 눈을 찡그린 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 9,
            "description": "현관에서 수리영이 한쪽 운동화 끈을 쥔 채 허리를 숙인 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 10,
            "description": "수리영이 민숙의 어깨에 코를 묻은 채 눈을 감은 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "민숙"
            ]
          },
          {
            "shot_index": 11,
            "description": "민숙이 입꼬리를 올린 채 수리영을 바라보는 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "민숙",
              "수리영"
            ]
          },
          {
            "shot_index": 12,
            "description": "수리영의 시선이 아래를 향한 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 13,
            "description": "민숙의 손목에 새겨진 작은 원 표식 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ]
          }
        ]
      },
      {
        "scene_index": 6,
        "scene_heading": "S#6. 해안가 도로 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "이어폰을 낀 수리영이 자전거 안장에 앉아 한쪽 페달을 아래로 밟아 내린 중간 자세, 머리카락이 뒤로 휘날리는 측면 구도.",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "original_description": "이어폰을 낀 수리영이 자전거 안장에 앉아 페달에 발을 올린 채 멈춘 측면 구도.",
            "validator_reason": "원문의 '달린다'는 동적 동작을 표현해야 하므로, '멈춘'이라는 표현 대신 추진력을 보존하는 mid-action 자세로 수정함."
          }
        ]
      },
      {
        "scene_index": 7,
        "scene_heading": "S#7. 유기견 보호원 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "철창 안에서 로트와일러가 이빨을 드러낸 채 앞발을 든 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "수리영이 무표정한 얼굴로 철창 안을 응시하는 정면 구도.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 3,
            "description": "로트와일러가 네 발을 바닥에 내리고 귀를 눕힌 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 4,
            "description": "50대 한국인 의사의 손이 주사기를 로트와일러의 엉덩이에 찌른 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 5,
            "description": "수리영이 철창 안의 개들을 바라본 채 입술을 내민 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 철창 안의 개들을 바라보며 입술을 내민 정지 순간.",
            "validator_reason": "금지 연결어인 '~하며'를 제거하고 동시 고정 상태를 의미하는 '~한 채'로 수정하여 단일 찰나를 명확히 함."
          },
          {
            "shot_index": 6,
            "description": "수리영의 손가락이 스마트폰 화면에 닿은 채 멈춘 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영이 스마트폰을 귀에 댄 채 미간을 찌푸린 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 8,
            "description": "한국인 보호원 도우미가 수리영을 향해 손을 든 정지 순간.",
            "based_on_beat": 2,
            "characters": []
          },
          {
            "shot_index": 9,
            "description": "수리영이 가위를 든 채 개의 털에 손을 얹은 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 8,
        "scene_heading": "S#8. 번화가·대형 마트 / 해질",
        "shots": [
          {
            "shot_index": 1,
            "description": "네온사인 불빛 아래 수리영이 자전거 페달을 밟으며 주행하는 mid-pedal 자세, 겉옷이 뒤로 펄럭이는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "네온사인 불빛 아래 수리영이 자전거 핸들을 쥔 채 멈춘 정지 순간.",
            "validator_reason": "자전거를 주행하는 원문의 추진력을 보존하기 위해 mid-action 순간으로 변경했습니다."
          },
          {
            "shot_index": 2,
            "description": "마트 입구에 자전거가 세워진 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "수리영이 마트 진열대 사이에서 고개를 돌린 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 4,
            "description": "수리영이 한국인 여직원을 마주 보고 선 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "한국인 여직원이 눈을 크게 뜬 채 수리영을 바라보는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 6,
            "description": "수리영이 고개를 갸웃한 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 7,
            "description": "남자 직원이 종이 박스를 든 채 수리영 쪽으로 고개를 돌린 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "남자 직원",
              "수리영"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영이 눈썹을 치켜올린 채 남자 직원을 바라보는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "남자 직원"
            ]
          },
          {
            "shot_index": 9,
            "description": "마트 자동문 밖으로 나온 수리영이 스마트폰을 귀에 댄 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 10,
            "description": "수리영이 자전거 안장에 올라타 앞을 응시하는 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 9,
        "scene_heading": "S#9. 해안가 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 해안도로 위, 수리영이 상체를 숙이고 한쪽 무릎을 굽혀 자전거 페달을 강하게 밟는 중간 찰나, 머리카락과 옷자락이 주행 반대 방향으로 세차게 흩날리는 모습.",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 해안도로 위, 수리영이 자전거 페달에 발을 얹은 채 상체를 숙인 정지 순간.",
            "validator_reason": "바삐 달리는 주행 동작(motion direction)을 보존하기 위해 정적인 묘사 대신 추진력이 느껴지는 mid-action 순간으로 재작성함."
          }
        ]
      },
      {
        "scene_index": 10,
        "scene_heading": "S#10. 옥탑방 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "옥상 평상 위 말린 석창포 잎이 허공에 떠 있는 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "검은 구두를 신은 낯선 한국인 남자의 발목 옆으로 석창포 잎이 닿은 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "옥탑방 철문 현관 앞에 낯선 한국인 남자의 구두가 멈춰 선 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 4,
            "description": "낯선 한국인 남자의 손가락이 문틈의 전단지를 쥔 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 5,
            "description": "전단지가 문틈 사이로 반쯤 들어간 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 6,
            "description": "철문이 아주 살짝 열린 틈새의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 7,
            "description": "창문에 비친 그림자 속, 한 인영이 다른 인영의 어깨 위로 고개를 숙인 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "S#11. 옥탑 방 밖 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 골목길에서 수리영이 자전거 안장에 앉아 한쪽 페달을 힘껏 밟고 앞으로 치고 나가는 찰나, 머리카락과 옷깃이 뒤로 흩날리는 모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 골목길에서 수리영이 자전거 핸들을 꽉 쥔 정지 순간.",
            "validator_reason": "자전거로 달리는 동작의 추진력(motion direction)을 누락하고 정지 상태로 잘못 묘사하여 mid-action 찰나로 수정함."
          },
          {
            "shot_index": 2,
            "description": "다세대 빌라 마당 구석에 자전거가 비스듬히 세워진 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "옥탑방 계단을 급히 오르는 수리영, 한쪽 발은 계단을 딛고 다른 발은 다음 칸을 향해 공중에 뜬 채 상체를 앞으로 기울인 찰나.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영의 발이 옥탑방 계단 한 칸을 딛고 멈춘 정지 순간.",
            "validator_reason": "계단을 급히 오르는 이동 동작의 역동성을 누락하고 멈춘 상태로 묘사하여 mid-action 찰나로 수정함."
          },
          {
            "shot_index": 4,
            "description": "계단 중간에서 수리영이 코를 찡그린 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "옥상에 올라온 수리영의 시선 끝에 반쯤 열린 현관 철문이 보이는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 12,
        "scene_heading": "S#12. 옥탑방 안 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "희미한 스탠드 불빛이 켜진 거실 한가운데 수리영이 선 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 2,
            "description": "가스레인지 위에 식은 냄비가 놓인 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "거실 식탁 위에 찻잔 두 개 중 하나가 엎어진 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 4,
            "description": "수리영의 손이 방문 손잡이를 쥔 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "바닥에 흥건한 핏자국과 피 묻은 발자국이 커튼 쪽으로 이어진 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 6,
            "description": "수리영의 손이 커튼을 옆으로 젖힌 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 7,
            "description": "민숙이 바닥에 앉아 고개를 푹 숙인 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영이 눈을 크게 뜬 채 몸이 굳은 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 9,
            "description": "살점이 뜯겨 피가 흐르는 민숙의 어깨와 쇄골 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ]
          },
          {
            "shot_index": 10,
            "description": "수리영이 입을 벌린 채 뒤로 물러선 자세의 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 11,
            "description": "수리영의 떨리는 손가락이 스마트폰 화면에 닿은 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 12,
            "description": "민숙의 늘어진 손안에 구겨진 사진이 쥐어진 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ]
          },
          {
            "shot_index": 13,
            "description": "수리영의 손이 민숙의 손에 든 사진 쪽으로 뻗은 채 멈춘 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "민숙"
            ]
          },
          {
            "shot_index": 14,
            "description": "민숙의 손목에 새겨진 문신이 붉은색으로 변한 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ]
          },
          {
            "shot_index": 15,
            "description": "침대 위 벽면에 붉은 원이 그려진 정지 순간.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 16,
            "description": "수리영이 얼굴을 일그러뜨린 채 비명을 지르는 정면 구도.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "S#13. 옥탑방 외곽 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "수리영이 입을 크게 벌린 채 옥탑방 계단을 뛰어내려오며 한 발은 계단에 닿기 직전인 mid-stride 정지 순간, 머리카락이 위로 날리고 있다.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 입을 크게 벌린 채 옥탑방 계단을 뛰어내려오는 자세의 정지 순간.",
            "validator_reason": "뛰어내려오는 이동 동작에 대해 추진력과 방향성을 보존하는 mid-action 묘사로 구체화했습니다."
          },
          {
            "shot_index": 2,
            "description": "혜수가 열린 자동차 문을 잡은 채 한쪽 발을 땅에 디디고 있는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "original_description": "혜수가 자동차 문을 열고 한쪽 발을 땅에 디딘 정지 순간.",
            "validator_reason": "'문을 열고 디딘'은 시간 경과를 암시할 수 있어, 이미 열린 문을 잡고 있는 정지 상태로 수정했습니다."
          },
          {
            "shot_index": 3,
            "description": "수리영이 초점 없는 눈으로 허공을 응시하며 선 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 4,
            "description": "혜수가 수리영을 향해 팔을 뻗은 채 달려오며 한 발이 공중에 떠 있는 mid-stride 정지 순간, 옷자락이 뒤로 펄럭이고 있다.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "original_description": "혜수가 수리영을 향해 팔을 뻗은 채 달려오는 자세의 정지 순간.",
            "validator_reason": "달려오는 동작에 대해 동적 추진력을 보여주는 mid-stride 묘사로 보완했습니다."
          },
          {
            "shot_index": 5,
            "description": "수리영이 고개를 든 채 혜수의 얼굴을 바라보는 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "혜수"
            ],
            "original_description": "수리영이 고개를 들어 혜수의 얼굴을 바라보는 정지 순간.",
            "validator_reason": "'들어 바라보는'의 순차적 동작을 '고개를 든 채 바라보는' 단일 고정 상태로 수정했습니다."
          },
          {
            "shot_index": 6,
            "description": "혜수가 눈을 크게 뜬 채 멈춘 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "혜수"
            ]
          },
          {
            "shot_index": 7,
            "description": "혜수의 발이 옥탑방 계단 첫 칸을 밟은 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "혜수"
            ]
          },
          {
            "shot_index": 8,
            "description": "김형사가 혜수의 뒤에서 계단을 오르며 한쪽 다리를 들어 올린 mid-stride 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "김형사",
              "혜수"
            ],
            "original_description": "김형사가 혜수의 뒤에서 계단을 오르는 자세로 멈춘 정지 순간.",
            "validator_reason": "계단을 오르는 동적 행위를 명확히 보여주기 위해 무릎을 들어올린 mid-action 묘사로 보완했습니다."
          }
        ]
      },
      {
        "scene_index": 14,
        "scene_heading": "S#14. 옥탑방 안 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "김형사와 혜수가 현관문 안쪽에 나란히 선 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "김형사",
              "혜수"
            ]
          },
          {
            "shot_index": 2,
            "description": "김형사가 미간을 찌푸린 채 허탈한 표정을 지은 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "김형사"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영이 방 안으로 뛰어 들어가는 mid-stride 순간, 한쪽 발이 바닥에서 막 떨어져 있고 몸이 앞으로 쏠린 정지 자세.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 방 안으로 뛰어 들어가는 자세의 정지 순간.",
            "validator_reason": "뛰어 들어가는 이동 동작이므로 motion direction을 보존한 mid-action freeze 묘사로 수정함."
          },
          {
            "shot_index": 4,
            "description": "핏자국 없이 깨끗하게 정돈된 방안의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 5,
            "description": "수리영의 창백해진 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 6,
            "description": "찻잔 없이 깨끗하게 치워진 식탁의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 7,
            "description": "수리영의 손가락이 빈 식탁 위를 가리킨 채 멈춘 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 8,
            "description": "김형사가 팔짱을 낀 채 입술을 비죽인 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "김형사"
            ]
          },
          {
            "shot_index": 9,
            "description": "혜수가 고개를 돌려 김형사를 노려보는 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "혜수",
              "김형사"
            ]
          },
          {
            "shot_index": 10,
            "description": "혜수의 손이 수리영의 어깨 위에 얹힌 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "혜수",
              "수리영"
            ]
          },
          {
            "shot_index": 11,
            "description": "수리영이 혜수의 눈을 마주 본 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "혜수"
            ]
          },
          {
            "shot_index": 12,
            "description": "방안 바닥에 백팩과 인형이 놓인 정지 순간.",
            "based_on_beat": 4,
            "characters": []
          }
        ]
      },
      {
        "scene_index": 15,
        "scene_heading": "S#15. 해안가. 버스정류장 부근 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 바다를 배경으로 수리영이 버스정류장 의자에 멍하니 앉은 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 2,
            "description": "혜수의 손이 음료수 캔을 수리영 앞으로 내민 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "수리영"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영이 의자에서 몸을 일으켜 세운 자세의 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 4,
            "description": "수리영이 해안도로를 따라 뛰어가는 도중 한 발이 지면에서 떨어져 있고 머리카락이 뒤로 휘날리는 뒷모습의 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 해안도로를 따라 뛰어가는 뒷모습의 정지 순간.",
            "validator_reason": "이동 동작(뛰어가는)의 모션 디렉션을 보존하기 위해 mid-action 자세(발이 떨어지고 머리카락이 날리는 상태)로 구체화했습니다."
          },
          {
            "shot_index": 5,
            "description": "혜수가 수리영의 뒷모습을 향해 입을 크게 벌린 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "혜수"
            ]
          },
          {
            "shot_index": 6,
            "description": "구조물 뒤편에서 멀리 떨어진 혜수와 수리영을 바라보는 누군가의 시점 쇼트.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "혜수가 스마트폰을 귀에 댄 채 경찰서 사무실 문을 반쯤 열고 한 발을 내디딘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "original_description": "혜수가 스마트폰을 귀에 댄 채 경찰서 사무실 문을 열고 들어선 정지 순간.",
            "validator_reason": "문을 여는 것과 들어서는 연속 동작을 피하고, 들어오는 찰나의 mid-action 자세로 수정하여 방향성을 보존함."
          },
          {
            "shot_index": 2,
            "description": "김형사가 책상 앞에 앉아 고개를 돌린 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "김형사"
            ]
          },
          {
            "shot_index": 3,
            "description": "혜수가 스마트폰 화면을 김형사 눈앞에 들이민 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "김형사"
            ]
          },
          {
            "shot_index": 4,
            "description": "김형사가 입술을 삐죽 내민 채 모니터를 응시하는 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "김형사"
            ]
          },
          {
            "shot_index": 5,
            "description": "혜수가 굳은 표정으로 김형사를 내려다보는 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "김형사"
            ]
          }
        ]
      },
      {
        "scene_index": 17,
        "scene_heading": "S#17. 옥탑방 / 동틀무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "새벽빛 아래 검은 고양이가 불 켜진 옥탑방을 올려다보는 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "검은 고양이가 담장 위로 뛰어오른 공중의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          }
        ]
      },
      {
        "scene_index": 18,
        "scene_heading": "S#18. 안방 안 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "수리영이 침대 모서리에 머리를 기댄 채 눈을 감은 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 2,
            "description": "수리영이 번쩍 눈을 뜬 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영의 시선이 굳게 닫힌 방문을 향한 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 4,
            "description": "수리영의 손이 방문 손잡이를 꽉 쥔 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영의 양손이 창문 커튼을 양옆으로 활짝 젖힌 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 6,
            "description": "커튼 뒤 텅 빈 공간의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 7,
            "description": "수리영이 스마트폰을 귀에 밀착한 채 미간을 찌푸린 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영의 손이 인형이 달린 백팩 끈을 쥔 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 9,
            "description": "수리영이 세면대 앞 거울 속 자신의 얼굴을 응시하는 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 10,
            "description": "거울에 비친 욕실 벽면에 붉은 원이 나타난 정지 순간.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 11,
            "description": "수리영의 고개가 욕실 벽을 향해 급격히 돌아가는 mid-action, 머리카락이 회전 반대 방향으로 흩날리며 시선이 벽에 꽂힌 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 고개를 홱 돌려 실제 욕실 벽을 바라보는 정지 순간.",
            "validator_reason": "'고개를 홱 돌려'라는 동적 묘사의 추진력을 살리기 위해 머리카락이 흩날리는 mid-action freeze로 교정함."
          },
          {
            "shot_index": 12,
            "description": "붉은 원 없이 깨끗한 욕실 벽면의 정지 순간.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 13,
            "description": "거실 식탁 앞에 선 수리영의 손에 물컵이 들린 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 14,
            "description": "식탁 위 액자 속 민숙과 수리영이 환하게 웃는 사진 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "민숙",
              "수리영"
            ]
          },
          {
            "shot_index": 15,
            "description": "사진 속 민숙의 얼굴이 기괴하게 뭉개져 흘러내리는 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ]
          },
          {
            "shot_index": 16,
            "description": "수리영이 눈을 질끈 감고 입을 크게 벌린 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 17,
            "description": "식탁 위 액자 속 사진이 정상적인 상태로 놓인 정지 순간.",
            "based_on_beat": 4,
            "characters": []
          },
          {
            "shot_index": 18,
            "description": "수리영의 손바닥이 자신의 뺨에 강하게 밀착된 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 19,
        "scene_heading": "S#19. 마트 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "마트 입구에 자전거가 세워진 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "마트 진열대 사이에서 수리영이 걸음 중간 자세로 남자 직원을 찾는 정면 구도.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "마트 진열대 사이에 선 수리영의 정면 구도.",
            "validator_reason": "원문에 수리영이 마트 안을 돌아다니는 이동 동작이 있으나 정지해 선 상태로 표현되어 추진 방향이 누락되었습니다."
          },
          {
            "shot_index": 3,
            "description": "수리영이 남자 직원을 마주 보고 선 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "남자 직원"
            ]
          },
          {
            "shot_index": 4,
            "description": "남자 직원이 수리영을 향해 고개를 끄덕인 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "남자 직원",
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영이 눈을 크게 뜬 채 남자 직원을 바라보는 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "남자 직원"
            ]
          },
          {
            "shot_index": 6,
            "description": "마트 건물 외벽에 설치된 CCTV 카메라 클로즈업.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 7,
            "description": "수리영이 마트 밖에서 고개를 들어 CCTV를 올려다보는 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영이 스마트폰을 귀에 댄 채 입을 벌린 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 20,
        "scene_heading": "S#20. 마트 총무과 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "모니터 화면을 응시하는 한국인 보안 직원과 혜수의 뒷모습 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ]
          },
          {
            "shot_index": 2,
            "description": "혜수 뒤에 선 수리영이 두 손을 꽉 쥔 채 모니터를 바라보는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "혜수"
            ]
          },
          {
            "shot_index": 3,
            "description": "모니터 화면 속 어두운 화질의 CCTV 영상 클로즈업.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 4,
            "description": "한국인 보안 직원이 고개를 갸웃한 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 5,
            "description": "수리영이 미간을 찌푸린 채 입술을 깨문 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 6,
            "description": "혜수가 한국인 보안 직원을 향해 고개를 돌린 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "혜수"
            ]
          },
          {
            "shot_index": 7,
            "description": "한국인 보안 직원이 고개를 끄덕인 정지 순간.",
            "based_on_beat": 2,
            "characters": []
          }
        ]
      },
      {
        "scene_index": 21,
        "scene_heading": "S#21. 경찰서 안 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "경찰서 사무실 안으로 한 걸음을 내딛는 수리영과 혜수의 mid-stride 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "혜수"
            ],
            "original_description": "경찰서 사무실 안으로 들어선 수리영과 혜수의 정지 순간.",
            "validator_reason": "'들어오는' 이동 동작의 추진력을 보존하기 위해 mid-action 상태로 재작성했습니다."
          },
          {
            "shot_index": 2,
            "description": "김형사가 서류를 든 채 혜수를 바라보는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "김형사",
              "혜수"
            ]
          },
          {
            "shot_index": 3,
            "description": "혜수가 난감한 표정으로 수리영을 바라보는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "수리영"
            ]
          },
          {
            "shot_index": 4,
            "description": "한국인 형사들이 사무실 문밖을 향해 걸음을 내딛는 mid-stride 뒷모습의 정지 순간.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "한국인 형사들이 사무실 문밖을 향해 발을 내디딘 뒷모습의 정지 순간.",
            "validator_reason": "이동 동작의 방향성을 명확히 보존하기 위해 mid-stride 상태로 재작성했습니다."
          },
          {
            "shot_index": 5,
            "description": "텅 빈 사무실 안, 혜수의 책상 앞에 홀로 앉은 수리영의 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 6,
            "description": "책상 위에 어지럽게 널린 끔찍한 살인사건 현장 사진들 클로즈업.",
            "based_on_beat": 2,
            "characters": []
          },
          {
            "shot_index": 7,
            "description": "수리영이 사진을 든 채 눈을 크게 뜬 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 8,
            "description": "김형사의 책상 위 모니터 화면에 알림창이 뜬 정지 순간.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 9,
            "description": "수리영이 고개를 돌린 채 멈춰서 주위를 살피는 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 고개를 돌려 주위를 살피는 정지 순간.",
            "validator_reason": "'고개를 돌려'라는 시간적 흐름의 표현을 '돌린 채 멈춰서'라는 단일 상태로 수정했습니다."
          },
          {
            "shot_index": 10,
            "description": "수리영의 손가락이 마우스 버튼 위에 얹힌 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 11,
            "description": "모니터 화면 속 해상 지도 위에 붉은 좌표가 표시된 클로즈업.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 12,
            "description": "수리영이 사색이 된 얼굴로 모니터를 응시하는 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 13,
            "description": "수리영의 손이 펜을 쥔 채 종이에 닿은 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 14,
            "description": "수리영이 접은 메모지를 주머니에 넣은 채 멈춘 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 15,
            "description": "수리영이 반쯤 열린 사무실 문밖으로 한 발을 내딛는 mid-stride 뒷모습의 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 사무실 문을 열고 밖으로 나서는 뒷모습의 정지 순간.",
            "validator_reason": "'문을 열고 나서는'이라는 두 연속 동작을 문이 열린 결과 상태와 걷는 mid-stride 정지 순간으로 통합했습니다."
          }
        ]
      },
      {
        "scene_index": 22,
        "scene_heading": "S#22. 경찰서 밖 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "수리영이 자전거 안장에 앉아 한쪽 페달을 딛어 내린 찰나, 머리카락이 바람에 뒤로 흩날리는 고정 상태.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 자전거 안장에 앉아 페달을 밟은 자세의 정지 순간.",
            "validator_reason": "자전거를 달리는 이동 동작이므로, '정지 순간'이라는 표현 대신 mid-action 찰나로 묘사하여 추진력과 방향성을 보존함."
          }
        ]
      },
      {
        "scene_index": 23,
        "scene_heading": "S#23. 어느 PC방 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "PC방 모니터 불빛이 수리영의 얼굴을 비춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 2,
            "description": "모니터 화면에 해상 지도가 띄워진 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "프린터에서 지도가 인쇄되어 나온 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 4,
            "description": "수리영의 손이 접힌 지도를 백팩 안으로 밀어 넣은 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 24,
        "scene_heading": "S#24. 해안가 / 소나기",
        "shots": [
          {
            "shot_index": 1,
            "description": "먹구름이 낀 하늘에서 번개가 번쩍인 찰나의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "세찬 비가 내리는 해안도로 위, 자전거 핸들을 꽉 쥔 채 상체를 숙이고 한쪽 페달을 힘껏 밟아 내린 수리영, 빗방울이 등 뒤쪽으로 흩날리는 찰나.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "세찬 비가 내리는 해안도로 위, 수리영이 자전거 핸들을 꽉 쥔 채 상체를 숙인 정지 순간.",
            "validator_reason": "자전거를 타고 달리는 역동성을 보존하기 위해 페달을 밟아 내리는 mid-action 자세와 빗물이 뒤로 흩날리는 방향성을 명시함."
          },
          {
            "shot_index": 3,
            "description": "비에 흠뻑 젖은 수리영의 굳은 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 25,
        "scene_heading": "S#25. 옥탑방 안 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "현관문 앞에 선 수리영의 발밑으로 젖은 흙발자국이 찍힌 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 2,
            "description": "거실 바닥에 가재도구와 쓰러진 식탁 의자들이 널브러진 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "수리영이 가쁜 숨으로 입을 벌린 얼굴의 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 가쁜 숨을 몰아쉬며 입을 벌린 정지 순간.",
            "validator_reason": "‘몰아쉬며’가 입을 벌린 상태와 동작을 연결하므로 한 찰나의 고정 상태로 정리했습니다."
          },
          {
            "shot_index": 4,
            "description": "수리영의 시선이 열린 방문 틈을 향한 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "방 안 벽면에 붉은 원이 그려진 정지 순간.",
            "based_on_beat": 2,
            "characters": []
          },
          {
            "shot_index": 6,
            "description": "붉은 원 한가운데 피 묻은 낡은 사진이 꽂힌 클로즈업.",
            "based_on_beat": 2,
            "characters": []
          },
          {
            "shot_index": 7,
            "description": "수리영의 손이 벽에서 사진을 떼어낸 채 멈춘 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 8,
            "description": "사진 속 시골 식당 지붕 위에 둥근 원이 설치된 모습 클로즈업.",
            "based_on_beat": 2,
            "characters": []
          },
          {
            "shot_index": 9,
            "description": "사진 속 식당 앞에 두 명의 한국인 소녀가 앉아 있는 모습 클로즈업.",
            "based_on_beat": 2,
            "characters": []
          },
          {
            "shot_index": 10,
            "description": "수리영이 침대 모서리에 주저앉은 채 허공을 응시하는 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 11,
            "description": "수리영이 백팩을 멘 채 엉망이 된 거실 한가운데 선 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 12,
            "description": "수리영의 손에 피 묻은 사진이 꽉 쥐어진 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 13,
            "description": "수리영이 현관문 밖으로 나서는 뒷모습의 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 26,
        "scene_heading": "S#26. 포구 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "짙은 안개가 깔린 텅 빈 포구의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "갯바위 위에 수리영이 웅크리고 앉은 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 3,
            "description": "갯바위 옆에 놓인 스마트폰 화면에 혜수의 이름이 뜬 클로즈업.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 4,
            "description": "수리영이 안개 낀 바다를 향해 고개를 돌린 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "짙은 안개 속에서 작은 배 한 척의 뱃머리가 드러난 정지 순간.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 6,
            "description": "수리영이 자리에서 벌떡 일어선 자세의 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 7,
            "description": "인우의 손이 닻줄을 기둥에 묶은 채 멈춘 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영이 배 앞에 서서 인우를 올려다보는 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "인우"
            ]
          },
          {
            "shot_index": 9,
            "description": "인우가 무표정한 얼굴로 수리영을 내려다보는 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "인우",
              "수리영"
            ]
          },
          {
            "shot_index": 10,
            "description": "수리영이 두 손을 모은 채 간절한 눈빛으로 인우를 바라보는 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "인우"
            ]
          },
          {
            "shot_index": 11,
            "description": "인우가 한 손을 턱에 댄 채 살짝 고개를 숙인 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "인우"
            ],
            "original_description": "인우가 턱을 긁적이며 고개를 끄덕인 정지 순간.",
            "validator_reason": "'긁적이며'와 '끄덕인'이라는 두 가지 동작이 혼재되어 있어 시각적으로 명확한 하나의 고정 자세로 수정했습니다."
          },
          {
            "shot_index": 12,
            "description": "수리영이 바다를 향해 선 채 스마트폰을 입가에 댄 정지 순간.",
            "based_on_beat": 5,
            "characters": [
              "수리영"
            ]
          }
        ]
      },
      {
        "scene_index": 27,
        "scene_heading": "S#27. 옥탑방 안 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "엉망이 된 옥탑방 거실 한가운데 혜수가 선 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ]
          },
          {
            "shot_index": 2,
            "description": "혜수가 스마트폰을 귀에 댄 채 눈을 크게 뜬 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ]
          },
          {
            "shot_index": 3,
            "description": "혜수가 불안한 표정으로 김형사를 돌아본 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "김형사"
            ]
          },
          {
            "shot_index": 4,
            "description": "김형사가 팔짱을 낀 채 혀를 차는 표정의 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "김형사"
            ]
          },
          {
            "shot_index": 5,
            "description": "열린 현관문이 비스듬히 열린 채 멈춘 정지 순간.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 6,
            "description": "텅 빈 옥탑방 거실에 어스름한 저녁빛이 스며든 정지 순간.",
            "based_on_beat": 3,
            "characters": []
          }
        ]
      },
      {
        "scene_index": 28,
        "scene_heading": "S#28. 바다 + 갑판 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "해 질 무렵 붉은 노을이 비치는 바다 위 소형 어선이 떠 있는 원경의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "갑판에 앉은 수리영의 손이 지도를 쥔 채 앞으로 뻗은 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 3,
            "description": "인우의 손이 지도를 받아 든 채 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 4,
            "description": "지도를 내려다보는 인우의 미간이 찌푸려진 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영의 손가락이 낡은 사진을 쥔 채 멈춘 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 6,
            "description": "사진을 내려다보는 인우의 눈이 크게 떠진 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영이 사진을 인우의 눈앞으로 바짝 들이민 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영의 손가락이 사진 속 '금월' 글씨를 가리킨 채 멈춘 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 9,
            "description": "수리영이 날카로운 눈빛으로 인우를 올려다보는 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ]
          },
          {
            "shot_index": 10,
            "description": "당황하여 눈이 크게 뜨인 채 굳어버린 인우의 눈동자 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "original_description": "인우의 눈동자가 흔들리는 클로즈업.",
            "validator_reason": "'흔들리는'은 연속적인 움직임을 내포하므로, 당황한 순간의 고정된 상태로 수정함."
          },
          {
            "shot_index": 11,
            "description": "인우가 갑판에서 몸을 일으켜 세운 자세의 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 12,
            "description": "조타실 문을 향해 달려가는 도중, 한쪽 발이 허공에 떠 있고 상체가 앞으로 기울어진 mid-stride 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "original_description": "인우가 조타실 문을 향해 발을 내디딘 정지 순간.",
            "validator_reason": "원문의 '달려가'라는 이동 동작의 방향성과 추진력을 보존하기 위해 mid-action freeze 묘사로 구체화함."
          },
          {
            "shot_index": 13,
            "description": "수리영이 자리에서 벌떡 일어선 자세의 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 14,
            "description": "인우의 손이 조타실 타륜을 쥔 채 멈춘 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 15,
            "description": "수리영의 양손이 인우의 팔을 꽉 붙잡은 채 멈춘 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "인우"
            ]
          }
        ]
      },
      {
        "scene_index": 29,
        "scene_heading": "S#29. 조타실 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "조타실 안에서 수리영이 인우의 앞을 가로막고 선 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "인우"
            ]
          },
          {
            "shot_index": 2,
            "description": "인우가 턱을 치켜든 채 수리영을 내려다보는 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "인우"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영이 미간을 찌푸린 채 입을 크게 벌린 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 4,
            "description": "수리영의 손가락이 사진 속 어린 소녀의 얼굴을 가리킨 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 5,
            "description": "인우가 입술을 굳게 다문 채 사진을 응시하는 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 6,
            "description": "수리영이 단호한 표정으로 인우의 눈을 마주 본 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ]
          },
          {
            "shot_index": 7,
            "description": "인우의 얼굴이 창백하게 굳어진 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 8,
            "description": "인우의 어깨너머로 조타실 벽면에 수많은 둥근 원들이 나타난 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ]
          },
          {
            "shot_index": 9,
            "description": "조타실 유리창에 선명한 붉은 원이 떠오른 클로즈업.",
            "based_on_beat": 3,
            "characters": []
          },
          {
            "shot_index": 10,
            "description": "수리영의 눈동자가 초점을 잃고 풀린 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 11,
            "description": "수리영의 몸이 앞으로 기울어진 자세의 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ]
          },
          {
            "shot_index": 12,
            "description": "인우가 눈을 부릅뜬 채 수리영을 내려다보는 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "인우",
              "수리영"
            ]
          },
          {
            "shot_index": 13,
            "description": "수리영의 머리가 인우의 어깨에 닿은 채 멈춘 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "인우"
            ]
          }
        ]
      },
      {
        "scene_index": 30,
        "scene_heading": "S#30. 바다 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "해 질 무렵 바다 수면 위로 황금빛 노을이 반사된 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 2,
            "description": "바다 한가운데 짙은 회색 안개 띠가 거대한 벽처럼 솟아오른 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          },
          {
            "shot_index": 3,
            "description": "소형 어선의 뱃머리가 짙은 안개 벽에 막 닿은 채 뱃머리 주변으로 하얀 물살을 가르는 찰나.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "소형 어선의 뱃머리가 짙은 안개 벽에 닿은 정지 순간.",
            "validator_reason": "배가 진입하는 이동 동작이므로 정지된 느낌 대신 물살을 통해 추진 방향성을 알 수 있는 mid-action 상태로 재작성했습니다."
          },
          {
            "shot_index": 4,
            "description": "소형 어선의 뒷부분만 안개 밖으로 남겨진 채 배 뒤로 수면에 길게 하얀 항적을 남기는 찰나.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "소형 어선의 뒷부분만 안개 밖으로 남겨진 채 멈춘 정지 순간.",
            "validator_reason": "배가 완전히 멈춘 상황이 아니므로 '멈춘' 표현을 삭제하고 항적을 통해 전진하는 방향성을 보존했습니다."
          },
          {
            "shot_index": 5,
            "description": "짙은 안개만 가득 찬 텅 빈 바다의 정지 순간.",
            "based_on_beat": 1,
            "characters": []
          }
        ]
      }
    ],
    "total_shots": 228,
    "changed_shots": 31
  },
  "step_id": "shot_validator",
  "run_id": "e2f554e0-cef5-42da-8898-72a103710b0a",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-04-30T09:48:39.334544+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50"
}