{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "scene_heading": "S#1. 숲속 / 해 질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "숲속에서 겁에 질린 남자가 무언가를 피해 필사적으로 도망침",
            "after_state": "정체불명의 검은 인영이 나타나 남자를 무자비하게 덮침",
            "description": "숲속에서 도망치던 남자가 갑자기 나타난 검은 인영에게 공격당하며 절망적인 상황에 처한다."
          }
        ]
      },
      {
        "scene_index": 2,
        "scene_heading": "S#2. 도시 뒷골목 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "희미한 가로등 아래 남녀가 엉켜 가쁜 숨을 몰아쉬는 일상적인 모습임",
            "after_state": "가쁜 숨소리가 흡입 소리로 바뀌며 붉은 눈의 남자가 여자의 목을 물어뜯음",
            "description": "뒷골목의 평범해 보이던 남녀가 갑자기 흡혈 공격 상황으로 돌변하여 여자가 힘없이 쓰러진다."
          }
        ]
      },
      {
        "scene_index": 3,
        "scene_heading": "S#3. 현장 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "혜수의 지휘 아래 경찰들이 숲속과 뒷골목 현장을 감식하고 시신을 수거함",
            "after_state": "연이은 시신 발견으로 수사본부가 꾸려지고 경찰 갑호 비상령이 내려짐",
            "description": "연쇄 살인 사건의 심각성이 드러나며 경찰이 본격적인 비상 수사 체제에 돌입한다."
          }
        ]
      },
      {
        "scene_index": 4,
        "scene_heading": "S#4. 옥탑방 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "비상령이 내려진 상태에서 경찰이 수사를 진행 중임",
            "after_state": "범인의 윤곽을 잡지 못한 경찰의 무능으로 지역 주민들의 불안감이 고조되고 있다는 뉴스가 보도됨",
            "description": "뉴스 보도를 통해 사건의 단서가 없고 수사가 난항을 겪어 사회적 공포가 확산되고 있음이 시각적 전경과 함께 전달된다."
          }
        ]
      },
      {
        "scene_index": 5,
        "scene_heading": "S#5. 옥탑방 안 / 실내",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "민숙이 어두운 표정으로 심각하게 연쇄살인 뉴스를 시청 중임",
            "after_state": "수리영이 방에서 나오자 민숙이 황급히 TV를 끄며 평온한 척 다정한 말투로 전환함",
            "description": "민숙이 끔찍한 사건 뉴스를 보던 중 딸을 의식해 급히 화면을 가리고 일상적인 엄마의 모습으로 행동을 바꾼다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "수리영이 알바를 가기 전 민숙과 저녁 약속을 잡으며 평범한 대화를 나눔",
            "after_state": "수리영이 민숙 손목의 또렷한 표식을 발견하지만 오랜 시간 봐온 터라 개의치 않고 넘김",
            "description": "수리영이 엄마의 신체적 특이점인 표식을 인지하지만 익숙함 때문에 별다른 의심이나 감정 동요 없이 지나친다."
          }
        ]
      },
      {
        "scene_index": 6,
        "scene_heading": "S#6. 해안가 도로 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "수리영이 이어폰을 끼고 밝고 활기찬 모습으로 해안가 도로를 달림",
            "after_state": "평화로운 배경 속에서 갑자기 맹견이 사납게 짖는 소리가 들려옴",
            "description": "평온하던 수리영의 주행 상황에 거친 개 짖는 소리가 개입되며 다음 장소의 분위기를 예고한다."
          }
        ]
      },
      {
        "scene_index": 7,
        "scene_heading": "S#7. 유기견 보호원 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "reaction",
            "before_state": "로트와일러가 당장이라도 물어버릴 듯 사납게 짖으며 날뜀",
            "after_state": "수리영이 노려보자 맹견의 기세가 순식간에 수그러들며 얌전해짐",
            "description": "통제 불능이던 맹견이 수리영의 시선 하나에 반응하여 순종적으로 상태가 돌변한다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "수리영이 늦을 것 같아 민숙에게 연락을 시도함",
            "after_state": "민숙이 전화를 받지 않자 의아함을 안고 밀린 보호원 업무를 본격적으로 시작함",
            "description": "수리영이 엄마와의 연락 불발 상황을 일시적으로 뒤로하고 도우미의 부름에 응해 자신의 일에 몰두한다."
          }
        ]
      },
      {
        "scene_index": 8,
        "scene_heading": "S#8. 번화가·대형 마트 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "수리영이 약속대로 마트에 도착해 민숙을 이리저리 찾음",
            "after_state": "남자 직원 등 다른 직원들을 통해 민숙이 밖에서 누군가와 얘기한 뒤 이미 조퇴했다는 사실을 전해 들음",
            "description": "수리영이 직장에 있을 줄 알았던 엄마의 부재와 누군가와의 낯선 만남에 대한 정보를 얻게 된다."
          },
          {
            "beat_index": 2,
            "change_type": "decision",
            "before_state": "수리영이 엇갈린 상황에 헷갈려하며 마트 안팎에서 엄마와 연락을 시도함",
            "after_state": "통화가 되지 않자 상황을 확인하기 위해 서둘러 집으로 돌아가기로 결심함",
            "description": "엄마의 뜻밖의 조퇴와 연락 두절에 대처하기 위해 수리영이 즉각 귀가를 결정한다."
          }
        ]
      },
      {
        "scene_index": 9,
        "scene_heading": "S#9. 해안가 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "해 질 무렵 마트에서 엄마를 찾지 못한 수리영이 출발함",
            "after_state": "밤이 된 해안도로를 다급한 마음으로 빠르게 자전거를 타고 달려감",
            "description": "시간대가 밤으로 넘어가며 수리영이 불안감을 안고 집으로 향하는 긴박한 환경이 조성된다."
          }
        ]
      },
      {
        "scene_index": 10,
        "scene_heading": "S#10. 옥탑방 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "바람에 빨랫줄과 석창포 잎이 날리는 고요한 옥탑방 앞임",
            "after_state": "얼굴이 보이지 않는 낯선 남자가 전단지를 이용해 철문을 능숙하게 따고 집 안으로 침입함",
            "description": "외부인의 접근이 없던 옥탑방에 신원 미상의 남자가 불법적으로 잠입하며 안전이 깨진다."
          },
          {
            "beat_index": 2,
            "change_type": "situation",
            "before_state": "남자가 조용히 열린 문틈으로 들어감",
            "after_state": "창문에 비친 그림자를 통해 남자가 민숙을 덮쳐 물어뜯고 민숙이 비명을 지르는 참혹한 상황이 연출됨",
            "description": "은밀한 침입 상황이 순식간에 민숙을 향한 잔혹한 폭력과 공격 상황으로 악화된다."
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "S#11. 옥탑 방 밖 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "수리영이 서둘러 골목길을 지나 빌라 마당에 자전거를 세움",
            "after_state": "옥상으로 향하던 중 역겨운 냄새를 맡고 반쯤 열린 현관 철문을 발견하며 불길함을 직감함",
            "description": "그저 서둘러 귀가하던 수리영이 옥탑방 입구의 이상한 냄새와 열린 문을 통해 비정상적인 상황이 발생했음을 인지하게 된다."
          }
        ]
      },
      {
        "scene_index": 12,
        "scene_heading": "S#12. 옥탑방 안 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "엄마가 보이지 않아 집 안 곳곳을 찾아다님",
            "after_state": "자신의 방에서 끔찍하게 훼손된 엄마의 시신을 발견함",
            "description": "엄마를 부르며 집안을 뒤지던 수리영은 자신의 방에서 피투성이가 된 채 죽어있는 엄마의 시신을 발견하고 충격에 빠진다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "충격에 온몸이 얼어붙어 주춤거림",
            "after_state": "혜수에게 전화를 걸어 도움을 요청함",
            "description": "끔찍한 시신을 보고 부들부들 떨던 수리영은 혜수에게 전화를 걸어 다급히 받으라고 읊조린다."
          },
          {
            "beat_index": 3,
            "change_type": "situation",
            "before_state": "시신을 보며 혜수와 통화를 시도함",
            "after_state": "문신이 변색되고 벽에 붉은 원이 그려지는 초현실적 현상을 목격함",
            "description": "전화를 걸던 수리영은 죽은 엄마 손목의 문신이 붉게 변하고 벽에 저절로 붉은 원이 그려지는 기이한 현상을 마주한다."
          },
          {
            "beat_index": 4,
            "change_type": "emotion",
            "before_state": "기이한 현상을 지켜보며 호흡이 가빠짐",
            "after_state": "극도의 공포에 사로잡혀 소름끼치는 비명을 지름",
            "description": "초현실적 현상을 목격한 수리영은 소름끼치는 공포에 질려 크게 비명을 지른다."
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "S#13. 옥탑방 외곽 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "비명을 지르며 허겁지겁 옥탑방을 빠져나옴",
            "after_state": "도착한 혜수에게 엄마가 죽었다고 알림",
            "description": "공포에 질려 계단을 뛰어 내려온 수리영은 때마침 도착한 혜수에게 엄마가 죽어있다는 사실을 전한다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "멍하니 선 수리영을 보고 무슨 일인지 묻던 혜수",
            "after_state": "수리영의 대답에 크게 놀라 김형사와 함께 옥탑방으로 뛰어 올라감",
            "description": "엄마가 죽었다는 수리영의 말에 혜수는 크게 놀라며 후배 김형사와 함께 급히 옥탑방으로 뛰어 올라간다."
          }
        ]
      },
      {
        "scene_index": 14,
        "scene_heading": "S#14. 옥탑방 안 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "시신과 혈흔, 붉은 표식이 있던 수리영의 방",
            "after_state": "핏자국과 시신이 모두 감쪽같이 사라지고 깨끗하게 정돈된 상태",
            "description": "형사들과 함께 다시 방으로 뛰어 들어간 수리영은 시신은 커녕 핏자국조차 없이 지나치게 깨끗한 방안을 확인한다."
          },
          {
            "beat_index": 2,
            "change_type": "emotion",
            "before_state": "자신이 본 끔찍한 현장을 확신하며 뛰어 들어감",
            "after_state": "모든 흔적이 사라진 것을 보고 혼란스러워하며 파리해짐",
            "description": "분명히 시신을 보았던 수리영은 깨끗한 집안 상태를 보며 자신이 본 것에 대해 깊은 혼란에 빠진다."
          },
          {
            "beat_index": 3,
            "change_type": "reaction",
            "before_state": "살인사건 신고를 받고 출동해 집안을 살피던 김형사",
            "after_state": "시신이 없자 수리영의 말을 장난전화로 치부하며 짜증을 냄",
            "description": "집안에 아무것도 없자 김형사는 살인사건으로 난리인 와중에 장난전화를 했다며 수리영에게 짜증을 낸다."
          },
          {
            "beat_index": 4,
            "change_type": "decision",
            "before_state": "시신이 사라진 이유를 몰라 답답해하는 수리영",
            "after_state": "혜수의 제안으로 과로에 의한 악몽으로 치부하고 밖으로 나가기로 함",
            "description": "혜수는 수리영이 과로 때문에 악몽을 꾼 것이라 다독이며, 바람을 쐬러 나가자고 이끈다."
          }
        ]
      },
      {
        "scene_index": 15,
        "scene_heading": "S#15. 해안가. 버스정류장 부근 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "decision",
            "before_state": "자신이 헛것을 본 것인지 혼란스러워하며 멍하니 있음",
            "after_state": "잘못 본 것이 맞다며 애써 믿고 혼자 집에 가보겠다고 일어남",
            "description": "바다를 보며 혼란스러워하던 수리영은 엄마가 그런 일을 당할 리 없다고 스스로를 설득하며, 집으로 가 확인하겠다고 결심한다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "혜수와 함께 정류장 부근에 머물러 있음",
            "after_state": "혼자 갈 수 있다며 집을 향해 달려감",
            "description": "집에 가보겠다며 일어난 수리영은 혜수를 남겨두고 먼저 집으로 달려간다."
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "계속 무응답인 민숙의 전화를 받음",
            "after_state": "김형사에게 민숙의 핸드폰 위치 추적을 지시함",
            "description": "사무실로 들어오면서도 민숙이 전화를 받지 않자, 혜수는 김형사에게 번호 위치 추적을 요구한다."
          },
          {
            "beat_index": 2,
            "change_type": "emotion",
            "before_state": "오늘은 좀 기다려보자고 퉁명스럽게 답하는 김형사",
            "after_state": "평소 민숙의 성향을 알기에 이상함을 느끼고 불길한 예감에 휩싸임",
            "description": "혜수는 약속을 어길 리 없는 민숙의 성향을 알기에, 이 상황을 단순 부재가 아닌 몹시 불길한 상황으로 직감한다."
          }
        ]
      },
      {
        "scene_index": 17,
        "scene_heading": "S#17. 옥탑방 / 동틀무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "조용한 새벽녘의 옥탑방",
            "after_state": "검은 고양이 한 마리가 불 켜진 방을 슬쩍 보고 담을 넘어감",
            "description": "날이 밝아오는 새벽, 검은 고양이가 옥탑방 주변을 살피고 담을 넘어가며 묘한 긴장감을 준다."
          }
        ]
      },
      {
        "scene_index": 18,
        "scene_heading": "S#18. 안방 안 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "고양이 소리에 잠에서 깨어 조심스레 자신의 방문을 엶",
            "after_state": "시신이 없음을 재차 확인하고 한숨을 쉬며 다행스러워함",
            "description": "밤새 기다리다 잠들었던 수리영은 깨어나 다시 방을 확인하고, 시신이 없다는 사실에 안도감 섞인 한숨을 쉰다."
          },
          {
            "beat_index": 2,
            "change_type": "decision",
            "before_state": "이럴 리 없다는 생각과 함께 혜수의 전화를 받음",
            "after_state": "엄마가 단순 실종이 아니라 사고를 당한 것이 분명하다고 확신함",
            "description": "혜수와 통화하던 수리영은 엄마의 성향상 이렇게 연락이 안 될 리 없다며 사고가 난 것이라고 단정 짓는다."
          },
          {
            "beat_index": 3,
            "change_type": "action",
            "before_state": "혜수가 실종신고를 내고 위치추적 중이니 기다리라고 함",
            "after_state": "무작정 기다리는 것에 불안을 느끼고 백팩을 챙겨 밖으로 나옴",
            "description": "혜수의 당부에도 불구하고 불안함을 견디지 못한 수리영은 백팩을 들고 방을 나선다."
          },
          {
            "beat_index": 4,
            "change_type": "situation",
            "before_state": "세수를 하며 거울을 봄",
            "after_state": "욕실 벽에 붉은 원이 생기고 사진 속 엄마 얼굴이 뭉개지는 환영을 목격함",
            "description": "거울을 보던 수리영은 붉은 원이 생기고 사진 속 엄마의 얼굴이 흘러내리는 끔찍한 환영들을 연속해서 보게 된다."
          },
          {
            "beat_index": 5,
            "change_type": "emotion",
            "before_state": "기이한 환영들을 목격하며 비명을 지름",
            "after_state": "자신의 뺨을 치며 환영에서 벗어나 스스로 정신을 다잡으려 함",
            "description": "환영을 보고 비명을 지르던 수리영은 그것들이 다시 멀쩡해진 것을 확인하고, 자신의 뺨을 치며 이성을 되찾으려 애쓴다."
          }
        ]
      },
      {
        "scene_index": 19,
        "scene_heading": "S#19. 마트 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "엄마의 행방과 만난 사람에 대한 확실한 단서가 없음",
            "after_state": "남자 직원을 통해 엄마가 어떤 남자와 대화했음을 확인하고 CCTV를 확인하기로 함",
            "description": "수리영이 마트 직원에게서 전날 엄마가 누군가와 대화했다는 사실을 재확인하고, CCTV 위치를 파악해 혜수에게 알린다."
          }
        ]
      },
      {
        "scene_index": 20,
        "scene_heading": "S#20. 마트 총무과 / 실내",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "CCTV를 통해 낯선 남자의 정체를 확인할 수 있을 것이라 기대함",
            "after_state": "해당 부분의 화면이 어두워 식별에 실패하고, 혜수가 전체 복사본을 가져가기로 함",
            "description": "보안 직원과 함께 CCTV 화면을 돌려보지만 결정적인 순간이 어두워 남자를 식별하지 못하고 단서 확보에 난항을 겪는다."
          }
        ]
      },
      {
        "scene_index": 21,
        "scene_heading": "S#21. 경찰서 안 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "혜수와 김형사가 함께 있어 수리영을 보호하고 신경 쓰는 상태",
            "after_state": "살인사건 긴급 회의 소집으로 인해 형사들이 모두 빠져나가고 수리영이 홀로 남겨짐",
            "description": "살인사건 발생으로 서내가 초비상 상태가 되며 형사들이 우르르 몰려나가고 수리영이 혜수의 자리에 혼자 대기하게 된다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "환각에서 본 엄마의 시신 모습을 애써 의심하고 부정하려 함",
            "after_state": "책상 위 실제 살인사건 사진들이 환각 속 시신 모습과 똑같음을 확인하고 경악함",
            "description": "수리영이 혜수의 책상에 널려있는 끔찍한 살인사건 현장 사진들을 보고 자신이 본 환각과 일치함에 큰 충격을 받는다."
          },
          {
            "beat_index": 3,
            "change_type": "action",
            "before_state": "엄마의 현재 위치에 대한 정보가 전혀 없음",
            "after_state": "모니터에 뜬 엄마 폰의 마지막 해상 GPS 좌표를 몰래 확인하고 메모한 뒤 빠져나감",
            "description": "김형사 자리에 수신된 엄마 핸드폰의 마지막 위치 좌표가 바다임을 확인한 수리영이 몰래 메모를 챙겨 경찰서를 나선다."
          }
        ]
      },
      {
        "scene_index": 22,
        "scene_heading": "S#22. 경찰서 밖 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "경찰서 안에서 단서를 막 확보한 상태",
            "after_state": "좌표를 확인하기 위해 자전거를 타고 다급하게 이동함",
            "description": "메모를 챙긴 수리영이 주차된 자전거를 타고 급히 경찰서를 벗어나 목적지를 향해 달려간다."
          }
        ]
      },
      {
        "scene_index": 23,
        "scene_heading": "S#23. 어느 PC방 / 실내",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "GPS 좌표의 수치만 가지고 대략적인 방향만 아는 상태",
            "after_state": "PC방에서 좌표의 실제 위치를 지도로 확인하고 여러 장을 인쇄해 떠날 준비를 마침",
            "description": "수리영이 PC방에 들러 적어온 좌표를 바탕으로 지도를 검색해 인쇄한 뒤 가방에 챙겨 넣는다."
          }
        ]
      },
      {
        "scene_index": 24,
        "scene_heading": "S#24. 해안가 / 소나기",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "비가 오지 않던 일상적인 날씨 속 이동",
            "after_state": "천둥번개와 폭우가 쏟아지는 악천후 속에서도 굴하지 않고 빗속을 뚫고 전진함",
            "description": "세찬 소나기와 천둥번개가 치는 궂은 날씨에도 수리영은 오직 엄마를 찾겠다는 일념으로 해안가를 내달린다."
          }
        ]
      },
      {
        "scene_index": 25,
        "scene_heading": "S#25. 옥탑방 안 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "평범하게 정돈되어 있던 집안 상태 (이전 씬 기준)",
            "after_state": "누군가 침입해 가재도구를 헤집어놓아 난장판이 된 집안을 보고 극도로 긴장함",
            "description": "집에 도착한 수리영이 엉망으로 어질러진 거실과 열린 창문을 발견하고 호흡이 가빠지며 공포를 느낀다."
          },
          {
            "beat_index": 2,
            "change_type": "emotion",
            "before_state": "집이 어질러진 원인을 모른 채 당황하고 불안해함",
            "after_state": "방 벽의 붉은 원과 환각 속 죽은 엄마가 쥐고 있던 피 묻은 옛날 사진을 발견하고 정신이 혼미해짐",
            "description": "자신의 방 벽에 그려진 기이한 붉은 원과 그곳에 꽂힌 핏자국 묻은 어린 시절의 사진을 확인한 수리영이 큰 충격에 빠진다."
          },
          {
            "beat_index": 3,
            "change_type": "action",
            "before_state": "연이은 기이한 현상에 압도되어 침대에 털썩 주저앉음",
            "after_state": "무언가에 홀린 듯 피 묻은 사진을 손에 꽉 쥔 채 백팩을 메고 집 밖으로 나섬",
            "description": "혼란스러운 상황에 넋이 나간 수리영이 마치 이끌리듯 문제의 사진을 들고 다시 밖으로 나간다."
          }
        ]
      },
      {
        "scene_index": 26,
        "scene_heading": "S#26. 포구 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "빗속을 뚫고 바다로 가기 위해 이동하던 상태",
            "after_state": "비가 그치고 안개가 자욱한 포구에서 배를 찾지 못해 몇 시간째 갯바위에 앉아 지침",
            "description": "포구에 도착했지만 짙은 안개 때문에 배가 보이지 않아 수리영이 하염없이 바다를 바라보며 기다림에 지친다."
          },
          {
            "beat_index": 2,
            "change_type": "relationship",
            "before_state": "바다로 나갈 수단과 도와줄 사람이 전혀 없어 발이 묶임",
            "after_state": "안개를 뚫고 나타난 인우의 배를 발견하고, 그를 설득해 배에 동승하기로 합의함",
            "description": "배를 몰고 온 인우에게 수리영이 다가가 엄마를 찾아야 한다며 승선을 간청하고, 인우가 고민 끝에 수락한다."
          },
          {
            "beat_index": 3,
            "change_type": "action",
            "before_state": "혜수에게 자신의 목적지나 행방을 전혀 알리지 않은 상태",
            "after_state": "배가 출발하기 직전 혜수에게 행선지는 숨긴 채 금방 다녀오겠다는 안심성 음성 메시지를 남김",
            "description": "바다로 떠나기 전, 수리영이 혜수에게 걱정하지 말라는 내용의 메시지를 남기며 홀로 미지의 여정을 시작한다."
          }
        ]
      },
      {
        "scene_index": 27,
        "scene_heading": "S#27. 옥탑방 안 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "emotion",
            "before_state": "수리영이 단서를 보지 못하고 단순 방황 중일 거라 여기는 상태 (김형사 기준)",
            "after_state": "음성 메시지를 확인한 혜수가 수리영이 GPS 좌표를 몰래 보고 바다로 떠났음을 직감하며 극도로 불안해함",
            "description": "수리영의 녹음 메시지를 들은 혜수는 수리영이 경찰서에서 몰래 좌표를 확인하고 홀로 위험한 바다로 향했을 거라 확신하며 걱정한다."
          },
          {
            "beat_index": 2,
            "change_type": "situation",
            "before_state": "혜수와 김형사가 수리영의 행방에 대해 의견을 주고받음",
            "after_state": "빈집의 현관문이 바람에 덜커덩거리며 스산하고 황량한 분위기로 전환됨",
            "description": "대화가 끊긴 옥탑방에 바람에 흔들리는 현관문 소리만 울리며 불길하고 황량한 여운을 남긴다."
          }
        ]
      },
      {
        "scene_index": 28,
        "scene_heading": "S#28. 바다 + 갑판 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "수리영이 배의 목적지를 숨기고 있던 상태",
            "after_state": "지도를 보여주며 북동쪽 70km 좌표를 목적지로 밝히는 상태",
            "description": "수리영은 인우에게 지도를 내밀며 자신이 가고자 하는 정확한 좌표를 알린다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "인우가 평범한 인근 섬으로 간다고 생각하던 상태",
            "after_state": "좌표가 빈 바다임을 알고 의아해하는 상태",
            "description": "인우는 수리영이 가리킨 곳이 아무것도 없는 바다라며 황당해한다."
          },
          {
            "beat_index": 3,
            "change_type": "reaction",
            "before_state": "인우가 수리영의 목적지를 단순히 이상하게 여기던 상태",
            "after_state": "수리영이 내민 사진을 보고 크게 당황하며 모른다고 부인하는 상태",
            "description": "수리영이 옥탑방에서 가져온 사진을 보여주자 인우는 몹시 당황하며 장소를 모른다고 강하게 부인한다."
          },
          {
            "beat_index": 4,
            "change_type": "decision",
            "before_state": "수리영이 인우에게 장소를 물어보던 상태",
            "after_state": "인우의 흔들리는 반응을 보고 그가 장소를 알고 있음을 확신하여 추궁하는 상태",
            "description": "수리영은 흔들리는 인우의 시선을 포착하고 그가 사진 속 장소를 알고 있다고 확신하며 압박한다."
          },
          {
            "beat_index": 5,
            "change_type": "action",
            "before_state": "인우가 수리영에게 장소에 대해 추궁받던 상태",
            "after_state": "발작적으로 일어나 조타실로 달려가 뱃머리를 돌리려 시도하는 상태",
            "description": "압박을 견디지 못한 인우는 갑자기 조타실로 달려가 배를 돌리려 하고, 수리영이 이를 막아선다."
          }
        ]
      },
      {
        "scene_index": 29,
        "scene_heading": "S#29. 조타실 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "emotion",
            "before_state": "수리영이 배를 돌리려는 인우를 단순히 제지하려던 상태",
            "after_state": "그곳에 엄마가 잡혀있다고 분노하며 절박하게 호소하는 상태",
            "description": "당신 같은 사람이 가면 안 된다는 인우의 말에 수리영은 엄마가 거기 잡혀있을 수 있다며 분노 섞인 절박함을 표출한다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "인우가 수리영의 섬 진입을 완강히 거부하던 상태",
            "after_state": "사라진 엄마의 이름이 강민숙이라는 것을 듣고 사색이 되는 상태",
            "description": "인우는 사진 속 인물의 이름이 41세 강민숙이라는 수리영의 대답에 엄청난 충격을 받고 사색이 된다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "수리영이 인우에게 엄마의 정보를 알려주며 설득하던 상태",
            "after_state": "조타실 내의 붉은 원들을 발견하고 인우의 정체에 경악하는 상태",
            "description": "수리영은 조타실 안에서 자신의 옥탑방에서 본 것과 동일한 붉은 원들을 발견하고 인우를 강하게 의심한다."
          },
          {
            "beat_index": 4,
            "change_type": "situation",
            "before_state": "수리영이 인우를 의심하며 두려움과 혼란을 느끼던 상태",
            "after_state": "의식을 잃고 인우의 어깨 위로 쓰러지는 상태",
            "description": "극도의 혼란 속에서 수리영은 의식이 혼미해지며 인우를 노려보다 그대로 쓰러진다."
          }
        ]
      },
      {
        "scene_index": 30,
        "scene_heading": "S#30. 바다 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "배가 해가 지는 맑은 바다 위를 항해하던 상태",
            "after_state": "세상과의 경계를 지우는 짙은 안개 속으로 완전히 진입하는 상태",
            "description": "수리영이 쓰러진 후 인우의 배는 황금빛 바다를 지나 한치 앞도 보이지 않는 짙은 안개 띠 안으로 서서히 모습을 감춘다."
          }
        ]
      }
    ],
    "total_beats": 61
  },
  "step_id": "beat_extract",
  "run_id": "0e56504e-55de-455c-8767-396d345e0a05",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-05-21T23:46:30.357736+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}