{
  "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": "emotion",
            "before_state": "민숙이 어두운 표정으로 심각하게 TV 뉴스를 봄",
            "after_state": "딸 수리영이 나오자 후다닥 TV를 끄며 다정한 말투로 전환함",
            "description": "민숙이 딸에게 사건의 심각성을 숨기고 안심시키기 위해 태도를 급변한다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "수리영이 심드렁하게 사건에 대해 물어봄",
            "after_state": "민숙이 신경 끄라며 일축하고 약초 달인 물을 내어줌",
            "description": "민숙은 딸의 질문을 차단하며 일상적인 보살핌으로 화제를 돌린다."
          },
          {
            "beat_index": 3,
            "change_type": "decision",
            "before_state": "수리영이 알바 후 밖에서 저녁을 먹자고 제안함",
            "after_state": "민숙이 미소 지으며 제안을 수락함",
            "description": "모녀가 모처럼 저녁에 밖에서 만나기로 약속한다."
          },
          {
            "beat_index": 4,
            "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": "information",
            "before_state": "늦을 것 같아 수리영이 민숙에게 연락을 취함",
            "after_state": "전화를 받지 않자 단순히 바빠서 못 받는다고 생각함",
            "description": "수리영은 민숙의 부재중 상태를 인지하지만 일상적인 바쁨으로 치부한다."
          },
          {
            "beat_index": 3,
            "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": "information",
            "before_state": "단순히 길이 엇갈렸다고 생각함",
            "after_state": "남자 직원으로부터 민숙이 밖에서 누군가와 대화했다는 목격담을 들음",
            "description": "수리영은 민숙의 퇴근 정황에 수상한 점이 있음을 추가로 인지한다."
          },
          {
            "beat_index": 3,
            "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": "정체를 알 수 없는 남자가 옥탑방 문을 열고 몰래 들어간다."
          },
          {
            "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": "reaction",
            "before_state": "수리영이 급히 자전거를 세우고 옥탑방 계단을 오름",
            "after_state": "갑자기 훅 느껴지는 역겨운 냄새에 멈칫하며 의아해함",
            "description": "귀가하던 수리영이 평소와 다른 불길한 냄새를 감지한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "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": "situation",
            "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": "situation",
            "before_state": "끔찍한 살인 사건 현장이 있을 거라 예상하고 집안을 수색하는 상태",
            "after_state": "시신이나 혈흔 등 어떠한 증거도 찾지 못해 허탈해하는 상태",
            "description": "집안을 둘러본 혜수와 김형사는 아무런 흔적도 발견하지 못하고 밖으로 나오며 의아해한다."
          },
          {
            "beat_index": 2,
            "change_type": "information",
            "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": "situation",
            "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": "action",
            "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": "situation",
            "before_state": "외출을 위해 거울을 보며 세수를 하고 마음을 달래려던 일상적 상태",
            "after_state": "욕실 벽의 붉은 원과 거실 사진 속 뭉개지는 엄마 얼굴 등 연이은 기괴한 환각을 목격하고 충격에 빠진 상태",
            "description": "수리영이 욕실에서 얼굴을 씻다 벽에 붉은 원이 나타나고, 물을 마시러 나온 거실에서는 엄마의 사진 속 얼굴이 흘러내리는 환각을 연이어 보며 경악한다."
          },
          {
            "beat_index": 5,
            "change_type": "action",
            "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": "action",
            "before_state": "현장의 모니터로만 영상을 확인하며 막막해진 상태",
            "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": "emotion",
            "before_state": "혜수의 자리에서 얌전히 기다리던 상태",
            "after_state": "책상 위 끔찍한 살인사건 사진들이 자신의 환각 속 엄마의 모습과 흡사함을 발견하고 경악하는 상태",
            "description": "수리영은 혜수의 책상에 널려 있는 참혹한 살인사건 시신 확대 사진을 보고, 자신이 집에서 보았던 엄마 시신의 끔찍한 환각과 겹쳐 보여 크게 놀란다."
          },
          {
            "beat_index": 3,
            "change_type": "information",
            "before_state": "엄마의 현재 위치에 대한 단서가 전혀 없는 상태",
            "after_state": "모니터를 통해 엄마의 핸드폰 최종 위치가 바다의 특정 GPS 좌표임을 인지한 상태",
            "description": "김형사의 컴퓨터에서 알림이 울리자 수리영이 몰래 확인하여, 엄마의 폰 위치 추적 결과가 바다의 특정 좌표임을 알게 된다."
          },
          {
            "beat_index": 4,
            "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": "좌표의 정확한 위치를 파악하고 지도를 출력하여 가방에 챙긴 상태",
            "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": "reaction",
            "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": "엉망이 된 집안을 훑어보며 충격에 주저앉았던 수리영은 피 묻은 사진을 꼭 쥔 채, 마치 마력에 이끌리듯 백팩을 메고 다시 밖으로 나선다."
          }
        ]
      },
      {
        "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": "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": "혜수는 수리영이 남긴 음성 메시지를 확인한 직후, 수리영이 엄마 폰의 GPS 좌표를 보고 바다로 향했을 것이라는 퍼즐을 맞춘다."
          },
          {
            "beat_index": 2,
            "change_type": "reaction",
            "before_state": "수리영이 어떤 구체적인 행동을 취했을 거라 생각하지 못했던 상태",
            "after_state": "망망대해에서 어린아이가 할 수 있는 건 없다며 상황을 대수롭지 않게 여기는 상태",
            "description": "김형사는 혜수의 심각한 추측을 듣고도, 어린애가 바다에서 뭘 하겠냐며 곧 돌아올 것이라고 혀를 끌끌 차며 반응한다."
          },
          {
            "beat_index": 3,
            "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": "수리영이 지도를 건네며 바다 한가운데를 목적지로 지정하여 인우가 의아함을 느끼는 상태",
            "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": 29,
        "scene_heading": "S#29. 조타실 / 해질 무렵",
        "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": "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": 68
  },
  "step_id": "beat_extract",
  "run_id": "a05372db-1176-44c3-b59e-79c6230976de",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-06-08T21:41:35.861232+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}