{
  "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": [
              "한국인 남성"
            ],
            "original_description": "한국인 남성이 뒤를 돌아보며 공포에 질려 입을 크게 벌린 정면 얼굴",
            "validator_reason": "'~하며'라는 연속 동작 표현을 배제하고 '돌아본 채'라는 고정된 상태로 수정함.",
            "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": 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": []
          }
        ]
      },
      {
        "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": []
          }
        ]
      },
      {
        "scene_index": 4,
        "scene_heading": "S#4. 옥탑방 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "햇살이 내리쬐는 낮, 인천 변두리의 오래된 다세대 빌라 옥탑방과 주변 전경이 내려다보이는 부감",
            "based_on_beat": 1,
            "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": "앞치마를 두른 민숙이 어둡고 심각한 표정으로 거실의 켜진 TV 화면을 응시하는 상체",
            "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": "민숙의 엄지손가락이 TV 리모컨의 전원 버튼을 누른 채 멈춘 클로즈업",
            "based_on_beat": 1,
            "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": 2,
            "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": []
          }
        ]
      },
      {
        "scene_index": 6,
        "scene_heading": "S#6. 해안가 도로 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "밝은 낮의 해안가 도로, 이어폰을 낀 수리영이 자전거 핸들을 쥔 채 미소 짓고 있으며, 주행 추진력으로 인해 머리카락이 뒤로 흩날리는 상체",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "밝은 낮의 해안가 도로, 이어폰을 낀 수리영이 자전거 핸들을 쥔 채 미소 짓는 상체",
            "validator_reason": "자전거 주행이라는 이동 동작의 방향성과 추진력을 보존하기 위해 머리카락이 흩날리는 시각적 단서를 추가함",
            "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": []
          }
        ]
      },
      {
        "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": "마트 밖 거리, 수리영이 어두운 스마트폰 화면을 내려다보고 있는 측면",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "마트 밖으로 나온 수리영이 어두운 스마트폰 화면을 내려다보는 측면",
            "validator_reason": "'밖으로 나온'이라는 이전 이동 동작의 암시를 배제하고 현재의 시각적 고정 상태만 남김.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 9,
        "scene_heading": "S#9. 해안가 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 밤의 해안도로, 수리영이 굳은 표정으로 자전거 페달을 밟아 내리는 찰나, 상체를 숙인 채 머리카락이 뒤로 날리는 측면",
            "based_on_beat": 1,
            "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": [
              "낯선 한국인 남성"
            ],
            "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": []
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "S#11. 옥탑 방 밖 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 다세대 빌라 마당 구석, 수리영이 입을 반쯤 벌린 채 자전거 손잡이를 잡고 서 있는 전신",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 다세대 빌라 마당 구석, 수리영이 자전거 손잡이를 잡고 거친 숨을 고르며 서 있는 전신",
            "validator_reason": "'숨을 고르며'라는 연속적인 시간 진행의 묘사를 '입을 반쯤 벌린 채'라는 단일 정지 상태의 시각적 묘사로 변경함",
            "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": 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": 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": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "수리영이 바닥에 늘어진 민숙을 향해 양팔을 뻗은 채 한 발을 앞으로 내디딘 mid-stride 자세의 전신",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "민숙"
            ],
            "original_description": "수리영이 바닥에 늘어진 민숙을 향해 양팔을 뻗은 채 다가가는 전신",
            "validator_reason": "다가가는 연속 동작을 보존하기 위해 한 발을 내디딘 mid-stride 정지 순간으로 재작성함",
            "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": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "민숙의 손목 안쪽에 새겨진 원형 문신이 짙은 붉은색으로 변색된 클로즈업",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 14,
            "description": "침대 위 어두운 벽면에 굵은 붓으로 칠한 듯한 거친 붉은 원 형태가 뚜렷하게 떠오른 모습",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 15,
            "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 freeze 원칙에 따라 모션 방향과 추진력이 보존된 순간 자세로 재작성함.",
            "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": [
              "혜수",
              "수리영"
            ],
            "original_description": "혜수가 걱정스러운 얼굴로 다가와 수리영의 양어깨를 두 손으로 꽉 쥔 구도",
            "validator_reason": "'다가와'라는 선행 동작과 '꽉 쥔' 결과 동작이 연결된 시간 진행을 제거하고, 어깨를 쥐고 있는 정지 상태로 통일함.",
            "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 freeze 원칙에 따라 위쪽 계단을 향해 도약하는 중간 자세로 재작성함.",
            "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": [
              "혜수",
              "수리영"
            ],
            "original_description": "혜수가 뒤따라 현관으로 들어온 수리영을 향해 고개를 돌린 측면",
            "validator_reason": "'들어온'이라는 동작의 결과/시간적 흐름을 내포한 수식어를 정지된 현재 상태로 교정",
            "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": [
              "김형사",
              "수리영"
            ],
            "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": []
          }
        ]
      },
      {
        "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 freeze로 보존함",
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "혜수가 멀어지는 수리영의 등을 향해 양손을 입가에 모으고 소리치는 상체",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "멀찍이 떨어진 어둠 속에서, 양손을 입가에 모은 혜수와 달리는 mid-stride 자세의 수리영을 동시에 내려다보는 누군가의 불길한 시점 쇼트 (POV)",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "수리영"
            ],
            "original_description": "멀찍이 떨어진 어둠 속에서 혜수와 뛰어가는 수리영을 동시에 내려다보는 누군가의 불길한 시점 쇼트 (POV)",
            "validator_reason": "뛰어가는 인물의 이동 동작에 mid-action freeze 규칙을 적용하여 정지 찰나의 자세를 구체화함",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "형광등 불빛이 켜진 경찰서 사무실 안, 혜수가 스마트폰을 손에 쥔 채 굳은 표정으로 한 발을 앞으로 내딛은 걷는 중간 동작의 전신",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "original_description": "형광등 불빛이 켜진 경찰서 사무실 안, 혜수가 스마트폰을 손에 쥔 채 굳은 표정으로 걸어 들어오는 전신",
            "validator_reason": "'걸어 들어오는'이라는 이동 동작을 모션 방향이 보존된 중간 동작으로 구체화함.",
            "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": 17,
        "scene_heading": "S#17. 옥탑방 / 동틀무렵",
        "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": "'딛고 넘어가는'이라는 순차적 동작 표현을 공중에 떠 있는 단일 찰나의 자세로 수정",
            "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": 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": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "거울에 비친 수리영의 어깨너머 욕실 벽면에 나타난 거친 붉은 원 형태의 클로즈업",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "뒤쪽 빈 욕실 벽을 향해 몸을 돌린 채 멍하니 바라보는 수리영의 옆얼굴",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 흠칫 놀라 어깨를 돌려 뒤쪽 빈 욕실 벽을 멍하니 바라보는 옆얼굴",
            "validator_reason": "동작 진행(어깨를 돌려 바라보는)이 포함되어 있어 이미 돌아본 고정 자세로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "거실 식탁에 앉은 수리영이 물컵을 옆에 두고 액자 속 사진을 응시하는 구도",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "액자 사진 속 민숙의 얼굴 부위가 일그러져 붉게 흘러내린 기괴한 형상의 클로즈업",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "original_description": "액자 사진 속 민숙의 얼굴 부위가 일그러지며 붉게 흘러내리는 기괴한 형상의 클로즈업",
            "validator_reason": "변화의 진행(일그러지며 흘러내리는)을 시간 간격이 없는 멈춘 결과 상태로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "입을 두 손으로 꽉 틀어막은 채 기겁하여 서 있는 수리영의 상체",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "기겁한 수리영이 식탁에서 한 발짝 물러서서 입을 두 손으로 꽉 틀어막은 상체",
            "validator_reason": "순차 동작(물러서서 틀어막은)을 단일 고정 자세로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 14,
            "description": "일그러짐 없이 정상적인 모습으로 되돌아온 식탁 위 액자 사진의 클로즈업",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 15,
            "description": "수리영이 두 눈을 질끈 감고 자신의 양 뺨에 양 손바닥을 강하게 부딪친 mid-impact 찰나의 상체",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 두 눈을 질끈 감고 자신의 양 뺨을 손바닥으로 강하게 내리치는 정지 순간",
            "validator_reason": "연속 동작인 '내리치는'을 능동적 충격을 보존한 mid-impact 순간으로 구체화했습니다.",
            "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": [
              "수리영",
              "남자 직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "남자 직원이 수리영을 향해 고개를 돌린 정면 얼굴",
            "based_on_beat": 1,
            "characters": [
              "남자 직원",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "마트 밖 처마 밑, 수리영이 천장에 매달린 CCTV 카메라를 올려다보는 측면",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "수리영이 귀에 스마트폰을 댄 채 굳은 표정으로 서 있는 구도",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 20,
        "scene_heading": "S#20. 마트 총무과 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "마트 총무과 사무실 안, 한국인 남성 보안직원과 혜수가 모니터를 주시한 채 앉아 있고 수리영이 그 뒤에 선 전경",
            "based_on_beat": 1,
            "characters": [
              "한국인 남성 보안직원",
              "혜수",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "어두운 CCTV 영상이 띄워진 모니터 화면의 클로즈업",
            "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": []
          }
        ]
      },
      {
        "scene_index": 21,
        "scene_heading": "S#21. 경찰서 안 / D",
        "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": [
              "혜수",
              "수리영"
            ],
            "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": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "수리영이 고개를 등 뒤의 텅 빈 사무실 쪽으로 돌린 채 시선을 고정하고 있는 측면",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 고개를 돌려 등 뒤의 텅 빈 사무실 주변을 살피는 측면",
            "validator_reason": "'살피는'이라는 진행형 어휘를 고정된 시선과 멈춘 자세로 명확히 수정했습니다.",
            "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": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "주머니에 메모지를 넣은 손을 둔 채, 사무실 출입문을 향해 걷는 도중 한 발이 바닥에서 막 떨어진 수리영의 뒷모습",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "original_description": "주머니에 메모지를 넣은 수리영이 사무실 출입문을 향해 걸음을 내디딘 뒷모습",
            "validator_reason": "이동 동작인 '걸음을 내디딘'을 추진 방향이 보존된 mid-action freeze로 교정했습니다.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 22,
        "scene_heading": "S#22. 경찰서 밖 / 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": "'페달을 밟으며'라는 연속 동작 표현을 페달을 밟아 내리는 찰나의 정지 자세(mid-action)로 수정함",
            "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": []
          }
        ]
      },
      {
        "scene_index": 24,
        "scene_heading": "S#24. 해안가 / 소나기",
        "shots": [
          {
            "shot_index": 1,
            "description": "번개가 번쩍이는 찰나, 먹구름 낀 해안가 도로의 폭우 속에서 수리영이 흠뻑 젖은 채 몸을 앞으로 숙여 자전거 핸들을 꽉 쥐고 있는 전경",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "천둥 번개가 치고 먹구름이 낀 해안가 도로, 폭우 속에서 수리영이 흠뻑 젖은 채 자전거 핸들을 꽉 쥔 전경",
            "validator_reason": "번개가 치는 진행형 표현을 번쩍이는 순간으로 고정하고 자전거로 질주하는 자세를 찰나의 상태로 수정함",
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "세찬 비바람에 젖은 머리카락이 뒤로 흩날리는 가운데, 자전거 페달을 힘껏 밟아 누르는 mid-stroke 순간 수리영의 굳은 옆얼굴",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "세찬 비바람을 맞으며 자전거 페달 위에 발을 얹은 수리영의 굳은 옆얼굴",
            "validator_reason": "정지된 자전거처럼 보일 수 있는 표현을 자전거를 타고 질주하는 mid-action 순간과 바람의 방향성을 살린 찰나로 수정함",
            "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": 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": [
              "한국인 어린 여자아이 둘"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "충격에 빠져 침대 가장자리에 주저앉은 채 넋이 나간 수리영의 전신",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "충격에 빠진 수리영이 침대 가장자리에 털썩 주저앉아 넋이 나간 전신",
            "validator_reason": "시간성을 내포할 수 있는 '털썩 주저앉아'라는 동작 표현을 결과 상태인 '주저앉은 채'로 수정하여 완벽한 정지 순간으로 만들었습니다.",
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "백팩을 메고 한 손에 사진을 꽉 쥔 채 현관문을 향해 걷는 mid-stride 순간, 한 발을 막 지면에서 뗀 수리영의 뒷모습",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "백팩을 메고 한 손에 사진을 꽉 쥔 수리영이 현관문을 향해 걸음을 내디딘 뒷모습",
            "validator_reason": "인물의 이동 동작(걸음을 내디딘)이 묘사되어 있으므로 motion direction을 보존하는 mid-action freeze 규칙을 적용했습니다.",
            "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": 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": "'다가가'라는 이동 동작과 '멈춰 선'이라는 결과 상태가 섞여 있어, 이동을 마친 정지 상태로 수정함",
            "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": 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": []
          }
        ]
      },
      {
        "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": [
              "혜수",
              "김형사"
            ],
            "original_description": "혜수가 불안에 떨며 김형사 쪽으로 고개를 돌린 상체",
            "validator_reason": "'불안에 떨며'라는 지속적인 동작을 단일 찰나의 불안한 표정과 정지 자세로 수정했습니다.",
            "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": [
              "혜수",
              "김형사"
            ],
            "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": 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": 3,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "조타실을 향해 한쪽 다리를 크게 뻗고 다른 발이 막 땅에서 떨어진 미드 스트라이드 자세의 인우 뒷모습",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "original_description": "조타실을 향해 다리를 크게 뻗어 내달리는 인우의 역동적인 뒷모습",
            "validator_reason": "달리는 이동 동작을 한 찰나의 역동적인 추진력이 보존된 미드 액션 정지 자세로 수정했습니다.",
            "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": []
          }
        ]
      },
      {
        "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": 2,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "수리영이 인우의 어깨너머 조타실 안쪽 벽면을 향해 시선을 고정한 측면",
            "based_on_beat": 3,
            "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": []
          },
          {
            "shot_index": 9,
            "description": "의식이 혼미해진 수리영이 눈꺼풀이 반쯤 감긴 채 몸이 옆으로 크게 쏠리며 균형을 잃고 쓰러지는 미드액션 전신",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "original_description": "의식이 혼미해진 수리영이 눈꺼풀이 반쯤 감긴 채 몸을 옆으로 크게 기울인 전신",
            "validator_reason": "쓰러지는 동작의 추진 방향과 자세 불균형을 보존하기 위해 미드액션 순간으로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "의식을 잃고 허물어지는 수리영의 이마가 꼿꼿이 선 인우의 어깨에 체중이 실려 부딪히는 미드임팩트 순간",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "쓰러진 수리영의 이마가 꼿꼿이 서 있는 인우의 어깨에 툭 맞닿은 정지 순간",
            "validator_reason": "모호한 정적 접촉 묘사를 피하고 쓰러지는 무게와 충격이 보존된 미드임팩트 순간으로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 11,
            "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": []
          }
        ]
      }
    ],
    "total_shots": 173,
    "changed_shots": 38
  },
  "step_id": "shot_validator",
  "run_id": "32594492-8bf3-44e8-a8fb-dfc255559bfb",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-05-22T21:24:45.424257+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}