{
  "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 묘사로 변경했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "피가 흐르는 커다란 이빨 자국이 선명한 한국인 남자의 허벅지",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "잔뜩 겁에 질린 표정으로 어깨 너머를 돌아본 채 굳은 한국인 남자의 얼굴 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "공중에 뜬 채 한국인 남자를 향해 팔을 뻗은 검은 형상",
            "based_on_beat": 1,
            "characters": [
              "검은 형상",
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "숲 바닥에 쓰러진 한국인 남자를 강하게 짓누르고 있는 검은 형상, 남자의 몸이 바닥에 밀착된 찰나",
            "based_on_beat": 1,
            "characters": [
              "검은 형상",
              "한국인 남자"
            ],
            "original_description": "숲 바닥에 쓰러진 한국인 남자의 위를 덮어 누른 채 멈춘 검은 형상",
            "validator_reason": "능동적 신체 접촉이므로 '멈춘'이라는 정적 표현 대신 힘의 방향과 접촉을 보존한 mid-impact 묘사로 변경했습니다.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 2,
        "scene_heading": "S#2. 도시 뒷골목 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 골목길 희미한 가로등 아래, 전봇대에 몸을 기댄 채 밀착해 정지한 한국인 남자와 한국인 여자",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자",
              "한국인 여자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "한국인 여자의 목덜미에 얼굴을 바짝 들이민 채 멈춘 한국인 남자",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자",
              "한국인 여자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "어둠 속에서 붉게 빛나는 한국인 남자의 두 눈 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "한국인 여자의 목에 깊이 박힌 한국인 남자의 이빨과 그 주위의 선명한 핏자국",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자",
              "한국인 여자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "바닥에 힘없이 늘어진 한국인 여자, 그리고 그 위에 선 한국인 남자의 전신",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자",
              "한국인 여자"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 3,
        "scene_heading": "S#3. 현장 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "폴리스 라인이 쳐진 낮의 사건 현장, 바닥을 살피는 자세로 멈춘 제복 차림의 한국인 경찰들",
            "based_on_beat": 1,
            "characters": [
              "한국인 경찰들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "천으로 덮인 시신을 들것에 실은 채 고정된 한국인 경찰들",
            "based_on_beat": 1,
            "characters": [
              "한국인 경찰들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "형사들 사이에서 바닥을 향해 손가락을 가리킨 채 서 있는 혜수",
            "based_on_beat": 1,
            "characters": [
              "형사들",
              "혜수"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 4,
        "scene_heading": "S#4. 옥탑방 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "낮 시간 인천 변두리, 낡은 다세대 빌라 옥상 위에 자리 잡은 옥탑방의 부감 구도",
            "based_on_beat": 0,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 5,
        "scene_heading": "S#5. 옥탑방 안 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "작은 거실 창문을 통과한 햇살이 비추는 싱크대, 물이 쏟아지는 상태의 수도꼭지와 씻다 만 석창포",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "가스레인지 위, 끓는 물이 담겨 김이 피어오르는 상태의 냄비",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "굳은 표정으로 TV 화면을 응시하며 앉아있는 민숙의 얼굴",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "방문을 연 채 양팔을 위로 뻗고 멈춘 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "TV를 향해 리모컨을 쥔 채 팔을 뻗어 고정된 민숙의 손",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "수리영을 향해 부드러운 미소를 띤 민숙의 얼굴",
            "based_on_beat": 1,
            "characters": [
              "민숙",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "식탁에 앉은 채 턱을 괴고 무심한 표정을 짓고 있는 수리영",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "어두운 빛깔의 약초 물이 담긴 컵을 수리영 쪽으로 내민 채 멈춘 민숙의 손",
            "based_on_beat": 2,
            "characters": [
              "민숙",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "컵을 입가에 댄 채 미간을 찌푸린 수리영의 얼굴",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "현관에 서서 한쪽 발에 신발을 꿴 채 멈춘 수리영의 하반신",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "민숙의 곁에 얼굴을 바짝 들이대고 환하게 웃고 있는 수리영",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "수리영을 바라보며 미소 짓는 민숙의 얼굴",
            "based_on_beat": 3,
            "characters": [
              "민숙",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "작은 원형 표식이 선명하게 드러난 민숙의 손목 클로즈업",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 6,
        "scene_heading": "S#6. 해안가 도로 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "맑은 낮, 이어폰을 낀 채 해안가 도로에서 자전거 페달을 밟아 내리는 중간 동작의 수리영 전신, 바람에 머리카락과 옷자락이 뒤로 흩날리는 모습",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "original_description": "맑은 낮, 이어폰을 낀 채 해안가 도로에서 자전거 페달에 발을 올리고 고정된 수리영의 전신",
            "validator_reason": "자전거로 달리는 동작의 추진력을 잃지 않도록 '고정된' 표현을 제거하고 페달을 밟는 mid-action 순간으로 재작성함.",
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "바닷바람을 맞으며 밝은 미소를 짓고 있는 수리영의 옆얼굴",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 7,
        "scene_heading": "S#7. 유기견 보호원 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "철장 안에서 이빨을 드러낸 채 꼿꼿이 서 있는 로트와일러",
            "based_on_beat": 1,
            "characters": [
              "로트와일러"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "미간을 좁힌 채 로트와일러의 눈을 강하게 응시하는 수리영의 얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "로트와일러"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "귀를 뒤로 젖힌 채 바닥에 웅크리고 앉은 로트와일러",
            "based_on_beat": 1,
            "characters": [
              "로트와일러"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "로트와일러의 엉덩이에 주사기 바늘을 꽂은 채 멈춘 50대 한국인 남성 의사의 손",
            "based_on_beat": 1,
            "characters": [
              "50대 한국인 남성 의사",
              "로트와일러"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "철장 안의 개들을 바라보며 입술을 살짝 벌린 채 멈춘 수리영의 옆모습",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "개들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "귓가에 휴대폰을 댄 채 허공을 응시하는 수리영",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "쭈그려 앉은 채 개의 털에 이발기를 가져다 대고 고정된 수리영의 손",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "개"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 8,
        "scene_heading": "S#8. 번화가·대형 마트 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "해 질 무렵 네온사인과 포장마차가 가득한 번화가, 자전거 핸들을 꽉 쥔 채 몸을 기울인 수리영의 자세",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "대형 마트 입구 앞에 자전거를 세운 채 멈춰 선 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "마트 내부 진열대 사이에서 고개를 돌린 채 굳어 있는 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "마트 유니폼을 입은 40대 한국인 여성 직원을 마주 보고 정지한 수리영",
            "based_on_beat": 2,
            "characters": [
              "40대 한국인 여성 직원",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "종이 상자를 양손에 든 채 수리영을 향해 고개를 돌린 남자직원",
            "based_on_beat": 2,
            "characters": [
              "남자직원",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "눈을 동그랗게 뜬 채 입술을 굳게 다문 수리영의 얼굴",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "마트 외부, 휴대폰을 귀에 댄 채 초조한 표정으로 선 수리영",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "휴대폰을 내린 채 마트를 등지고 발걸음을 뗀 자세의 수리영",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 9,
        "scene_heading": "S#9. 해안가 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 밤 해안가 도로, 자전거 안장에 앉아 몸을 앞으로 숙인 채 한쪽 페달을 내리밟는 수리영, 옷자락이 진행 반대 방향으로 휘날리는 찰나",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 밤 해안가 도로, 자전거 위에서 몸을 앞으로 숙인 자세로 고정된 수리영",
            "validator_reason": "바삐 달려가는 이동 동작의 추진력을 보존하기 위해 고정된 자세 대신 페달을 밟는 mid-action 순간으로 재작성함",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 10,
        "scene_heading": "S#10. 옥탑방 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 밤, 물탱크 옆 평상 위에서 공중에 떠 멈춘 말린 석창포 잎사귀들",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "한 발을 내딛기 위해 공중에 들려 있는 낯선 남자의 신발 위로 말린 석창포 잎사귀가 스치는 순간",
            "based_on_beat": 1,
            "characters": [
              "낯선 남자"
            ],
            "original_description": "옥상 바닥의 석창포 잎사귀 위에 멈춰 선 낯선 신발 한 쌍",
            "validator_reason": "원문의 걷는 동작을 보존하기 위해 발을 내딛는 mid-action 순간으로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "옥상 바닥에 길게 드리워진 남자의 짙은 그림자",
            "based_on_beat": 1,
            "characters": [
              "낯선 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "철제 현관문 바로 앞에 멈춰 선 남자의 하반신 실루엣",
            "based_on_beat": 1,
            "characters": [
              "낯선 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "현관문 틈새로 말린 광고 전단지를 절반쯤 밀어 넣은 채 고정된 손가락",
            "based_on_beat": 1,
            "characters": [
              "낯선 남자"
            ],
            "original_description": "현관문 틈새로 말린 광고 전단지를 밀어 넣고 멈춘 손가락",
            "validator_reason": "순차적 동작 연결어('밀어 넣고 멈춘')를 피하고 전단지가 밀어 넣어진 특정 고정 상태를 시각화했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "어둠 속에서 아주 미세하게 틈이 벌어진 옥탑방 현관문",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "창문에 비친 실루엣, 민숙의 형상 위로 상체를 겹쳐 누른 남자의 그림자",
            "based_on_beat": 1,
            "characters": [
              "민숙",
              "낯선 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "창문에 비친 실루엣, 민숙의 어깨 부근을 물어뜯듯 입을 벌리고 얼굴을 들이민 남자의 역동적인 그림자",
            "based_on_beat": 1,
            "characters": [
              "민숙",
              "낯선 남자"
            ],
            "original_description": "민숙의 어깨 부근에 얼굴을 파묻은 채 멈춘 남자의 그림자",
            "validator_reason": "단순한 정적 묘사('얼굴을 파묻은 채 멈춘')를 피하고, 원문의 폭력적 동작(물어뜯는)의 능동성을 시각적으로 보존한 정지 순간으로 수정했습니다.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "S#11. 옥탑 방 밖 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 골목길, 자전거 안장에 앉아 한쪽 페달을 밟고 몸을 앞으로 기울인 수리영, 주행 속도로 인해 옷자락이 뒤로 휘날리는 모습",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 골목길, 자전거 위에 앉아 페달을 딛고 몸을 기울인 수리영",
            "validator_reason": "자전거를 타는 이동 동작의 추진력 단서(옷자락 휘날림)를 보존하여 mid-action freeze 적용",
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "다세대 빌라 후미진 마당 벽에 자전거를 기대어 놓은 채 서 있는 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "건물 외벽에 설치된 철제 증축 계단의 오픈 발판 위로 한쪽 발을 내딛고 다른 발은 공중에 떠 있는 수리영의 하반신",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "건물 외벽에 설치된 철제 증축 계단의 오픈 발판과 얇은 강판 스트링거 위에 올려진 수리영의 발",
            "validator_reason": "계단을 급히 오르는 이동 동작을 한 발이 공중에 뜬 mid-action 순간으로 보존하여 재작성",
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "철제 파이프 난간을 꽉 움켜쥔 채 지지 기둥 너머 계단 위쪽을 올려다보는 수리영의 굳은 얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "옥상 바닥에 선 채 코를 찡그리고 멈춘 수리영의 얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "옥상 외부에서 바라본, 반쯤 열린 채 고정된 옥탑방 철제 현관문",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 12,
        "scene_heading": "S#12. 옥탑방 안 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 옥탑방 거실, 켜진 TV와 희미한 스탠드 불빛을 배경으로 열린 현관문 쪽에 멈춰 선 수리영의 전신",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "빈 안방 문 앞, 손잡이를 쥔 채 거실 식탁 위 엎어진 찻잔을 응시하는 수리영의 옆얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "자신의 방문을 연 채, 바닥의 흥건한 핏자국을 내려다보는 수리영의 크게 떠진 두 눈 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "피 묻은 발자국이 이어진 닫힌 커튼을 손으로 꽉 쥔 수리영의 손",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "커튼이 젖혀진 창가 앞, 고개를 떨군 채 앉아있는 피투성이의 민숙 전신",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "짐승에게 뜯긴 듯 살점이 찢겨 피가 맺힌 민숙의 어깨와 쇄골 상처 클로즈업",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "입을 벌린 채 민숙을 향해 팔을 뻗고 굳어버린 수리영",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "피 묻은 바닥 위, 귀에 핸드폰을 댄 채 뒤로 한 걸음 물러서느라 한쪽 발이 허공에 살짝 떠 있는 수리영의 하반신",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "피 묻은 바닥 위, 귀에 핸드폰을 댄 채 뒤로 주춤 물러난 수리영의 하반신",
            "validator_reason": "뒤로 주춤하는 이동 동작의 중간 찰나(mid-action)를 포착하여 움직임의 방향성을 보존함",
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "죽은 민숙의 굳은 손아귀에 쥐어진 구겨진 사진 클로즈업",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "붉은색으로 변해있는 민숙의 손목 표식 클로즈업",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "침대 위 벽면, 피로 그린 듯한 붉은 원 형태가 선명하게 드러난 옥탑방 벽",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "벽의 붉은 원을 바라보며 얼굴이 일그러진 채 입을 크게 벌린 수리영의 얼굴",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "S#13. 옥탑방 외곽 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 밤, 옥탑으로 이어진 얇은 강판 스트링거의 철제 오픈 발판 계단을 급하게 뛰어내려오는 중간 찰나, 한 발은 공중에 뜬 채 옷자락이 위로 흩날리는 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 밤, 옥탑으로 이어진 얇은 강판 스트링거의 철제 오픈 발판 계단을 딛고 선 수리영",
            "validator_reason": "원문의 허겁지겁 계단을 내려가는 이동 동작이 정지 자세로 누락되어, 추진력을 보존한 mid-action 찰나로 재작성함.",
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "건물 외부 마당, 경찰차의 붉은 경광등 불빛을 받으며 서 있는 혜수",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "초점을 잃은 눈으로 계단 아래 혜수를 내려다보는 수리영의 굳은 얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "눈을 크게 뜬 채 입을 벌리고 멈춘 혜수의 놀란 얼굴 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "건물 외벽의 철제 파이프 난간을 짚고 철제 계단 위쪽으로 뛰어오르는 중간 찰나, 한쪽 발은 공중에 들려 있고 상체가 앞으로 강하게 기울어진 혜수",
            "based_on_beat": 2,
            "characters": [
              "혜수"
            ],
            "original_description": "건물 외벽의 철제 파이프 난간을 짚은 채 철제 계단 위쪽으로 몸을 기울인 혜수",
            "validator_reason": "원문의 뛰어 올라가는 이동 동작의 추진력을 보존하기 위해 mid-action 찰나로 재작성함.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "계단을 뛰어오르는 중간 찰나, 철제 계단 오픈 발판에 한쪽 발을 강하게 딛고 반대쪽 발은 공중에 뜬 김형사의 하반신",
            "based_on_beat": 2,
            "characters": [
              "김형사"
            ],
            "original_description": "혜수의 뒤를 바짝 쫓아 철제 계단 오픈 발판에 한쪽 발을 디딘 김형사의 하반신",
            "validator_reason": "원문의 쫓는(뛰어오르는) 이동 동작의 역동성을 보존하기 위해 mid-action 찰나로 재작성함.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 14,
        "scene_heading": "S#14. 옥탑방 안 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "옥탑방 현관 안, 어깨를 늘어뜨린 채 서 있는 김형사와 그를 바라보는 혜수",
            "based_on_beat": 1,
            "characters": [
              "김형사",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "활짝 열린 방문 너머, 핏자국 하나 없이 말끔하게 정돈된 빈 방 전경",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "깨끗한 바닥을 멍하니 내려다보는 파리한 안색의 수리영 얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "텅 빈 거실 식탁 모서리를 두 손으로 짚고 선 수리영",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "미간을 찌푸린 채 수리영을 향해 손가락을 뻗은 자세로 서 있는 김형사",
            "based_on_beat": 2,
            "characters": [
              "김형사",
              "수리영"
            ],
            "original_description": "미간을 찌푸린 채 수리영을 향해 삿대질을 하고 멈춘 김형사",
            "validator_reason": "'하고 멈춘'이라는 동작의 연속·정지 표현 대신 손가락을 뻗은 고정 상태 묘사로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "수리영의 어깨에 두 손을 올린 채 걱정스럽게 바라보는 혜수",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "방 한구석, 백팩과 인형이 낯선 위치에 놓인 채 정지된 구도",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 15,
        "scene_heading": "S#15. 해안가. 버스정류장 부근 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 밤 해안가 정류장 벤치, 바다를 향해 시선을 던진 채 굳어있는 수리영의 옆모습",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "캔 음료수를 든 손을 수리영 쪽으로 뻗고 멈춘 혜수",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "벤치에서 몸을 일으킨 채 한쪽으로 몸을 튼 수리영의 자세",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "한 발을 공중에 띄우고 머리카락이 뒤로 흩날리는 역동적인 달리기(mid-stride) 자세로 등을 보인 수리영과, 그를 향해 입을 벌리고 선 혜수",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "혜수"
            ],
            "original_description": "등을 보인 채 달리는 자세의 수리영 뒷모습과, 그를 향해 입을 벌리고 선 혜수",
            "validator_reason": "달리는 동작의 방향성과 추진력을 보존하기 위해 mid-action 자세로 구체화함.",
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "먼 거리의 나무 기둥을 거친 관찰자 시점 구도, 벤치에 선 혜수와 앞을 향해 힘차게 달려나가는 도중 캡처된 수리영의 역동적인 실루엣",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "수리영"
            ],
            "original_description": "먼 거리의 나무 기둥을 거친 관찰자 시점 구도, 벤치에 선 혜수와 달리는 자세로 고정된 수리영의 실루엣",
            "validator_reason": "이동 동작에서 '고정된'이라는 정적 표현 사용을 금지하는 규칙에 따라 추진력이 묘사된 찰나로 변경함.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "형광등 불빛이 켜진 경찰서 사무실, 귓가에 핸드폰을 댄 채 굳은 표정으로 선 혜수",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "책상에 발을 올린 채 의자에 기대앉아 혜수를 쳐다보는 김형사",
            "based_on_beat": 2,
            "characters": [
              "김형사",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "핸드폰 화면을 김형사의 눈앞으로 불쑥 내민 채 멈춘 혜수의 손",
            "based_on_beat": 2,
            "characters": [
              "김형사",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "미간을 찌푸린 채 혜수의 핸드폰 화면을 노려보는 김형사의 얼굴",
            "based_on_beat": 2,
            "characters": [
              "김형사",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "책상을 짚은 양팔에 힘을 준 채 단호한 눈빛으로 김형사를 내려다보는 혜수",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "김형사"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 17,
        "scene_heading": "S#17. 옥탑방 / 동틀무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "푸스름한 새벽빛이 감도는 옥탑 마당, 벽돌 담장 위에 멈춰 서서 불 켜진 옥탑방 창문을 향해 고개를 돌린 검은 고양이",
            "based_on_beat": 1,
            "characters": [
              "검은 고양이"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 18,
        "scene_heading": "S#18. 안방 안 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "아침 햇살이 비추는 안방, 침대 매트리스에 이마를 기댄 채 눈을 감고 앉아있는 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "닫힌 방문의 손잡이를 꽉 쥔 채 멈춘 수리영의 손",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "열린 방문 틈 사이로 보이는 핏자국 하나 없이 깨끗한 바닥",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "귀에 폰을 댄 채 미간을 잔뜩 찌푸린 수리영의 얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "물방울이 맺힌 얼굴로 화장실 거울을 뚫어지게 응시하는 수리영",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "거울 속 반사된 욕실 타일 벽면 위에 뚜렷하게 새겨진 붉은 원 표식",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "진짜 타일 벽을 향해 고개를 급격히 돌리는 도중의 수리영의 놀란 옆얼굴, 회전 방향 반대편으로 머리카락이 흩날리는 찰나",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "고개를 홱 돌려 진짜 타일 벽을 바라보는 수리영의 놀란 옆얼굴",
            "validator_reason": "고개를 돌리고 바라보는 순차적 연속 동작을 고개를 돌리는 역동적인 도중의 한 찰나(mid-action)로 재작성함.",
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "수리영의 시선이 머문 곳, 표식 없이 하얗고 깨끗한 욕실 타일 벽면",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "거실 식탁 의자에 앉아 유리컵을 쥔 채 식탁 위 액자 사진을 내려다보는 수리영",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "액자 속 사진, 민숙의 얼굴 형상이 기괴하게 녹아내리듯 일그러진 상태",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "두 눈을 질끈 감고 입을 크게 벌린 채 허공을 향해 얼굴을 든 수리영",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "자신의 오른쪽 뺨을 손바닥으로 강하게 치는 순간의 수리영 얼굴 클로즈업, 타격 충격으로 뺨 피부가 밀려나며 고개가 타격 방향으로 살짝 돌아간 찰나",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "자신의 오른쪽 뺨에 손바닥을 강하게 밀착시킨 채 굳어있는 수리영의 얼굴 클로즈업",
            "validator_reason": "스스로 뺨을 치는 능동적 타격 동작이 정적인 밀착 상태로 약화되었으므로, 힘의 방향과 충돌 지점의 변형이 드러나는 순간으로 보존함.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 19,
        "scene_heading": "S#19. 마트 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "마트 외부 자전거 거치대 앞, 자전거 핸들에서 손을 막 뗀 상태의 수리영 전신",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "이른 아침 한산한 마트 진열대 사이를 걷는 도중 한 발이 바닥에서 막 떨어진 상태의 수리영의 옆모습",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "이른 아침 한산한 마트 진열대 사이를 걷는 자세로 고정된 수리영의 옆모습",
            "validator_reason": "이동 동작의 freeze 시 정지를 뜻하는 단어 대신 추진력을 보여주는 mid-action 자세로 수정함",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "진열대 앞에서 남자직원을 마주 보고 멈춰 선 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "남자직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "수리영을 향해 고개를 살짝 갸웃하고 선 남자직원의 상체",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "남자직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "남자직원과 마주 선 채 입술을 살짝 벌리고 멈춘 수리영의 얼굴",
            "based_on_beat": 1,
            "characters": [
              "남자직원",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "마트 밖, 건물 외벽 상단에 고정된 둥근 CCTV 카메라",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "굳은 표정으로 건물 상단의 CCTV 카메라를 올려다보는 자세로 멈춘 수리영과 남자직원",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "남자직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "핸드폰을 귀에 댄 채 허공을 응시하고 고정된 수리영의 옆얼굴",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 20,
        "scene_heading": "S#20. 마트 총무과 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "마트 보안실 안, 책상 위 모니터를 쳐다보는 자세로 고정된 40대 한국인 남성 보안직원과 혜수의 뒷모습, 그 뒤에 서서 화면을 응시하는 채로 멈춘 수리영",
            "based_on_beat": 1,
            "characters": [
              "보안직원",
              "혜수",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "모니터 화면 속, 어두운 부분과 인물들의 형상만 희미하게 찍힌 정지 영상",
            "based_on_beat": 1,
            "characters": [
              "인물들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "화면을 향해 손가락을 가리킨 채 고개를 살짝 돌린 40대 한국인 남성 보안직원의 정지된 옆얼굴",
            "based_on_beat": 1,
            "characters": [
              "보안직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "두 손을 꽉 쥐고 미간을 잔뜩 찌푸린 수리영의 굳은 얼굴 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "보안직원 쪽으로 고개를 돌린 채 멈춘 혜수의 상체",
            "based_on_beat": 2,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 21,
        "scene_heading": "S#21. 경찰서 안 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "햇살이 비추는 낮 시간, 낡은 경찰서 외부 건물 전경",
            "based_on_beat": 0,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "사무실 안, 손에 서류 뭉치를 든 채 수리영과 혜수를 바라보고 서 있는 김형사",
            "based_on_beat": 1,
            "characters": [
              "김형사",
              "수리영",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "김형사를 향해 고개를 살짝 숙여 인사하는 자세의 수리영과 혜수",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "혜수",
              "김형사"
            ],
            "original_description": "김형사를 향해 고개를 살짝 숙인 채 멈춘 수리영과 혜수",
            "validator_reason": "실제로 멈춘 상황이 아니므로 인위적인 정지 표현('멈춘')을 제거했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "찌푸린 표정으로 서류를 내민 자세의 김형사 얼굴",
            "based_on_beat": 1,
            "characters": [
              "김형사"
            ],
            "original_description": "찌푸린 표정으로 서류를 내밀고 멈춘 김형사의 얼굴",
            "validator_reason": "실제로 멈춘 상황이 아니므로 인위적인 정지 표현('멈춘')을 제거했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "책상 앞 빈 의자에 양손을 무릎에 올린 채 다소곳이 앉아 있는 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "책상 앞 빈 의자에 양손을 무릎에 올린 채 다소곳이 앉아 굳어 있는 수리영",
            "validator_reason": "불필요하게 정지를 강조하는 '굳어 있는' 표현을 자연스러운 상태 묘사로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "수리영을 향해 옅은 미소를 짓고 선 혜수의 상체",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "수리영"
            ],
            "original_description": "수리영을 향해 옅은 미소를 짓고 멈춰 선 혜수의 상체",
            "validator_reason": "불필요하게 정지를 강조하는 '멈춰 선' 표현을 자연스러운 상태 묘사로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "경찰서 사무실 출입문을 향해 일제히 걸음을 내딛는 중간 자세, 한 발이 바닥에서 막 떨어지고 옷자락이 뒤로 살짝 펄럭이는 여러 명의 30-50대 한국인 남성 형사들",
            "based_on_beat": 1,
            "characters": [
              "30-50대 한국인 남성 형사들"
            ],
            "original_description": "경찰서 사무실 출입문을 향해 일제히 걷는 자세로 굳어 있는 여러 명의 30-50대 한국인 남성 형사들",
            "validator_reason": "이동 동작이므로 정지 표현('굳어 있는')을 삭제하고 motion direction을 보존하는 mid-action 자세로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "책상 위에 펼쳐진 잔혹한 시신 사진들을 향해 시선을 고정한 수리영의 크게 떠진 두 눈 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "목과 어깨의 살점이 뜯겨나간 시신 확대 사진들이 어지럽게 널려 있는 책상 위",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "목과 어깨의 살점이 뜯겨나간 시신 확대 사진들이 어지럽게 널려 있는 책상 위 정지 구도",
            "validator_reason": "'정지 구도'라는 불필요한 메타 표현을 제거했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "입을 벌린 채 경악한 표정을 짓고 있는 수리영의 얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "입을 벌린 채 경악한 표정으로 굳어 있는 수리영의 얼굴",
            "validator_reason": "감정 표현에 불필요하게 추가된 인위적인 '굳어 있는' 표현을 자연스러운 상태 묘사로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "뒤쪽 빈 책상 위, 환하게 켜진 컴퓨터 모니터를 돌아보는 자세의 수리영",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "뒤쪽 빈 책상 위, 환하게 켜진 컴퓨터 모니터를 돌아본 자세로 굳어 있는 수리영",
            "validator_reason": "인위적인 정지 표현인 '굳어 있는'을 제거했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "마우스를 쥐고 있는 수리영의 오른손",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "마우스를 쥔 채 고정된 수리영의 오른손",
            "validator_reason": "인위적인 정지 표현인 '고정된'을 제거했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "바다 위 특정 좌표 지점에 붉은 점이 표시된 위치추적 결과 모니터 화면 클로즈업",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 14,
            "description": "모니터 불빛이 비친 상태로 창백하게 질린 표정의 수리영 얼굴 클로즈업",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "모니터 불빛이 비친 상태로 창백하게 질린 표정으로 멈춘 수리영의 얼굴 클로즈업",
            "validator_reason": "인위적인 정지 표현인 '멈춘'을 제거했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 15,
            "description": "펜을 쥔 채 작은 종이조각에 펜 끝을 대고 있는 수리영의 손",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "펜을 쥔 채 작은 종이조각에 펜 끝을 대고 멈춘 수리영의 손",
            "validator_reason": "인위적인 정지 표현인 '멈춘'을 제거했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 16,
            "description": "접은 종이조각을 주머니에 반쯤 찔러 넣은 상태의 수리영의 손",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "접은 종이조각을 주머니에 반쯤 찔러 넣고 고정된 수리영의 손",
            "validator_reason": "인위적인 정지 표현인 '고정된'을 제거했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 17,
            "description": "경찰서 사무실 뒷문을 향해 몸을 돌려 걸음을 내딛는 중간 자세, 한쪽 발이 허공에 들려 있는 수리영 전신",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "경찰서 사무실 뒷문을 향해 몸을 돌려 발걸음을 떼는 자세의 수리영 전신",
            "validator_reason": "이동 동작이므로 motion direction을 보존하는 mid-action 자세로 구체화했습니다.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 22,
        "scene_heading": "S#22. 경찰서 밖 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "낮 시간 경찰서 앞, 자전거 안장에 앉아 한쪽 페달을 힘껏 밟아 내리는 mid-pedal 상태로, 머리카락이 이동 반대 방향으로 흩날리는 수리영의 전신",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "낮 시간 경찰서 앞, 자전거 페달 위에 양발을 올린 채 몸을 앞으로 기울인 자세로 고정된 수리영의 전신",
            "validator_reason": "원문에 이동/추진 동작이 있으나 '고정된'이라는 정지 강조 표현이 사용되어 추진력 단서가 사라졌으므로, mid-pedal 자세와 흩날리는 머리카락으로 motion direction을 보존함",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 23,
        "scene_heading": "S#23. 어느 PC방 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 PC방 모니터 불빛 아래, 마우스를 쥐고 화면을 노려보는 수리영의 옆모습",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "모니터 화면 속, 바다 위 좌표가 표시된 디지털 지도 정지 화면",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "프린터에서 막 빠져나온 종이 지도를 움켜쥔 수리영의 손",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "접힌 종이 지도 여러 장을 백팩 안으로 밀어 넣은 채 멈춘 수리영의 손",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 24,
        "scene_heading": "S#24. 해안가 / 소나기",
        "shots": [
          {
            "shot_index": 1,
            "description": "짙은 먹구름이 낀 잿빛 하늘 아래, 거센 빗줄기가 쏟아지는 해안가 도로 전경",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "쏟아지는 폭우 속, 온몸이 젖은 채 자전거 안장에 앉아 한쪽 무릎을 굽혀 페달을 강하게 내딛는 찰나의 수리영의 측면, 빗방울이 주행 반대 방향으로 흩날리는 모습",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "쏟아지는 폭우 속, 온몸이 젖은 채 자전거 페달을 강하게 밟는 자세로 굳어 있는 수리영의 측면",
            "validator_reason": "실제 이동 중인 상황이므로 '굳어 있는' 같은 정지 강조 표현을 제거하고, 페달을 밟는 역동적인 중간 찰나(mid-action)와 주행 방향성을 보존하도록 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "빗물에 젖은 채 앞을 똑바로 응시하는 수리영의 결연한 눈빛 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 25,
        "scene_heading": "S#25. 옥탑방 안 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "어스름한 저녁빛이 비치는 옥탑방 거실, 열린 창문과 바닥에 뒹구는 식탁 의자들을 배경으로 멈춰 선 수리영의 전신",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "바닥 여기저기에 흙투성이 발자국이 찍힌 채 어지럽혀진 거실 바닥",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "거실 한가운데 서서 호흡을 크게 들이마신 채 가슴을 부풀린 정지 자세의 수리영",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "열린 자신의 방문 틈새로 시선을 고정한 수리영의 옆얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "방 벽면에 거친 질감으로 그려진 붉은 원 형태와 그 중앙에 꽂혀 있는 피 묻은 사진",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "벽에서 떼어낸 피 묻은 낡은 흑백 사진을 양손으로 들고 멈춘 수리영의 손 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "사진 표면 위, 둥근 원 형태의 장식이 달린 지붕 아래 앉아있는 두 명의 10대 초반 한국인 여자아이들의 인쇄된 형상",
            "based_on_beat": 1,
            "characters": [
              "두 명의 10대 초반 한국인 여자아이들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "사진을 쥔 채 눈이 크게 확장되어 굳은 수리영의 얼굴",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "침대 매트리스 가장자리에 엉덩이를 댄 채 넋이 나간 표정으로 허공을 응시하는 수리영의 전신",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "백팩을 멘 채 옥탑방 현관문 바깥으로 한쪽 발을 내디디고 몸을 앞으로 기울인 수리영의 뒷모습",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "백팩을 멘 채 옥탑방 현관문을 나서는 자세로 정지된 수리영의 뒷모습",
            "validator_reason": "현관문을 나서는 이동 동작을 정지 상태로 약화한 표현을 제거하고 이동 방향이 드러나는 한 찰나의 자세로 교정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "수리영의 굳은 오른손에 꽉 쥐어진 구겨진 사진 클로즈업",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 26,
        "scene_heading": "S#26. 포구 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "짙은 안개가 깔린 회색빛 텅 빈 포구의 고요한 전경",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "안개가 낀 포구 앞 갯바위 위에 무릎을 모으고 앉아 멈춰 있는 수리영의 전신",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "수리영의 무릎 위에 놓인, '혜수 이모'라는 발신자 이름과 다수의 부재중 알림이 뜬 핸드폰 정지 화면",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "짙은 안개 속에서 뱃머리를 내민 채 고정된 낡은 어선의 형태",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "배 뱃머리에서 굵은 닻줄을 두 손으로 꽉 쥐고 몸을 굽힌 인우의 멈춘 자세",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "선착장에 멈춰 선 배와 인우를 향해 걸어가는 도중, 한쪽 발이 땅에서 막 떨어진 상태로 추진력이 보존된 수리영의 측면",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "선착장에 멈춰 선 배와 인우를 향해 다가가는 자세로 고정된 수리영의 측면",
            "validator_reason": "이동 동작인 '다가가는' 표현을 한쪽 발이 들린 mid-action 찰나로 구체화하여 모션 방향성을 보존함.",
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "수리영을 마주 본 채 무심한 표정으로 밧줄을 기둥에 반쯤 감아 쥔 상태로 고정된 인우의 상체",
            "based_on_beat": 3,
            "characters": [
              "인우",
              "수리영"
            ],
            "original_description": "수리영을 마주 본 채 무심한 표정으로 밧줄을 묶고 멈춘 인우의 상체",
            "validator_reason": "'밧줄을 묶고 멈춘'이라는 두 동작의 혼합을 밧줄을 반쯤 감아 쥔 한 순간의 시각적 고정 상태로 수정함.",
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "미간을 찌푸린 채 인우를 향해 입술을 벌리고 고정된 수리영의 굳은 얼굴",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "고개를 반쯤 돌린 채 텅 빈 주변 포구 쪽을 바라보는 자세로 고정된 인우의 뒷모습",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "original_description": "고개를 돌려 텅 빈 주변 포구를 둘러보는 자세로 멈춘 인우의 뒷모습",
            "validator_reason": "'둘러보는'이라는 연속적인 동작을 고개를 돌린 채 한 곳을 응시하는 한 찰나의 자세로 수정함.",
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "턱을 살짝 치켜든 채 무미건조한 눈빛으로 수리영을 내려다보는 인우의 얼굴 클로즈업",
            "based_on_beat": 3,
            "characters": [
              "인우",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "안개 낀 바다를 향해 선 채 귀에 핸드폰을 대고 멈춘 수리영의 뒷모습",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 27,
        "scene_heading": "S#27. 옥탑방 안 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "해 질 무렵 난장판이 된 옥탑방 거실 한가운데 선 혜수의 전신",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "귀에 핸드폰을 바짝 대고 두 눈을 크게 뜬 채 멈춘 혜수의 놀란 얼굴 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 28,
        "scene_heading": "S#28. 바다 + 갑판 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "해 질 무렵 황금빛 노을이 비치는 소형 어선 갑판 위, 인우를 향해 종이 지도를 내민 채 앉아있는 수리영의 전신",
            "based_on_beat": 1,
            "characters": [
              "인우",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "수리영이 내민 지도를 내려다보며 미간을 잔뜩 찌푸린 인우의 굳은 얼굴",
            "based_on_beat": 1,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "인우의 시선 앞으로 낡은 흑백 사진을 들어 올린 채 멈춘 수리영의 손",
            "based_on_beat": 1,
            "characters": [
              "인우",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "수리영의 사진을 마주하고 두 눈이 크게 확장된 인우의 당황한 얼굴 클로즈업",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "사진 귀퉁이의 작은 글씨 부분을 손가락 끝으로 짚은 채 고정된 수리영의 손",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "갑판 바닥에서 몸을 반쯤 일으킨 상태로, 다리 근육과 상체가 팽팽하게 긴장된 인우의 모습",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "original_description": "갑판 바닥에서 몸을 일으켜 세운 자세로 정지된 인우의 상체",
            "validator_reason": "일어나는 이동 동작에서 인위적인 '정지된' 표현을 지우고, 근육의 긴장이 드러나는 상태로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "어선 조타실 입구를 향해 달려가는 인우의 뒷모습, 허공에 뜬 한쪽 발과 뒤로 휘날리는 옷자락이 추진력을 보여주는 mid-stride 순간",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "original_description": "어선 조타실 입구를 향해 달리는 자세로 굳어 있는 인우의 뒷모습",
            "validator_reason": "이동 동작에서 인위적인 정지 표현('굳어 있는')을 삭제하고 추진력을 보존하는 mid-action으로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "조타실 안, 낡은 타륜을 양손으로 꽉 움켜쥔 인우의 손",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "조타실 입구에서 인우의 뒤를 쫓아 달려가는 수리영의 전신, 한 발은 내딛고 다른 발은 땅을 차고 있는 mid-action 순간",
            "based_on_beat": 4,
            "characters": [
              "인우",
              "수리영"
            ],
            "original_description": "조타실 입구에서 인우의 뒤를 쫓아 한 발을 내딛고 멈춘 수리영의 전신",
            "validator_reason": "쫓아가는 이동 동작에서 '멈춘'이라는 정지 표현을 삭제하고 추진력이 담긴 mid-action으로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "타륜을 쥔 인우의 팔을 두 손으로 강하게 붙잡아 제지하는 수리영의 상체, 두 사람 사이의 팽팽한 힘과 근육의 수축이 담긴 순간",
            "based_on_beat": 4,
            "characters": [
              "인우",
              "수리영"
            ],
            "original_description": "타륜을 쥔 인우의 팔을 두 손으로 강하게 붙잡은 채 멈춘 수리영의 상체",
            "validator_reason": "능동적 신체 접촉 상황에서 모호한 정지 표현('멈춘')을 제거하고 접촉 지점과 역학적인 힘을 보존했습니다.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 29,
        "scene_heading": "S#29. 조타실 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "어둑한 조타실 안, 눈을 치켜뜨고 인우를 강하게 노려보는 수리영의 일그러진 얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "수리영의 시선을 외면하듯 고개를 옆으로 돌린 채 턱에 힘을 준 인우의 굳은 옆얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "낡은 흑백 사진 속 여자아이의 인쇄된 형상 위를 찌르듯 짚고 멈춘 수리영의 검지손가락 클로즈업",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "입술을 살짝 벌린 채 사색이 되어 창백하게 질린 인우의 얼굴 클로즈업",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "굳어버린 인우의 얼굴 너머, 조타실 벽면에 어지럽게 그려진 수많은 붉은 원 표식들이 포착된 오버 더 숄더 구도",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "벽면의 붉은 원들을 향해 충격에 빠져 크게 떠진 수리영의 두 눈 클로즈업",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "벽면의 붉은 원들을 발견하고 충격에 빠져 크게 떠진 수리영의 두 눈 클로즈업",
            "validator_reason": "'발견하고'라는 순차적 인지 동작을 제거하고 정지된 표정 상태만 묘사함",
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "조타실 낡은 패널 벽 위에 피처럼 거친 질감으로 새겨진 붉은 원 형태 표식 클로즈업",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "눈이 반쯤 감긴 채 몸이 옆으로 비스듬히 기울어진 자세의 수리영 상체",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "인우의 어깨 쪽으로 상체가 비스듬히 기울어진 자세의 수리영을 향해 차가운 시선을 내리깐 인우의 얼굴",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "쓰러지는 수리영을 향해 차가운 시선을 내리깐 인우의 얼굴",
            "validator_reason": "'쓰러지는'이라는 진행형 동작을 몸이 기울어진 중간 상태의 정지 찰나로 수정함",
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "인우의 어깨 위로 머리를 떨군 채 완전히 축 늘어져 고정된 수리영의 뒷모습",
            "based_on_beat": 4,
            "characters": [
              "인우",
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 30,
        "scene_heading": "S#30. 바다 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "해 질 무렵, 일렁이는 바다 수면 위로 눈부신 황금빛 그림자가 길게 드리워진 고요한 전경",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "바다 한가운데 거대한 회색빛 장벽처럼 솟아올라 시야를 차단한 짙은 안개 띠의 형상",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "짙은 안개의 경계면을 뚫고 들어가는 중간 순간, 뱃머리 앞쪽으로 물살이 갈라지는 소형 어선의 측면",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "짙은 안개의 경계면에 뱃머리가 닿은 채 고정된 소형 어선의 측면",
            "validator_reason": "원문의 이동 동작(안개 안으로 들어가는)을 '고정된'이라는 정지 상태로 잘못 변환했으므로, 추진 방향과 물살이 유지된 mid-action 순간으로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "거대한 회색빛 안개 속으로 반쯤 삼켜진 채 흐릿한 실루엣만 남은 어선의 뒷모습",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          }
        ]
      }
    ],
    "total_shots": 193,
    "changed_shots": 45
  },
  "step_id": "shot_validator",
  "run_id": "3ca11bb4-b0ae-4e73-ab40-f5eed7bdea70",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-07-10T17:11:55.963310+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}