{
  "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": "action",
            "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": []
      },
      {
        "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": "decision",
            "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": []
      },
      {
        "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": "situation",
            "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": []
      },
      {
        "scene_index": 10,
        "scene_heading": "S#10. 옥탑방 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "action",
            "before_state": "옥탑방 문밖에 멈춰 서서 침입을 시도함",
            "after_state": "잠긴 문을 열고 들어가 민숙을 습격함",
            "description": "정체불명의 습격자가 전단지를 밀어 넣어 문을 연 뒤, 집 안으로 침입해 민숙을 물어뜯으며 공격한다."
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "S#11. 옥탑 방 밖 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "연락 두절된 엄마를 찾아 급히 집으로 옴",
            "after_state": "역겨운 냄새와 열린 현관문을 마주하고 이상 징후를 감지함",
            "description": "수리영이 옥탑방에 도착하자마자 이상한 악취를 맡고, 반쯤 열린 현관 철문을 발견하며 위기를 직감한다."
          }
        ]
      },
      {
        "scene_index": 12,
        "scene_heading": "S#12. 옥탑방 안 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "emotion",
            "before_state": "엄마를 부르며 조심스럽게 집 안의 흔적을 살피는 상태",
            "after_state": "자신의 방에서 끔찍하게 훼손된 엄마의 시신과 핏자국을 발견하고 극도의 충격과 공포에 사로잡힌 상태",
            "description": "집 안을 수색하던 수리영은 자신의 방 커튼 뒤에 죽어있는 엄마를 발견하고 큰 충격을 받는다."
          },
          {
            "beat_index": 2,
            "change_type": "action",
            "before_state": "충격에 온몸이 굳어 어찌할 바를 모르는 상태",
            "after_state": "간신히 정신을 차리고 핸드폰으로 혜수에게 전화를 걸어 구조를 요청하는 상태",
            "description": "덜렁거리는 살점과 피를 보고 뒤로 주춤하던 수리영은 부들부들 떨리는 손으로 혜수에게 전화를 건다."
          },
          {
            "beat_index": 3,
            "change_type": "reaction",
            "before_state": "혜수의 응답을 들으며 엄마의 사진을 꺼내려던 상태",
            "after_state": "문신이 붉게 변하고 벽에 붉은 원이 생겨나는 초자연적 현상을 목격하고 비명을 지르는 상태",
            "description": "수리영은 엄마 손의 문신이 변하고 침대 위 벽에 붉은 원이 그려지는 기이한 현상에 소름 끼쳐하며 비명을 지른다."
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "S#13. 옥탑방 외곽 / 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": "information",
            "before_state": "혜수는 수리영이 왜 비명을 지르고 도망쳤는지 모르는 상태",
            "after_state": "수리영으로부터 엄마가 죽어있다는 말을 듣고 충격적인 사건을 인지한 상태",
            "description": "수리영이 엄마가 죽어있다고 말하자 혜수가 크게 놀란다."
          },
          {
            "beat_index": 4,
            "change_type": "decision",
            "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": "relationship",
            "before_state": "김형사가 수리영의 주장을 믿고 흔적을 찾으려던 상태",
            "after_state": "아무런 증거가 나오지 않자 수리영을 장난전화꾼으로 취급하며 불신하고 짜증을 내는 상태",
            "description": "식탁에 찻잔조차 없는 것을 본 김형사가 살인사건으로 바쁜데 장난전화를 했다며 수리영에게 짜증을 내고 나간다."
          },
          {
            "beat_index": 4,
            "change_type": "action",
            "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": "수리영이 먼저 달려가자 혜수가 등 뒤에 대고 연락하라고 소리친다."
          },
          {
            "beat_index": 3,
            "change_type": "situation",
            "before_state": "수리영과 혜수만 있는 안전한 외부 공간이라 여겨지던 상황",
            "after_state": "정체불명의 시선이 두 사람을 감시하듯 지켜보는 불길한 상황",
            "description": "누군가의 카메라 시선이 흩어지는 수리영과 혜수를 지켜보고 있음이 암시된다."
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "emotion",
            "before_state": "수리영을 단순 악몽이라 다독이며 안심시켰던 상태",
            "after_state": "민숙과 계속 연락이 닿지 않자 심상치 않은 일이 생겼다는 불길한 예감을 강하게 느끼는 상태",
            "description": "경찰서로 돌아온 혜수가 민숙에게 여러 번 전화를 걸지만 무응답이자 직감적으로 불길함을 느낀다."
          },
          {
            "beat_index": 2,
            "change_type": "decision",
            "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": "action",
            "before_state": "밤새 침대에 머리를 대고 엄마를 기다리다 지쳐 잠든 상태",
            "after_state": "고양이 소리에 번쩍 깨어나 집안에 인기척이 있는지 황급히 살피는 상태",
            "description": "수리영이 잠에서 깨자마자 혹시나 하는 마음에 집안을 둘러본다."
          },
          {
            "beat_index": 2,
            "change_type": "emotion",
            "before_state": "시신이 다시 방 안에 있을지도 모른다는 공포와 긴장감을 느끼는 상태",
            "after_state": "커튼 뒤가 텅 비어있음을 재확인하고 안도의 한숨을 쉬는 상태",
            "description": "두려움을 안고 자기 방 커튼을 확 열어젖히지만 시신이 없음을 확인하고 다행이라 여기며 안도한다."
          },
          {
            "beat_index": 3,
            "change_type": "decision",
            "before_state": "자신이 헛것을 본 거라며 엄마의 부재를 단순 외출이나 엇갈림으로 믿으려던 상태",
            "after_state": "아침까지 이어지는 연락 두절에 단순한 착각이 아니라 엄마에게 사고가 났다고 확신하는 상태",
            "description": "수리영은 혜수와 통화하면서 엄마가 이럴 리 없다며 사고 난 것이 분명하다고 강하게 주장한다."
          },
          {
            "beat_index": 4,
            "change_type": "action",
            "before_state": "혜수가 위치추적 중이니 얌전히 기다리라는 당부를 받아들인 상태",
            "after_state": "기다림의 불안감을 이기지 못하고 스스로 무언가를 하기 위해 백팩을 챙겨 나서는 상태",
            "description": "무작정 기다리는 것이 불안해진 수리영이 인형이 달린 자신의 백팩을 꺼내 나갈 채비를 한다."
          },
          {
            "beat_index": 5,
            "change_type": "reaction",
            "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": "decision",
            "before_state": "CCTV 위치만 확인한 상태의 수리영",
            "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": "보안팀 직원과 혜수가 화면을 돌려보지만, 유독 그 부분만 어두워 남자의 정체를 파악할 수 없자 수리영은 초조해진다."
          },
          {
            "beat_index": 2,
            "change_type": "decision",
            "before_state": "마트 현장에서는 CCTV 영상 분석이 불가능한 상태",
            "after_state": "혜수가 보안직원에게 부탁하여 CCTV 원본을 복사해 가져가기로 결정함",
            "description": "현장에서 더 이상의 식별이 어렵다고 판단한 혜수는 CCTV 전체 파일을 경찰서로 가져가 확인하기로 한다."
          }
        ]
      },
      {
        "scene_index": 21,
        "scene_heading": "S#21. 경찰서 안 / D",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "emotion",
            "before_state": "경찰서 사무실에 홀로 남아 혜수를 기다리던 수리영",
            "after_state": "책상에 널린 살인사건 사진이 자신이 본 환각과 일치함을 깨닫고 큰 충격을 받음",
            "description": "혜수를 기다리던 중 책상 위 살인사건 피해자 사진들을 본 수리영은, 자신이 환각 상태에서 보았던 훼손된 엄마의 모습과 너무도 흡사해 경악한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "before_state": "엄마가 어디 있는지 위치를 전혀 파악하지 못했던 수리영",
            "after_state": "김형사 모니터에 뜬 엄마의 폰 위치추적 결과(바다 좌표)를 몰래 확인하게 됨",
            "description": "김형사의 모니터에 알림이 울리자 수리영은 마우스를 눌러 엄마 폰의 마지막 GPS 좌표가 바다임을 알아낸다."
          },
          {
            "beat_index": 3,
            "change_type": "action",
            "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": "PC방에서 지도로 정확한 위치를 검색해 인쇄한 뒤 가방에 챙김",
            "description": "PC방에 간 수리영은 메모해 둔 좌표를 검색해 실제 위치를 확인하고, 여러 장의 지도를 출력하여 백팩에 넣는다."
          }
        ]
      },
      {
        "scene_index": 24,
        "scene_heading": "S#24. 해안가 / 소나기",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "situation",
            "before_state": "일반적이거나 흐린 날씨 상태",
            "after_state": "천둥 번개가 치며 세찬 소나기가 내리는 악천후로 상황이 악화됨",
            "description": "천둥 번개와 먹구름이 몰려오며 세찬 비가 쏟아져 환경이 거칠게 변한다."
          },
          {
            "beat_index": 2,
            "change_type": "emotion",
            "before_state": "궂은 날씨에 자전거를 타고 이동하는 수리영",
            "after_state": "비를 맞으면서도 오직 엄마를 찾아야 한다는 강력한 일념에 사로잡힘",
            "description": "악천후 속에서도 수리영은 머릿속에 오로지 엄마를 찾아야겠다는 생각만을 품고 빗속을 달린다."
          }
        ]
      },
      {
        "scene_index": 25,
        "scene_heading": "S#25. 옥탑방 안 / 해질 무렵",
        "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": "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": "수리영의 빈 방에 남겨진 혜수는 휴대폰으로 수리영의 녹음메시지를 확인하며 조카가 임의로 떠났음을 알게 된다."
          }
        ]
      },
      {
        "scene_index": 28,
        "scene_heading": "S#28. 바다 + 갑판 / 해질 무렵",
        "beats": [
          {
            "beat_index": 1,
            "change_type": "information",
            "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": "수리영이 사진 속 인물이 41세 '강민숙'이라고 구체적인 신원을 알려주자, 인우의 얼굴이 하얗게 질린다."
          },
          {
            "beat_index": 3,
            "change_type": "situation",
            "before_state": "강민숙이라는 이름에 충격을 받은 인우를 보며 상황을 살피는 수리영.",
            "after_state": "조타실 내부에 가득한 붉은 원들을 발견하고, 이전의 기이한 흔적들과 연결되며 극심한 혼란에 빠지는 상태.",
            "description": "수리영은 인우 너머에 있는 조타실 안에서 빙글빙글 도는 붉은 원 표식들을 연이어 발견하고 인우의 정체에 두려움을 느낀다."
          },
          {
            "beat_index": 4,
            "change_type": "action",
            "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": "2045fb22-395e-4c01-b81c-384b6e813e37",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-07-18T20:32:06.851914+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}