{
  "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": [
              "한국인 남자"
            ],
            "character_ids": [
              "C07"
            ]
          },
          {
            "shot_index": 2,
            "description": "피가 흐르는 남자의 맨발과 허벅지에 커다란 이빨 자국이 선명하게 파인 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": [
              "C07"
            ]
          },
          {
            "shot_index": 3,
            "description": "공중으로 도약한 검은 실루엣의 인간형 존재가 남자를 향해 두 팔을 뻗은 채 허공에 떠 있는 정면.",
            "based_on_beat": 1,
            "characters": [
              "검은 실루엣",
              "한국인 남자"
            ],
            "character_ids": [
              "C10",
              "C07"
            ]
          },
          {
            "shot_index": 4,
            "description": "검은 인영이 바닥에 쓰러진 남자 위를 두 팔로 짓누른 채 입을 크게 벌린 찰나.",
            "based_on_beat": 1,
            "characters": [
              "검은 실루엣",
              "한국인 남자"
            ],
            "character_ids": [
              "C10",
              "C07"
            ]
          }
        ]
      },
      {
        "scene_index": 2,
        "scene_heading": "S#2. 도시 뒷골목 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 가로등 불빛 아래, 전봇대에 등을 기댄 한국인 여자와 그 앞을 가로막은 한국인 남자가 서로의 몸을 밀착한 전신.",
            "based_on_beat": 1,
            "characters": [
              "한국인 여자",
              "한국인 남자"
            ],
            "character_ids": [
              "C09",
              "C07"
            ]
          },
          {
            "shot_index": 2,
            "description": "남자가 고개를 든 상태에서 붉게 빛나는 눈동자로 여자를 내려다보는 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "한국인 여자",
              "한국인 남자 (발현 상태)"
            ],
            "character_ids": [
              "C09",
              "C08"
            ]
          },
          {
            "shot_index": 3,
            "description": "남자가 입을 크게 벌려 여자의 목덜미에 이빨을 깊숙이 박아넣은 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "한국인 여자",
              "한국인 남자 (발현 상태)"
            ],
            "character_ids": [
              "C09",
              "C08"
            ]
          },
          {
            "shot_index": 4,
            "description": "상체가 뒤로 젖혀진 채 입가에 피를 묻힌 남자와, 바닥을 향해 무릎이 꺾인 여자의 전신.",
            "based_on_beat": 1,
            "characters": [
              "한국인 여자",
              "한국인 남자 (발현 상태)"
            ],
            "character_ids": [
              "C09",
              "C08"
            ]
          }
        ]
      },
      {
        "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": [
              "C02"
            ]
          },
          {
            "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": 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": "앞치마를 두른 40대 한국인 여성이 심각한 표정으로 거실 TV 화면을 뚫어지게 바라보는 측면.",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ],
            "character_ids": [
              "C03"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영이 열린 방문 앞에 서서 양팔을 머리 위로 뻗은 채 기지개를 켠 자세.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "당황한 표정의 여성이 리모컨의 전원 버튼을 손가락으로 누른 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ],
            "character_ids": [
              "C03"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영이 식탁 의자에 앉아 한 손으로 턱을 괸 채 심드렁한 표정을 지은 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 6,
            "description": "여성이 김이 나는 짙은 갈색 물이 담긴 컵을 식탁 위로 밀어놓은 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "character_ids": [
              "C03"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영이 컵을 입술에 댄 채 미간을 잔뜩 찡그린 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 8,
            "description": "현관에 걸터앉은 수리영이 운동화 뒤축에 발을 반쯤 밀어 넣은 채 멈춘 자세.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 9,
            "description": "수리영이 여성의 어깨 부근에 코를 묻은 채 눈을 감고 있는 상체.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "민숙"
            ],
            "original_description": "수리영이 여성의 어깨 부근에 코를 대고 눈을 감은 상체.",
            "validator_reason": "'대고'라는 순차적 연결어를 '묻은 채'라는 동시 고정 상태로 수정하여 단일 찰나를 강조했습니다.",
            "character_ids": [
              "C01",
              "C03"
            ]
          },
          {
            "shot_index": 10,
            "description": "여성이 수리영을 내려다본 채 입가에 옅은 미소를 띤 얼굴.",
            "based_on_beat": 3,
            "characters": [
              "민숙",
              "수리영"
            ],
            "original_description": "여성이 수리영을 내려다보며 입꼬리를 올려 옅은 미소를 지은 얼굴.",
            "validator_reason": "'입꼬리를 올려'라는 동작 진행 표현을 제거하고 이미 미소를 머금은 고정 상태로 수정했습니다.",
            "character_ids": [
              "C03",
              "C01"
            ]
          },
          {
            "shot_index": 11,
            "description": "수리영의 시선 구도: 식탁 위에 놓인 여성의 손목 피부에 작은 원형 표식이 선명하게 드러난 정지 찰나.",
            "based_on_beat": 4,
            "characters": [
              "민숙"
            ],
            "character_ids": [
              "C03"
            ]
          }
        ]
      },
      {
        "scene_index": 6,
        "scene_heading": "S#6. 해안가 도로 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "해안가 도로에서 수리영이 자전거 페달을 밟으며 앞으로 나아가는 중간 자세(mid-pedal), 머리카락이 뒤로 흩날리는 측면.",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "original_description": "해안가 도로에서 수리영이 자전거 페달에 한쪽 발을 올린 채 허리를 편 측면.",
            "validator_reason": "원문의 이동 동작(달린다)을 반영하여 추진력이 보존된 mid-action 순간으로 재작성함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 2,
            "description": "자전거 안장에 앉은 수리영이 이어폰을 낀 채 눈을 감고 바닷바람을 맞는 밝은 표정의 상체.",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 7,
        "scene_heading": "S#7. 유기견 보호원 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "철장 안에서 거대한 검은 로트와일러가 입을 벌려 날카로운 이빨을 드러낸 채 앞발을 치켜든 순간.",
            "based_on_beat": 1,
            "characters": [
              "로트와일러"
            ],
            "character_ids": [
              "C11"
            ]
          },
          {
            "shot_index": 2,
            "description": "수리영이 철장 너머의 개를 뚫어지게 노려보는 눈가 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "개"
            ],
            "character_ids": [
              "C01",
              "C11"
            ]
          },
          {
            "shot_index": 3,
            "description": "로트와일러가 귀를 뒤로 젖히고 꼬리를 만 채 바닥에 배를 깔고 엎드린 정지 상태.",
            "based_on_beat": 1,
            "characters": [
              "로트와일러"
            ],
            "character_ids": [
              "C11"
            ]
          },
          {
            "shot_index": 4,
            "description": "50대 한국인 남자가 엎드린 개의 엉덩이에 주사기 바늘을 찔러넣은 손 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "50대 한국인 남자",
              "개"
            ],
            "character_ids": [
              "C11"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영이 굳은 표정으로 스마트폰의 액정을 내려다보는 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 6,
            "description": "수리영이 입술을 살짝 벌리고 철장 밖 바닥을 응시하며 멈춘 얼굴.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영이 손에 쥔 바리캉을 개의 등 털 위로 가져다 댄 정지 찰나.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "개"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 8,
        "scene_heading": "S#8. 번화가·대형 마트 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "네온사인이 켜진 길거리에서 수리영이 자전거 핸들을 쥔 채 양발을 땅에 딛고 서 있는 전신.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 2,
            "description": "대형 마트 내부, 유니폼을 입은 40대 한국인 여성이 수리영을 향해 한쪽 손을 들어 올린 모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "40대 한국인 여성"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영이 여성을 바라보며 미간을 찡그린 채 고개를 살짝 갸웃한 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "여성"
            ],
            "original_description": "수리영이 여성을 바라보며 미간을 찡그린 채 고개를 살짝 갸웃거리는 얼굴.",
            "validator_reason": "'갸웃거리는'이라는 연속 동작 표현을 고정된 자세를 의미하는 '갸웃한'으로 수정함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "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": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 7,
            "description": "마트 밖 거리에 홀로 선 수리영이 스마트폰을 귀에 댄 채 하늘을 올려다보는 상체.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 9,
        "scene_heading": "S#9. 해안가 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 밤바다 앞 도로 위, 자전거 안장에 앉아 상체를 굽힌 채 한쪽 페달을 힘껏 밟아 내리는 중간 자세의 수리영 측면 실루엣, 머리카락이 뒤로 강하게 휘날리는 상태.",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 밤바다 앞 도로 위, 자전거 안장에 앉아 허리를 굽힌 채 멈춘 수리영의 측면 실루엣.",
            "validator_reason": "바삐 달려가는 자전거 이동 동작의 추진력을 보존하기 위해 정지 묘사('멈춘')를 mid-action freeze 규칙에 따라 재작성함.",
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "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": [
              "C07"
            ]
          },
          {
            "shot_index": 3,
            "description": "얼굴이 드러나지 않은 남자의 짙고 긴 그림자가 옥탑방 철문 앞 바닥에 드리워진 구도.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": [
              "C07"
            ]
          },
          {
            "shot_index": 4,
            "description": "남자의 손가락이 철문 문틈 사이로 종이 전단지를 반쯤 밀어 넣은 상태로 멈춘 손 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "original_description": "남자의 손가락이 철문 문틈 사이로 종이 전단지를 밀어 넣고 있는 손 클로즈업.",
            "validator_reason": "진행형 동작('밀어 넣고 있는')을 동작이 멈춘 고정 상태로 변경하여 한 찰나 원칙 적용",
            "character_ids": [
              "C07"
            ]
          },
          {
            "shot_index": 5,
            "description": "미세하게 열린 철문 틈새로 검은 어둠만이 보이는 찰나.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "어두운 옥탑방 창문 유리에 남자의 거대한 상체 실루엣이 비친 모습.",
            "based_on_beat": 2,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": [
              "C07"
            ]
          },
          {
            "shot_index": 7,
            "description": "남자가 바닥에 쓰러진 40대 한국인 여성의 어깨에 고개를 파묻은 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "한국인 남자",
              "민숙"
            ],
            "character_ids": [
              "C07",
              "C03"
            ]
          },
          {
            "shot_index": 8,
            "description": "여성이 눈을 부릅뜨고 입을 한껏 벌린 채 굳어 있는 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "original_description": "여성이 눈을 부릅뜨고 입을 한껏 벌려 비명을 지르는 굳은 얼굴 클로즈업.",
            "validator_reason": "소리와 동작 진행을 암시하는 표현('비명을 지르는')을 제거하고 입을 벌린 고정 상태로 수정",
            "character_ids": [
              "C03"
            ]
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "S#11. 옥탑 방 밖 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 골목길, 자전거 안장에 앉아 페달을 밟고 있는 mid-pedal 상태로 머리카락이 뒤로 흩날리는 수리영의 역동적인 측면.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 골목길, 수리영이 자전거 안장에서 몸을 일으켜 다리를 내린 정지 구도.",
            "validator_reason": "원문의 달리는 동작(추진)이 정지 동작으로 약화되어 mid-action freeze 원칙에 따라 모션 방향을 보존함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 2,
            "description": "마당 구석 벽에 자전거 앞바퀴를 기댄 채 핸들에서 방금 양손을 뗀 수리영의 정지 자세.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 마당 구석 벽에 자전거 앞바퀴를 기대어 놓고 핸들에서 손을 뗀 자세.",
            "validator_reason": "'기대어 놓고'라는 순차적 행동을 제거하고 단일 결과 상태(기댄 채)로 재작성함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "가파른 옥탑방 계단을 급히 오르는 mid-stride 상태로, 한 발을 다음 단에 딛고 상체를 앞으로 크게 기울인 수리영의 전신.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 가파른 옥탑방 계단의 첫 단에 발을 디딘 채 고개를 위로 든 전신.",
            "validator_reason": "원문의 '급히 오르는' 이동 동작 단서를 살려 mid-action freeze로 재작성함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "수리영이 코를 찡그린 채 숨을 참으며 발걸음을 멈춘 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영의 시점 구도: 반쯤 열린 현관 철문 너머로 칠흑 같은 내부가 보이는 정지 상태.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 6,
            "description": "열린 철문 앞에서 수리영이 놀란 눈을 크게 뜬 채 굳어버린 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 12,
        "scene_heading": "S#12. 옥탑방 안 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "거실 안, 식탁 위에 엎어진 찻잔과 희미한 스탠드 불빛이 보이는 정지 구도.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "수리영이 닫힌 방문의 손잡이를 쥔 채 멈춰 선 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "열린 방문 너머 바닥에 붉은 핏자국이 선명하게 찍혀 있는 모습.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "수리영의 손이 커튼 자락을 움켜쥔 채 멈춘 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 5,
            "description": "방 한구석, 바닥에 주저앉아 고개를 푹 숙인 40대 한국인 여성의 시신 전신.",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ],
            "character_ids": [
              "C03"
            ]
          },
          {
            "shot_index": 6,
            "description": "수리영이 놀란 눈을 크게 뜬 채 입을 벌리고 굳어버린 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 7,
            "description": "여성 시신의 어깨와 쇄골 부위에 살점이 뜯겨나간 거친 상처의 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "character_ids": [
              "C03"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영이 상체를 뒤로 젖힌 채 한쪽 발을 뒤로 뺀 정지 자세.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 상체를 뒤로 젖히며 한쪽 발을 뒤로 뺀 정지 자세.",
            "validator_reason": "'젖히며'라는 동시 진행 표현을 '젖힌 채'라는 고정 상태로 수정하여 찰나를 강조함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 9,
            "description": "수리영의 손가락이 스마트폰 액정 위 허공에 닿기 직전 멈춰 있는 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "덜덜 떨리는 수리영의 손가락이 스마트폰 액정에 닿기 직전의 클로즈업.",
            "validator_reason": "'떨리는'이라는 연속 동작 묘사를 제거하고 손가락이 멈춘 정지 상태로 수정함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 10,
            "description": "시신의 늘어진 손안에 구겨진 종이 사진이 쥐어져 있는 구도.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": [
              "C03"
            ]
          },
          {
            "shot_index": 11,
            "description": "수리영의 손이 시신의 손에 쥐어진 사진을 향해 뻗어진 정지 찰나.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": [
              "C01",
              "C03"
            ]
          },
          {
            "shot_index": 12,
            "description": "시신의 손목 피부에 새겨진 작은 문신이 붉은빛을 띠는 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": [
              "C03"
            ]
          },
          {
            "shot_index": 13,
            "description": "침대 위 벽면에 붉은색 원형 획이 미완성 상태로 끊겨 있는 벽면 구도.",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 14,
            "description": "수리영이 양손으로 머리를 감싼 채 입을 한껏 벌린 얼굴.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 양손으로 머리를 감싼 채 입을 한껏 벌려 비명을 지르는 얼굴.",
            "validator_reason": "'비명을 지르는'이라는 연속 동작 표현을 제거하고 입을 벌린 고정 상태로 수정함.",
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "S#13. 옥탑방 외곽 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "옥탑방 계단 중턱, 계단을 급히 내려가는 mid-stride 자세로 수리영이 입을 벌린 채 한쪽 발을 허공에 내딛고 있는 찰나.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "옥탑방 계단 중턱, 수리영이 입을 벌린 채 한쪽 발을 공중에 뻗은 정지 구도.",
            "validator_reason": "실제로는 멈춘 상황이 아니므로 '정지 구도'라는 표현을 삭제하고 이동 동작의 추진력을 보존하는 mid-action으로 교정했습니다.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 2,
            "description": "혜수가 열린 자동차 문 옆에 서서 위쪽을 올려다보는 전신.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": [
              "C02"
            ]
          },
          {
            "shot_index": 3,
            "description": "초점 잃은 눈으로 멍하니 서 있는 수리영의 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "혜수가 수리영의 코앞에 바짝 선 채 심각한 표정으로 얼굴을 마주하고 있는 측면.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "수리영"
            ],
            "original_description": "혜수가 수리영의 코앞까지 다가가 심각한 표정으로 얼굴을 마주한 측면.",
            "validator_reason": "'다가가'라는 진행형 동작과 '마주한' 상태가 시간순으로 연결될 여지를 없애고 고정된 결과 자세로 통일했습니다.",
            "character_ids": [
              "C02",
              "C01"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영의 입이 열려있고, 혜수가 눈을 동그랗게 뜨며 놀란 표정으로 굳은 찰나.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "혜수"
            ],
            "character_ids": [
              "C01",
              "C02"
            ]
          },
          {
            "shot_index": 6,
            "description": "혜수와 김형사가 뛰어오르는 mid-stride 자세로 가파른 계단의 첫 단에 나란히 한쪽 발을 딛고 있는 찰나.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "김형사"
            ],
            "original_description": "혜수와 김형사가 가파른 계단의 첫 단에 나란히 발을 디딘 자세.",
            "validator_reason": "뛰어 올라가는 이동 동작의 추진력을 보존하기 위해 mid-action 상태를 명확히 묘사했습니다.",
            "character_ids": [
              "C02",
              "C06"
            ]
          }
        ]
      },
      {
        "scene_index": 14,
        "scene_heading": "S#14. 옥탑방 안 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "옥탑방 현관 안쪽, 혜수와 김형사가 어깨를 나란히 하고 방안을 주시하는 뒷모습.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "김형사"
            ],
            "character_ids": [
              "C02",
              "C06"
            ]
          },
          {
            "shot_index": 2,
            "description": "김형사가 눈썹을 늘어뜨리고 입술을 삐죽 내민 허탈한 표정의 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "김형사"
            ],
            "character_ids": [
              "C06"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영이 열린 방문턱에 한쪽 발을 걸친 채 굳어있는 전신.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "핏자국 하나 없이 깨끗하게 정돈된 침대와 빈 커튼 앞 공간이 보이는 구도.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "얼굴이 파리해진 수리영이 멍한 눈으로 빈 공간을 응시하는 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 6,
            "description": "수리영이 깨끗한 거실 식탁 모서리를 양손으로 짚은 자세.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영이 굳은 표정으로 빈 식탁 위를 가리키는 손 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 8,
            "description": "김형사가 미간을 찌푸린 채 짜증 섞인 표정으로 입을 벌린 얼굴 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "김형사"
            ],
            "character_ids": [
              "C06"
            ]
          },
          {
            "shot_index": 9,
            "description": "혜수가 고개를 돌린 채 김형사를 날카롭게 노려보는 측면.",
            "based_on_beat": 4,
            "characters": [
              "혜수",
              "김형사"
            ],
            "original_description": "혜수가 고개를 돌려 김형사를 날카롭게 노려보는 측면.",
            "validator_reason": "'고개를 돌려'라는 동작을 결과 상태인 '고개를 돌린 채'로 변경하여 단일 찰나로 고정함.",
            "character_ids": [
              "C02",
              "C06"
            ]
          },
          {
            "shot_index": 10,
            "description": "혜수의 손바닥이 수리영의 어깨 위에 얹혀진 정지 순간.",
            "based_on_beat": 4,
            "characters": [
              "혜수",
              "수리영"
            ],
            "character_ids": [
              "C02",
              "C01"
            ]
          },
          {
            "shot_index": 11,
            "description": "침대 위, 백팩과 인형이 나란히 놓여있는 고요한 정물 구도.",
            "based_on_beat": 5,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 15,
        "scene_heading": "S#15. 해안가. 버스정류장 부근 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "해안가 버스정류장 벤치에 앉은 수리영이 초점 없는 눈으로 바다를 향해 고개를 돌린 측면.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 2,
            "description": "혜수의 손이 캔 음료를 쥔 채 수리영의 눈앞에 머물러 있는 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "수리영"
            ],
            "character_ids": [
              "C02",
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "벤치에서 허리를 펴고 엉덩이를 갓 뗀 채 반쯤 일어선 중간 자세의 수리영.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 벤치에서 허리를 펴며 몸을 일으켜 세운 정지 자세.",
            "validator_reason": "'허리를 펴며'라는 연속 동작 표현을 제거하고 일어나는 중간의 단일 찰나로 수정했습니다.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "한쪽 발이 땅에서 떨어져 달려가는 중간 자세(mid-stride)인 수리영의 뒷모습을 향해 시선을 고정한 채 서 있는 혜수의 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "혜수"
            ],
            "original_description": "혜수가 멀어지는 수리영의 뒷모습을 향해 시선을 고정한 채 서 있는 상체.",
            "validator_reason": "'멀어지는'이라는 시간의 흐름을 나타내는 표현 대신 달리는 동작의 mid-action 순간을 명시하여 한 찰나로 고정했습니다.",
            "character_ids": [
              "C01",
              "C02"
            ]
          },
          {
            "shot_index": 5,
            "description": "혜수가 목에 핏대를 세우고 입을 크게 벌려 소리치는 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "혜수"
            ],
            "character_ids": [
              "C02"
            ]
          },
          {
            "shot_index": 6,
            "description": "먼발치 어두운 수풀 사이로 혜수와 수리영의 실루엣이 조그맣게 보이는 누군가의 시점 구도.",
            "based_on_beat": 3,
            "characters": [
              "혜수",
              "수리영"
            ],
            "character_ids": [
              "C02",
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "사무실 안, 혜수가 핸드폰을 귀에 바짝 댄 채 미간을 찡그린 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": [
              "C02"
            ]
          },
          {
            "shot_index": 2,
            "description": "의자에 앉은 김형사가 고개를 든 채 서 있는 혜수를 올려다보는 상체.",
            "based_on_beat": 1,
            "characters": [
              "김형사",
              "혜수"
            ],
            "original_description": "의자에 앉은 김형사가 고개를 들어 서 있는 혜수를 올려다보는 상체.",
            "validator_reason": "'고개를 들어'라는 표현이 순차적 동작(들고 나서 쳐다봄)으로 해석될 수 있어 '고개를 든 채'라는 고정 자세로 수정함.",
            "character_ids": [
              "C06",
              "C02"
            ]
          },
          {
            "shot_index": 3,
            "description": "혜수가 스마트폰 액정을 김형사의 얼굴 앞까지 들이민 정지 상태.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "김형사"
            ],
            "character_ids": [
              "C02",
              "C06"
            ]
          },
          {
            "shot_index": 4,
            "description": "김형사가 턱을 괸 채 못마땅한 표정으로 혜수를 쳐다보는 측면.",
            "based_on_beat": 2,
            "characters": [
              "김형사",
              "혜수"
            ],
            "character_ids": [
              "C06",
              "C02"
            ]
          },
          {
            "shot_index": 5,
            "description": "혜수가 허공을 응시하며 굳은 표정으로 입술을 꽉 다문 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "혜수"
            ],
            "character_ids": [
              "C02"
            ]
          }
        ]
      },
      {
        "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": [
              "C12"
            ]
          },
          {
            "shot_index": 3,
            "description": "검은 고양이가 허공으로 앞발을 뻗어 담장 너머로 뛰어오른 찰나의 공중 실루엣.",
            "based_on_beat": 1,
            "characters": [
              "검은 고양이"
            ],
            "character_ids": [
              "C12"
            ]
          }
        ]
      },
      {
        "scene_index": 18,
        "scene_heading": "S#18. 안방 안 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "수리영이 침대 모서리에 머리를 기댄 채 두 눈을 감고 앉아 있는 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 2,
            "description": "수리영이 눈을 번쩍 뜬 채 고개를 치켜든 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "거실 한가운데 선 수리영이 고개를 돌린 채 텅 빈 주변을 응시하며 굳어있는 전신.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "거실 한가운데 선 수리영이 고개를 돌려 텅 빈 주변을 응시하며 굳어있는 전신.",
            "validator_reason": "'고개를 돌려'라는 동작 표현을 순차적 진행이 아닌 '고개를 돌린 채'의 고정 상태 묘사로 수정함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "굳게 닫힌 방문 앞에서 수리영의 손이 문고리를 움켜쥔 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영이 활짝 젖혀진 커튼 자락을 쥔 채 빈 창문 앞을 주시하는 뒷모습.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 6,
            "description": "수리영이 핸드폰을 귀에 댄 채 놀란 눈동자로 허공을 응시하는 얼굴.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영이 인형이 달린 백팩의 어깨끈을 손에 꽉 쥔 채 멈춘 상체.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 8,
            "description": "욕실 세면대에 양손을 짚은 수리영이 고개를 숙인 채 멈춘 측면.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 9,
            "description": "거울 표면에 붉은색 둥근 원이 선명하게 비쳐진 정지 찰나.",
            "based_on_beat": 4,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "수리영이 고개를 돌린 채 붉은 원이 사라진 빈 욕실 타일 벽면을 바라보는 자세.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 고개를 돌려 붉은 원이 사라진 빈 욕실 타일 벽면을 바라보는 자세.",
            "validator_reason": "'고개를 돌려'라는 표현을 '고개를 돌린 채'로 수정하여 한 순간의 정지 상태를 명확히 함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 11,
            "description": "거실 식탁 위 액자, 환하게 웃는 두 여성의 얼굴이 기괴하게 일그러진 채 뭉개져 있는 사진 표면의 클로즈업.",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "민숙"
            ],
            "original_description": "거실 식탁 위 액자, 환하게 웃는 두 여성의 얼굴이 기괴하게 일그러지며 뭉개진 사진 표면의 클로즈업.",
            "validator_reason": "'일그러지며'라는 진행형 표현을 배제하고 '일그러진 채'라는 결과 상태로 한 찰나를 고정함.",
            "character_ids": [
              "C01",
              "C03"
            ]
          },
          {
            "shot_index": 12,
            "description": "수리영이 두 눈을 질끈 감고 입을 크게 벌린 채 비명을 토해내듯 굳어있는 얼굴.",
            "based_on_beat": 5,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 두 눈을 질끈 감고 입을 크게 벌려 비명을 토해내는 굳은 얼굴.",
            "validator_reason": "'입을 크게 벌려'를 '입을 크게 벌린 채'로 수정하여 연속 동작이 아닌 고정된 표정으로 묘사함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 13,
            "description": "수리영의 손바닥이 자신의 뺨에 세게 맞닿아 살이 밀린 찰나의 클로즈업.",
            "based_on_beat": 5,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 19,
        "scene_heading": "S#19. 마트 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "아침 햇살이 비치는 한산한 마트 안, 수리영이 자전거 앞바퀴를 양손으로 쥔 채 서 있는 정지 구도.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 2,
            "description": "수리영이 마트 진열대 앞에서 남자 직원을 마주보고 입을 살짝 벌린 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "남자직원"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "남자 직원이 수리영의 얼굴을 빤히 보며 고개를 옆으로 살짝 갸웃한 채 멈춘 상체.",
            "based_on_beat": 1,
            "characters": [
              "남자직원",
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "수리영이 눈을 크게 뜨고 미간에 주름을 잡은 채 굳어버린 정면 구도.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 5,
            "description": "남자 직원이 한쪽 팔을 뻗어 마트 바깥쪽 창문을 가리키는 정지 찰나.",
            "based_on_beat": 1,
            "characters": [
              "남자직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "마트 밖, 건물 외벽 처마 아래 달린 낡은 CCTV 카메라를 향해 수리영이 고개를 든 채 시선을 고정한 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영이 스마트폰을 오른쪽 귀에 바짝 댄 채 입을 벌리고 하늘을 올려다보는 측면.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 20,
        "scene_heading": "S#20. 마트 총무과 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "책상 모니터 앞에 30대 한국인 남성 직원과 혜수가 나란히 앉아있고, 그 뒤에서 수리영이 모니터를 응시하며 굳어있는 구도.",
            "based_on_beat": 1,
            "characters": [
              "30대 한국인 남성 직원",
              "혜수",
              "수리영"
            ],
            "character_ids": [
              "C02",
              "C01"
            ]
          },
          {
            "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": [
              "C01"
            ]
          },
          {
            "shot_index": 5,
            "description": "혜수가 한국인 남성 직원을 향해 한쪽 손바닥을 내민 채 굳은 표정으로 멈춘 상체.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "한국인 남성 직원"
            ],
            "character_ids": [
              "C02"
            ]
          },
          {
            "shot_index": 6,
            "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": [
              "수리영",
              "혜수"
            ],
            "character_ids": [
              "C01",
              "C02"
            ]
          },
          {
            "shot_index": 2,
            "description": "김형사가 미간을 잔뜩 찡그린 채 혜수를 향해 서류 뭉치를 쥔 손을 불쑥 내민 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "김형사",
              "혜수"
            ],
            "character_ids": [
              "C06",
              "C02"
            ]
          },
          {
            "shot_index": 3,
            "description": "혜수가 고개를 돌린 채 김형사의 손에 들린 서류의 표지를 내려다보는 측면.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "김형사"
            ],
            "original_description": "혜수가 고개를 돌려 김형사의 손에 들린 서류의 표지를 내려다보는 측면.",
            "validator_reason": "'고개를 돌려 내려다보는'이라는 순차 동작을 '고개를 돌린 채'라는 고정 자세로 수정하여 한 찰나로 묘사함.",
            "character_ids": [
              "C02",
              "C06"
            ]
          },
          {
            "shot_index": 4,
            "description": "사무실 안쪽의 50대 한국인 남자 형사가 허공을 향해 입을 크게 벌린 채 소리치는 굳은 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "50대 한국인 남자 형사"
            ],
            "original_description": "사무실 안쪽의 50대 한국인 남자 형사가 허공을 향해 입을 크게 벌리고 소리치는 굳은 얼굴 클로즈업.",
            "validator_reason": "'벌리고 소리치는'이라는 동작 연결을 '벌린 채 소리치는' 고정 상태로 수정함.",
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "여러 명의 한국인 형사들이 일제히 출입구를 향해 발걸음을 내디딘 채 굳어있는 전신.",
            "based_on_beat": 1,
            "characters": [
              "한국인 형사들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "사람들이 빠져나간 텅 빈 사무실 안, 혜수의 책상 의자에 조용히 앉아있는 수리영의 정면 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영의 시선 구도: 책상 위, 목과 어깨의 살점이 뜯겨나간 참혹한 시신 사진들이 어지럽게 널브러져 있는 클로즈업.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "수리영이 두 눈을 부릅뜨고 하얗게 질린 입술을 반쯤 벌린 채 경악한 얼굴.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 9,
            "description": "맞은편 김형사의 빈 책상 위, 켜진 모니터 화면 중앙에 작은 알림 팝업창이 떠 있는 정물 구도.",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "의자에서 엉덩이를 뗀 수리영이 상체를 뻗은 채 김형사의 모니터를 뚫어지게 응시하는 측면.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "의자에서 엉덩이를 뗀 수리영이 상체를 뻗어 김형사의 모니터를 뚫어지게 응시하는 측면.",
            "validator_reason": "'뻗어 응시하는'이라는 순차 동작을 '뻗은 채 응시하는' 정지 자세로 수정함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 11,
            "description": "모니터 화면 표면의 클로즈업: 검은 해상 지도 위에 붉은 점과 GPS 좌표 숫자가 선명하게 띄워진 모습.",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "수리영이 모니터 불빛을 받아 창백해진 얼굴로 숨을 멈춘 클로즈업.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 13,
            "description": "수리영의 손가락이 볼펜을 꽉 쥔 채 노란색 메모지 위에 숫자를 눌러쓴 정지 찰나.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 14,
            "description": "수리영이 반으로 접힌 메모지를 자신의 외투 주머니 속으로 쑤셔 넣은 채 멈춘 손 클로즈업.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 15,
            "description": "수리영이 사무실 출입문 밖을 향해 한쪽 발을 내디딘 채 텅 빈 실내를 뒤돌아보는 뒷모습.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 사무실 출입문 밖을 향해 한쪽 발을 내디딘 채 뒤를 돌아 텅 빈 실내를 쳐다보는 뒷모습.",
            "validator_reason": "'뒤를 돌아 쳐다보는'이라는 순차 동작을 '뒤돌아보는' 단일 시선 상태로 수정함.",
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 22,
        "scene_heading": "S#22. 경찰서 밖 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "경찰서 건물 앞 아스팔트 위, 수리영이 자전거 안장에서 엉덩이를 뗀 채 한쪽 페달을 꽉 밟아 내리며 허리를 잔뜩 숙인 찰나, 머리카락과 옷자락이 주행 반대 방향으로 흩날리는 측면 구도.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "경찰서 건물 앞 아스팔트 위, 수리영이 자전거 안장에서 엉덩이를 뗀 채 페달을 꽉 밟고 허리를 잔뜩 숙인 정지 측면 구도.",
            "validator_reason": "실제 주행 중인 상황이므로 '정지'라는 표현을 삭제하고, 이동 방향성을 나타내는 시각적 단서를 추가하여 mid-action 순간으로 교정함.",
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 23,
        "scene_heading": "S#23. 어느 PC방 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 PC방 안, 모니터 앞에 앉은 수리영이 마우스 위에 오른손을 얹은 채 멈춘 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 2,
            "description": "수리영이 모니터 화면에 띄워진 해안가 지도를 뚫어지게 응시하는 굳은 눈가 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영의 양손이 출력된 종이 지도를 반으로 꾹 눌러 접은 채 멈춘 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "수리영이 접은 지도를 지퍼가 열린 백팩 안으로 깊숙이 집어넣은 정지 찰나.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "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": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "세찬 빗줄기를 온몸으로 맞으며 자전거 핸들을 꽉 쥔 수리영의 흠뻑 젖은 상체.",
            "validator_reason": "이동 동작(달리는 자전거)의 추진력을 시각적으로 보존하기 위해 머리카락과 빗방울이 뒤로 흩날리는 mid-action 묘사를 추가함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "얼굴에 빗물이 맺힌 채 정면을 날카롭게 노려보는 수리영의 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 빗물이 얼굴을 타고 흐르는 상태에서 정면을 날카롭게 노려보는 클로즈업.",
            "validator_reason": "'흐르는'이라는 시간 경과 표현을 '맺힌'이라는 고정된 시각적 상태로 수정함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "아스팔트 바닥에 튄 굵은 빗방울 위로 자전거 앞바퀴가 맞닿은 정지 찰나.",
            "based_on_beat": 2,
            "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": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "열린 방문 너머, 수리영의 방 벽면에 붉은색 둥근 원형 문양이 선명하게 그려진 모습.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "수리영이 붉은 원 한가운데 벽에 꽂혀있는 낡은 사진을 향해 손끝을 뻗은 정지 찰나.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 6,
            "description": "수리영의 손가락 사이에 핏자국이 얼룩진 구겨진 사진이 쥐어져 있는 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 7,
            "description": "사진 표면의 클로즈업: 낡은 식당 지붕에 둥근 원이 달린 건물 앞, 10대 한국인 여자아이 두 명이 나란히 앉아 있는 모습.",
            "based_on_beat": 2,
            "characters": [
              "한국인 여자아이들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "수리영이 초점 잃은 눈으로 침대 모서리에 주저앉은 채 고개를 떨구고 있는 전신.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "수리영이 초점 잃은 눈으로 침대 모서리에 털썩 주저앉아 고개를 떨군 전신.",
            "validator_reason": "'털썩 주저앉아'라는 동적 진행의 뉘앙스를 고정된 결과 상태인 '주저앉은 채'로 수정하여 찰나를 명확히 함.",
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 9,
            "description": "백팩을 멘 수리영이 손에 구겨진 사진을 꽉 쥔 채 열린 현관문 밖을 향해 선 뒷모습.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "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": [
              "C01"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영 옆 바닥에 놓인 스마트폰 액정에 혜수의 이름과 부재중 전화 알림창이 띄워진 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "혜수"
            ],
            "character_ids": [
              "C01",
              "C02"
            ]
          },
          {
            "shot_index": 4,
            "description": "짙은 안개 속에서 작은 낡은 고깃배의 선수 부분이 희미한 실루엣으로 드러난 찰나.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "배에서 내린 인우가 두꺼운 밧줄을 쥔 채 선착장 나무 기둥에 몸을 기대고 있는 자세.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 6,
            "description": "인우 앞 밧줄 부근에 멈춰 서서 고개를 든 채 그를 올려다보는 수리영의 전신.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "수리영이 인우를 향해 다가가 밧줄 앞에서 발걸음을 멈추고 올려다보는 전신.",
            "validator_reason": "'다가가 멈추고'라는 시간 순서 표현을 배제하고, 멈춰 서서 올려다보는 하나의 정지된 상태로 수정했습니다.",
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 7,
            "description": "고개를 돌린 채 무심한 눈빛으로 시선을 아래로 향하여 수리영을 힐끗 내려다보는 인우의 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "인우",
              "수리영"
            ],
            "original_description": "인우가 무심한 눈빛으로 고개를 돌려 수리영의 얼굴을 힐끗 내려다보는 얼굴 클로즈업.",
            "validator_reason": "'고개를 돌려 내려다보는'이라는 연속 동작을 고개를 돌린 채 시선을 고정한 정지된 순간으로 수정했습니다.",
            "character_ids": [
              "C05",
              "C01"
            ]
          },
          {
            "shot_index": 8,
            "description": "수리영이 가슴 앞에서 두 손을 꼭 모아 쥔 채 인우를 향해 간절한 눈빛을 보내는 상체.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 9,
            "description": "인우가 미간을 살짝 찡그리고 턱을 약간 치켜든 채 생각에 잠긴 얼굴.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 10,
            "description": "수리영이 안개 낀 바다를 향해 선 채 스마트폰 하단 마이크를 입가로 가져간 정지 구도.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 11,
            "description": "수리영이 눈을 지그시 감고 입술을 살짝 벌린 얼굴 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          }
        ]
      },
      {
        "scene_index": 27,
        "scene_heading": "S#27. 옥탑방 안 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 옥탑방 거실, 혜수가 스마트폰을 귀에 바짝 댄 채 두 눈을 동그랗게 뜨고 굳은 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": [
              "C02"
            ]
          },
          {
            "shot_index": 2,
            "description": "혜수가 검지로 허공을 가리킨 채 김형사를 향해 입을 크게 벌린 상체.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "김형사"
            ],
            "original_description": "혜수가 검지로 허공을 가리키며 김형사를 향해 입을 크게 벌린 상체.",
            "validator_reason": "'가리키며'라는 진행형 표현을 '가리킨 채'의 고정된 정지 자세로 수정하여 찰나성을 강화함.",
            "character_ids": [
              "C02",
              "C06"
            ]
          },
          {
            "shot_index": 3,
            "description": "김형사가 양팔을 꼰 채 입꼬리를 한쪽으로 비틀어 올린 비웃는 표정의 측면.",
            "based_on_beat": 2,
            "characters": [
              "김형사"
            ],
            "original_description": "김형사가 양팔을 꼰 채 입꼬리를 한쪽으로 비틀어 올리며 비웃는 표정을 짓는 측면.",
            "validator_reason": "'비틀어 올리며 짓는'과 같은 동작 진행 표현을 '올린 표정의'라는 결과 상태 묘사로 변경하여 한 순간으로 고정함.",
            "character_ids": [
              "C06"
            ]
          },
          {
            "shot_index": 4,
            "description": "거센 바람에 살짝 열려있던 녹슨 현관 철문이 안쪽으로 덜컹 꺾여 들어온 정지 찰나.",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "어둡고 황량한 옥탑방 거실 한가운데 나란히 서 있는 혜수와 김형사의 뒷모습 실루엣.",
            "based_on_beat": 3,
            "characters": [
              "혜수",
              "김형사"
            ],
            "character_ids": [
              "C02",
              "C06"
            ]
          }
        ]
      },
      {
        "scene_index": 28,
        "scene_heading": "S#28. 바다 + 갑판 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "해질 무렵 소형 어선의 갑판, 수리영이 바닥에 앉아 있는 인우를 향해 팔을 뻗은 채 종이 지도를 쥐고 있는 정지 찰나.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "해질 무렵 바다 위를 떠가는 소형 어선의 갑판, 수리영이 바닥에 앉아 있는 인우를 향해 손을 뻗어 종이 지도를 내민 정지 찰나.",
            "validator_reason": "'손을 뻗어 내민'은 두 동작의 연속 뉘앙스를 주므로 '팔을 뻗은 채 쥐고 있는'이라는 단일 고정 상태로 수정했습니다.",
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 2,
            "description": "인우가 미간을 잔뜩 찌푸린 채 건네받은 종이 지도를 뚫어지게 내려다보는 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "인우"
            ],
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영의 손이 낡은 흑백 사진을 쥔 채 인우의 눈앞에 뻗어져 있는 정물 구도.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "수리영의 손이 낡은 흑백 사진을 쥔 채 인우의 눈앞으로 불쑥 내밀어진 정물 구도.",
            "validator_reason": "'불쑥 내밀어진'이라는 속도감과 움직임을 암시하는 표현을 제거하고 '뻗어져 있는' 정지 상태로 수정했습니다.",
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 4,
            "description": "인우가 두 눈을 동그랗게 뜨고 입을 벌린 채 당황한 표정으로 흑백 사진을 쳐다보는 얼굴.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영이 사진을 쥔 손을 인우의 코앞까지 바짝 들이민 채 멈춘 상체 자세.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "수리영이 사진을 쥔 손을 인우의 코앞까지 한 뼘 더 바짝 들이민 상체.",
            "validator_reason": "'한 뼘 더'와 같이 동작의 변화 과정을 암시하는 표현을 제거하고 고정된 상태만 묘사했습니다.",
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 6,
            "description": "인우의 굳은 시선이 낡은 사진 한구석에 적힌 작은 글씨에 고정된 눈가 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 7,
            "description": "인우가 두 손으로 갑판 바닥을 짚고 엉덩이를 띄운 채 한쪽 무릎을 반쯤 편 정지 자세.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "original_description": "인우가 갑판 바닥을 두 손으로 짚고 엉덩이를 띄우며 한쪽 무릎을 반쯤 편 정지 상태.",
            "validator_reason": "'띄우며'라는 진행형 연결어를 '띄운 채'라는 고정 상태로 변경하여 단일 찰나를 강조했습니다.",
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 8,
            "description": "조타실을 향해 몸을 튼 인우의 한쪽 다리가 허공으로 높게 들려있는 전신 실루엣.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 9,
            "description": "두 눈을 부릅뜬 수리영이 인우의 뒷모습을 향해 바닥에서 엉덩이를 반쯤 든 채 굳어있는 찰나.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "수리영이 인우의 뒷모습을 보고 놀라 두 눈을 부릅뜬 채 바닥에서 엉덩이를 반쯤 든 찰나.",
            "validator_reason": "'보고 놀라'라는 인과 과정을 제거하고 눈을 부릅뜬 표정과 엉덩이를 든 신체 자세를 동시 고정 상태로 통합했습니다.",
            "character_ids": [
              "C01",
              "C05"
            ]
          }
        ]
      },
      {
        "scene_index": 29,
        "scene_heading": "S#29. 조타실 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "조타실 안, 인우의 두 손이 배의 운전대를 꽉 움켜쥔 채 멈춰선 뒷모습.",
            "based_on_beat": 1,
            "characters": [
              "인우"
            ],
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 2,
            "description": "수리영의 양손이 운전대를 쥔 인우의 팔뚝을 강하게 꽉 움켜쥔 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 3,
            "description": "수리영이 목에 핏대를 세우고 입을 한껏 벌려 허공에 소리치는 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 4,
            "description": "어깨가 위로 살짝 들린 채 운전대에서 두 손을 반쯤 뗀 인우의 측면.",
            "based_on_beat": 1,
            "characters": [
              "인우"
            ],
            "original_description": "인우가 어깨를 움찔하며 운전대에서 두 손을 반쯤 뗀 채 멈춘 측면.",
            "validator_reason": "'움찔하며'라는 시간 진행 표현을 정지된 자세로 수정했습니다.",
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 5,
            "description": "수리영이 미간을 찡그린 채 단호한 표정으로 인우의 눈을 똑바로 노려보는 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 6,
            "description": "인우의 얼굴이 하얗게 질린 채 초점 잃은 눈동자로 허공을 응시하며 굳어버린 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": [
              "C05"
            ]
          },
          {
            "shot_index": 7,
            "description": "수리영의 시선 구도: 하얗게 질린 인우의 어깨 너머로 조타실 낡은 벽면에 붉은색 둥근 문양들이 빼곡하게 그려진 모습.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 8,
            "description": "벽면의 붉은 원형 문양 하나가 카메라 화면을 꽉 채운 선명한 클로즈업.",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "수리영이 두 눈을 크게 뜨고 입술을 반쯤 벌린 채 경악으로 물든 얼굴.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": [
              "C01"
            ]
          },
          {
            "shot_index": 10,
            "description": "섬뜩할 정도로 무표정한 얼굴로 고개를 옆으로 튼 채 수리영을 뚫어지게 응시하는 인우의 정면 구도.",
            "based_on_beat": 4,
            "characters": [
              "인우",
              "수리영"
            ],
            "original_description": "인우가 섬뜩할 정도로 무표정한 얼굴로 고개를 돌려 수리영을 뚫어지게 응시하는 정면 구도.",
            "validator_reason": "'고개를 돌려'라는 연속 동작을 '고개를 옆으로 튼 채'라는 결과 상태로 수정했습니다.",
            "character_ids": [
              "C05",
              "C01"
            ]
          },
          {
            "shot_index": 11,
            "description": "눈이 반쯤 감긴 수리영의 상체가 힘없이 인우의 몸 쪽을 향해 크게 기울어진 찰나.",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": [
              "C01",
              "C05"
            ]
          },
          {
            "shot_index": 12,
            "description": "수리영의 머리가 인우의 단단한 어깨 위에 툭 얹혀진 채 멈춘 정지 상태.",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": [
              "C01",
              "C05"
            ]
          }
        ]
      },
      {
        "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": [],
            "original_description": "소형 어선의 뾰족한 뱃머리가 짙고 탁한 안개 벽의 표면을 막 뚫고 진입한 정지 찰나.",
            "validator_reason": "이동 중인 사물에 대해 '정지 찰나'라는 메타적 표현 대신 추진 중인 mid-action 상태를 시각적으로 묘사함.",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "어두운 안개 속, 형체가 뭉개져 희미한 회색 실루엣으로만 남은 소형 어선의 뒷모습.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          }
        ]
      }
    ],
    "total_shots": 198,
    "changed_shots": 45
  },
  "step_id": "shot_validator",
  "run_id": "87886796-2048-476c-be08-6dd37dd01bbf",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-06-08T21:48:07.110377+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}