{
  "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": "situation",
            "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": "수리영이 방문을 열고 나오자, 심각하게 뉴스를 보던 민숙이 태연한 척하며 급히 TV를 끈다."
          },
          {
            "beat_index": 2,
            "change_type": "relationship",
            "before_state": "살인 사건 뉴스로 인해 무겁고 긴장된 공기",
            "after_state": "투정을 부리며 저녁 약속을 잡는 다정하고 일상적인 모녀 분위기",
            "description": "수리영이 알바 일정을 말하고 마트에서 만나 저녁을 먹자고 제안하며 다정하게 대화를 나눈다."
          },
          {
            "beat_index": 3,
            "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": "information",
            "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": "action",
            "before_state": "마트에서 집으로 가기로 마음먹은 수리영",
            "after_state": "자전거를 타고 서둘러 집을 향해 해안도로를 달려가는 수리영",
            "description": "수리영이 엄마를 확인하기 위해 바삐 해안도로를 달려간다."
          }
        ]
      },
      {
        "scene_index": 10,
        "scene_heading": "S#10. 옥탑방 / N",
        "beats": [
          {
            "beat_index": 1,
            "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": "situation",
            "before_state": "텅 빈 집에서 애타게 엄마를 찾아다님",
            "after_state": "자신의 방 안에서 끔찍한 모습으로 죽어있는 엄마의 시신과 핏자국을 목격함",
            "description": "집 안을 살피던 수리영이 자신의 방 커튼 뒤에서 짐승에게 뜯긴 듯한 민숙의 시신을 발견한다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "시신을 보고 온몸이 얼어붙어 충격을 받음",
            "after_state": "혜수에게 다급하게 전화를 걸어 도움을 요청함",
            "description": "피투성이가 된 시신을 본 수리영이 극도의 공포 속에서 떨리는 손으로 혜수에게 전화를 건다."
          },
          {
            "beat_index": 3,
            "change_type": "emotion",
            "before_state": "전화를 걸며 두려움에 떨고 있음",
            "after_state": "기괴한 초자연적 현상들을 목격하고 극한의 공포를 느끼며 비명을 지름",
            "description": "민숙의 문신이 붉게 변하고 벽에 붉은 원이 그려지는 기이한 환상을 본 수리영이 소름이 끼쳐 비명을 지른다."
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "S#13. 옥탑방 외곽 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "옥탑방에서 도망쳐 나와 넋이 나간 채 서 있음",
            "after_state": "도착한 혜수에게 엄마가 죽어있다는 사실을 전달함",
            "description": "비명을 지르며 내려온 수리영이 자신을 찾아온 혜수에게 민숙이 죽어있다는 사실을 알린다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "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": "reaction",
            "before_state": "시신이 사라진 상황에 당황하여 찻잔 이야기를 꺼냄",
            "after_state": "사건을 장난전화로 치부하는 김형사의 짜증 섞인 비난을 받음",
            "description": "상황을 납득하지 못하는 수리영에게 김형사가 살인사건으로 바쁜데 장난을 친다며 핀잔을 준다."
          },
          {
            "beat_index": 3,
            "change_type": "action",
            "before_state": "김형사의 핀잔 속에서 시신의 행방에 대해 억울함과 의문을 품음",
            "after_state": "혜수의 위로를 받으며 바람을 쐬러 밖으로 나감",
            "description": "혜수가 김형사를 내보낸 뒤, 악몽을 꾼 것일 수 있다며 수리영을 다독여 밖으로 데리고 나간다."
          }
        ]
      },
      {
        "scene_index": 15,
        "scene_heading": "S#15. 해안가. 버스정류장 부근 / N",
        "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": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "decision",
            "before_state": "민숙과 계속 연락이 닿지 않아 내심 불길함을 느낌",
            "after_state": "김형사에게 민숙의 핸드폰 위치 추적을 적극적으로 지시함",
            "description": "경찰서로 들어온 혜수가 전화를 받지 않는 민숙의 번호를 김형사에게 보여주며 위치 추적을 요구한다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "김형사가 당장 추적하기보다 내일까지 기다려보자고 미적거림",
            "after_state": "민숙의 평소 성격을 근거로 들며 불길한 예감을 강하게 어필함",
            "description": "대수롭지 않게 여기는 김형사에게 혜수가 민숙은 말없이 연락을 끊을 사람이 아니라며 강한 불안감을 표출한다."
          }
        ]
      },
      {
        "scene_index": 17,
        "scene_heading": "S#17. 옥탑방 / 동틀무렵",
        "beats": []
      },
      {
        "scene_index": 18,
        "scene_heading": "S#18. 안방 안 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "밤새 엄마를 기다리다 깜빡 잠이 듦",
            "after_state": "고양이 소리에 깨어나 과거의 참혹했던 기억에 긴장하며 자신의 방을 다시 확인함",
            "description": "잠에서 깬 수리영이 심호흡을 한 뒤, 헛것을 보았던 자신의 방 문을 조심스럽게 열고 시신이 없음을 확인한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "시신이 없는 것을 확인하고 다행이라 여기면서도 불안해함",
            "after_state": "혜수가 실종신고와 위치추적을 진행 중이라는 소식을 듣게 됨",
            "description": "혜수와의 통화에서 수리영이 사고가 난 게 분명하다고 털어놓자, 혜수가 공식적인 조치를 취하고 있음을 알려준다."
          },
          {
            "beat_index": 3,
            "change_type": "decision",
            "before_state": "전화를 끊고 집 안에서 초조하게 소식을 기다림",
            "after_state": "무작정 기다리는 것에 불안감을 느끼고 밖으로 나가기 위해 가방을 챙김",
            "description": "가만히 기다리는 것을 견디지 못한 수리영이 외출을 결심하고 인형이 달린 백팩을 꺼내 든다."
          },
          {
            "beat_index": 4,
            "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": "마트 직원을 통해 엄마가 전날 어떤 남자와 대화를 나누었다는 사실을 알게 됨",
            "description": "수리영이 마트 직원에게 물어 엄마가 한 남자와 대화했음을 확인한다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "남자의 존재만 들었을 뿐 물증이 없는 상태",
            "after_state": "CCTV 위치를 직접 확인하고 혜수에게 연락하여 조사를 요청함",
            "description": "수리영이 마트 밖으로 나가 남자가 찍혔을 만한 CCTV 위치를 찾아내고 혜수에게 상황을 보고한다."
          }
        ]
      },
      {
        "scene_index": 20,
        "scene_heading": "S#20. 마트 총무과 / 실내",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "emotion",
            "before_state": "CCTV를 통해 남자의 정체를 확인할 수 있을 것이라 기대함",
            "after_state": "핵심 장면이 어두워 식별 불가하자 극도의 초조함과 불안을 느낌",
            "description": "보안팀 직원과 CCTV를 돌려보지만 남자가 있는 부분만 유독 어두워 얼굴을 확인할 수 없자 수리영의 불안이 깊어진다."
          },
          {
            "beat_index": 2,
            "change_type": "decision",
            "before_state": "현장에서의 확인이 불가능해 조사가 막힌 상태",
            "after_state": "경찰서에서 더 분석하기 위해 CCTV 영상을 복사해가기로 결정함",
            "description": "혜수가 현장 확인을 포기하고 CCTV 전체를 복사해서 가져가기로 보안직원과 합의한다."
          }
        ]
      },
      {
        "scene_index": 21,
        "scene_heading": "S#21. 경찰서 안 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "환각에서 본 훼손된 엄마 시신의 의미를 명확히 알지 못하는 상태",
            "after_state": "실제 살인사건 피해자의 참혹한 모습이 자신이 본 환각과 동일함을 깨달음",
            "description": "홀로 남은 수리영이 혜수의 책상에 놓인 살인사건 사진들을 보고, 환각 속 모습과 흡사하여 경악한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "엄마의 행방을 몰라 그저 막연히 기다리던 상태",
            "after_state": "엄마 폰의 마지막 위치 좌표가 바다임을 알아내고 홀로 추적을 준비함",
            "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": "숫자로 된 좌표 정보만 메모지에 가지고 있는 상태",
            "after_state": "해당 좌표의 지도를 직접 검색, 인쇄하여 구체적인 지리적 단서를 확보함",
            "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": "reaction",
            "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": "마치 보이지 않는 힘에 이끌리듯 집을 도망쳐 나와 어딘가로 향함",
            "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": "action",
            "before_state": "배를 찾지 못해 지친 채 갯바위에 앉아 혜수의 전화를 무시하던 상태",
            "after_state": "안개를 뚫고 나타난 유일한 배를 향해 적극적으로 접근함",
            "description": "혜수의 부재중 전화가 이어지는 가운데, 수리영이 안개 속에서 다가오는 인우의 배를 발견하고 다가간다."
          },
          {
            "beat_index": 3,
            "change_type": "relationship",
            "before_state": "인우가 수리영을 무시하고 대답을 회피함",
            "after_state": "수리영의 사정에 인우가 마지못해 승선을 허락하는 관계로 발전함",
            "description": "수리영이 사정하자, 고민하던 인우가 어차피 돌아가야 한다며 배에 타라고 허락한다."
          },
          {
            "beat_index": 4,
            "change_type": "decision",
            "before_state": "혜수에게 단독 행동을 숨기거나 회피하던 상태",
            "after_state": "자신의 결심을 통보하며 본격적으로 추적에 나섬",
            "description": "수리영이 혜수에게 혼자 다녀오겠다는 음성메시지를 남기고 출발을 확정한다."
          }
        ]
      },
      {
        "scene_index": 27,
        "scene_heading": "S#27. 옥탑방 안 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "before_state": "수리영의 행방과 의도를 알지 못해 애타게 찾고 있던 상태",
            "after_state": "수리영이 경찰서에서 좌표를 몰래 보고 바다로 향했음을 확신함",
            "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": "situation",
            "before_state": "육지를 떠나 망망대해로 나간 배 위에서 수리영과 인우가 이동 중이다.",
            "after_state": "수리영이 지도로 목적지 좌표를 알려주자, 인우가 그곳엔 아무것도 없다며 의문을 제기한다.",
            "description": "수리영이 북동쪽 70km 지점을 목적지로 밝히지만, 섬으로 가는 줄 알았던 인우가 그냥 바다라며 반박한다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "인우가 좌표상에 아무것도 없다며 목적을 묻는다.",
            "after_state": "수리영이 옛날 사진을 보여주자, 인우가 크게 당황하며 모른다고 부인한다.",
            "description": "수리영이 '금월'이라는 글씨가 적힌 사진을 내밀자, 인우는 흔들리는 눈빛을 애써 감추며 모른 척한다."
          },
          {
            "beat_index": 3,
            "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": "information",
            "before_state": "인우가 사진과 수리영의 목적이 무슨 상관인지 캐묻는다.",
            "after_state": "수리영이 사진 속 아이가 엄마 '강민숙'이라고 밝히자, 인우가 사색이 된다.",
            "description": "수리영이 실종된 엄마의 이름과 나이를 알려주자, 인우는 그 이름을 되뇌며 큰 충격을 받은 표정을 짓는다."
          },
          {
            "beat_index": 3,
            "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": 56
  },
  "step_id": "beat_extract",
  "run_id": "4a2ead94-366a-43be-8dfe-722bb2ba56f4",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-06-01T07:04:01.976708+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}