{
  "status": "partial",
  "completed_count": 29,
  "applicable_count": 30,
  "failed_count": 1,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "flow_summary": "카메라는 다급하게 도망치는 남자의 하반신과 겁에 질린 표정을 흔들리며 따라가다가, 시야를 급격히 넓혀 공중에서 그를 덮치는 검은 인영의 궤적을 포착하고 함께 바닥으로 곤두박질칩니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Low angle, very close distance, moving rapidly near the ground level",
            "camera_motion": "handheld",
            "visual_focus": "The running Korean man's bare foot and the bleeding bite mark on his thigh",
            "transition_to_next": "Fast tilt up to the man's face"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Eye-level, close distance, moving backward keeping pace with the running man",
            "camera_motion": "track",
            "visual_focus": "The extremely terrified face of the Korean man",
            "transition_to_next": "Quick pan and pull back to reveal a sudden threat from the side"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Medium distance, slightly low angle capturing the side profile of both the man and the attacker",
            "camera_motion": "pan",
            "visual_focus": "A dark figure leaping in mid-air toward the Korean man with outstretched arms",
            "transition_to_next": "Fast tilt down following the attacking figure's trajectory to the ground"
          },
          {
            "stage_index": 4,
            "stage_label": "impact",
            "camera_position": "High angle, medium distance, looking down directly at the forest ground",
            "camera_motion": "static",
            "visual_focus": "The dark figure overlapping and pinning the Korean man to the ground",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus specifically on the exact moment the dark figure is suspended in mid-air right before impact."
          },
          {
            "shot_index": 5,
            "stage_index": 4,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "A static, lingering view showing the complete suppression of the fallen man by the dark figure."
          }
        ]
      },
      {
        "scene_index": 2,
        "flow_summary": "카메라는 뒷골목 전봇대 아래 밀착된 두 사람에게 다가가 잔혹한 흡혈의 순간을 클로즈업으로 비춘 뒤, 힘없이 쓰러지는 여자의 몸을 따라 시선을 바닥으로 내리며 참상을 드러냅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Medium distance at eye level, capturing the dim street lighting and the telephone pole.",
            "camera_motion": "dolly_in",
            "visual_focus": "The silhouette of the man and woman intertwined against the pole.",
            "transition_to_next": "Cut to a tight close-up angle."
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close-up, slightly angled to clearly see the interaction between the man's face and the woman's neck.",
            "camera_motion": "static",
            "visual_focus": "The man's bloody mouth biting into the woman's neck and his red eyes.",
            "transition_to_next": "Tilt down following the woman's collapsing body."
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Medium shot, looking down towards the ground from a slightly elevated standing height.",
            "camera_motion": "tilt",
            "visual_focus": "The lifeless body of the woman lying prone on the dark ground.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus specifically on the intimate and gruesome detail of the man's mouth touching the bloody neck."
          },
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Hold still on the fallen woman's body to emphasize the stillness and tragedy of the aftermath."
          }
        ]
      },
      {
        "scene_index": 3,
        "flow_summary": "카메라는 폴리스 라인 밖의 감식 현장을 잡고, 수거 중인 시신으로 컷 한 뒤, 형사들 사이에서 지휘하는 혜수를 비춥니다. 지역 뉴스 보도 화면 특유의 관찰적이고 건조한 핸드헬드 느낌을 유지하며 각 상황을 보여줍니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Eye level, behind the police line at a medium distance",
            "camera_motion": "handheld",
            "visual_focus": "Police officers crouching and investigating the ground",
            "transition_to_next": "cut to the body recovery area"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Slightly elevated, medium distance from the stretcher",
            "camera_motion": "handheld",
            "visual_focus": "Covered body placed on the stretcher",
            "transition_to_next": "cut to the detective group"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Eye level, facing the group of detectives",
            "camera_motion": "handheld",
            "visual_focus": "Hye-su directing the scene from the center of the group",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Despite the inherent stillness of the scene, a subtle handheld shake emphasizes the documentary-style news broadcast aesthetic."
          }
        ]
      },
      {
        "scene_index": 4,
        "flow_summary": "카메라가 인천 변두리 상공에서 낡은 건물들을 천천히 훑다가 움직임을 멈추고, 오래된 빌라의 옥탑방을 고요하고 서늘하게 내려다봅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "High altitude above the sprawling outskirts of the city, angled downward.",
            "camera_motion": "pan",
            "visual_focus": "The dense skyline of old, rundown buildings and the general landscape of the neighborhood.",
            "transition_to_next": "The camera gradually slows down its panning motion until it comes to a complete halt, centering on one specific building."
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "High angle directly overlooking a specific old villa, maintaining a wide enough field of view to show surrounding rooftops.",
            "camera_motion": "static",
            "visual_focus": "The isolated rooftop room on top of the old villa.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "A completely frozen, objective high-angle shot that emphasizes the stillness and tension contrasting with the reporter's urgent voice-over."
          }
        ]
      },
      {
        "scene_index": 5,
        "flow_summary": "부엌에서 TV를 보는 민숙을 비추던 카메라는 식탁에 앉은 수리영에게 이동하고, 이후 현관으로 컷 전환된 뒤 수리영의 시선을 따라 민숙의 손목 표식으로 서서히 다가갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "observation",
            "camera_position": "mid-distance from the kitchen counter, eye level",
            "camera_motion": "pan",
            "visual_focus": "Minsuk watching TV with a dark expression",
            "transition_to_next": "pans towards the opening bedroom door, then tracks to the dining table"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "close distance across the dining table, slightly high angle",
            "camera_motion": "static",
            "visual_focus": "Suriyoung drinking the dark herbal water",
            "transition_to_next": "cut to the entryway"
          },
          {
            "stage_index": 3,
            "stage_label": "interaction",
            "camera_position": "medium distance at the entryway, eye level",
            "camera_motion": "handheld",
            "visual_focus": "Suriyoung and Minsuk talking affectionately before Suriyoung leaves",
            "transition_to_next": "tilts down and moves closer to Minsuk's wrist following Suriyoung's gaze"
          },
          {
            "stage_index": 4,
            "stage_label": "reveal",
            "camera_position": "extreme close-up near Minsuk's wrist",
            "camera_motion": "dolly_in",
            "visual_focus": "the small circular mark on Minsuk's wrist",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Hold steady briefly to capture Minsuk's dark expression before Suriyoung interrupts."
          },
          {
            "shot_index": 8,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus on Suriyoung's grimacing face as the cup touches her lips."
          },
          {
            "shot_index": 13,
            "stage_index": 4,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Final resting point of the dolly movement, clearly showing the details of the circular mark."
          }
        ]
      },
      {
        "scene_index": 6,
        "flow_summary": "자전거 위에서 출발을 준비하며 바다 공기를 만끽하는 수리영의 측면을 고정된 카메라로 담은 후, 그녀가 달리기 시작하면 카메라가 나란히 트래킹하며 경쾌하게 따라갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Side angle, medium shot, stationary at the eye level of Suriyoung sitting on the bicycle",
            "camera_motion": "static",
            "visual_focus": "Suriyoung wearing earphones, pausing on her bicycle with her foot on the pedal and breathing in the ocean air",
            "transition_to_next": "Transitions into a smooth tracking movement as she steps on the pedal and begins to ride"
          },
          {
            "stage_index": 2,
            "stage_label": "track",
            "camera_position": "Moving parallel to the bicycle, maintaining a medium profile shot along the coastal road",
            "camera_motion": "track",
            "visual_focus": "Suriyoung's bright and energetic expression as she rides the bicycle",
            "transition_to_next": "Sudden stop or quick pan in response to the unexpected dog barking sound"
          },
          {
            "stage_index": 3,
            "stage_label": "reaction",
            "camera_position": "Slightly low angle, stable from the side",
            "camera_motion": "pan",
            "visual_focus": "Suriyoung's face slightly turning towards the source of the sudden dog bark off-screen",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 7,
        "flow_summary": "사나운 맹견의 역동적인 움직임을 거칠게 담아낸 뒤, 수리영의 기세에 눌려 얌전해진 개의 엉덩이에 주사를 놓는 손길로 시선이 이동합니다. 이후 잠시 숨을 고르는 수리영을 지나 쉴 틈 없이 개들의 털을 다듬는 분주한 작업 현장으로 자연스럽게 카메라가 따라갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing_threat",
            "camera_position": "Low angle, positioned intimately close to the cage bars",
            "camera_motion": "handheld",
            "visual_focus": "The aggressive Rottweiler baring its teeth and thrashing wildly",
            "transition_to_next": "Cut to a slightly wider, calmer side angle focusing on the rear of the dog."
          },
          {
            "stage_index": 2,
            "stage_label": "action_resolution",
            "camera_position": "Medium close-up at waist level, side angle to the dog and the doctor",
            "camera_motion": "dolly_in",
            "visual_focus": "The doctor's hand precisely administering the injection to the calmed dog's hip",
            "transition_to_next": "Cut to a tracking shot across the shelter, passing by the cages and moving towards the grooming station."
          },
          {
            "stage_index": 3,
            "stage_label": "busy_work",
            "camera_position": "Eye-level medium shot in the grooming area",
            "camera_motion": "track",
            "visual_focus": "Soo Riyeong actively moving and grooming a dog with scissors",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focuses sharply on the bared teeth and raised front paws to maximize the sense of immediate threat."
          },
          {
            "shot_index": 4,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Tight framing solely on the syringe entering the hip, emphasizing the precise medical action."
          },
          {
            "shot_index": 9,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Camera motion comes to a brief rest at the end of the tracking path, highlighting her hand resting on the fur with scissors."
          }
        ]
      },
      {
        "scene_index": 8,
        "flow_summary": "수리영이 자전거를 타고 번화가를 가로질러 마트로 진입하는 과정을 트래킹 샷으로 따라가며, 마트 내부 대화에서는 고정된 앵글로 인물들의 표정에 집중하고 밖으로 나와 불안하게 전화를 거는 그녀의 모습을 역동적으로 담아냅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Moving alongside Suryeong through the bustling neon-lit street, stopping at the supermarket entrance",
            "camera_motion": "track",
            "visual_focus": "Suryeong riding her bicycle and parking it",
            "transition_to_next": "Cut to the interior of the supermarket"
          },
          {
            "stage_index": 2,
            "stage_label": "approach",
            "camera_position": "Following closely behind Suryeong at eye level inside the supermarket",
            "camera_motion": "dolly_in",
            "visual_focus": "Suryeong navigating the aisles and searching for her mother",
            "transition_to_next": "Camera smoothly pans to frame the conversation area"
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "Over-the-shoulder perspective framing Suryeong and the female employee at eye level",
            "camera_motion": "static",
            "visual_focus": "Suryeong facing the female employee, talking and looking confused",
            "transition_to_next": "Cut to the exterior of the supermarket entrance"
          },
          {
            "stage_index": 4,
            "stage_label": "reaction",
            "camera_position": "Medium shot facing the automatic doors, maintaining distance as Suryeong steps out",
            "camera_motion": "dolly_out",
            "visual_focus": "Suryeong holding her smartphone to her ear with an anxious expression",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 9,
            "stage_index": 4,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Camera comes to a brief stop as Suryeong pauses to listen to the ringing phone"
          }
        ]
      },
      {
        "scene_index": 9,
        "flow_summary": "어두운 해안도로에 멈춰 선 수리영의 출발 직전 긴장된 자세를 정적으로 포착한 뒤, 거세게 페달을 밟고 질주하는 그녀의 측면을 카메라가 빠르게 트래킹하며 따라갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Medium wide shot from the side of the dark coastal road, streetlights casting long shadows on the pavement.",
            "camera_motion": "static",
            "visual_focus": "Suri-young's small silhouette on the bicycle, standing still against the vast and dark ocean background.",
            "transition_to_next": "cut to a close-up profile of her tense posture"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Low angle, close distance from the side, framing the bicycle pedal and Suri-young's leaning upper body.",
            "camera_motion": "static",
            "visual_focus": "Suri-young's tense posture, with her foot firmly placed on the pedal and her body leaning forward, ready to sprint.",
            "transition_to_next": "camera suddenly starts moving parallel to her as she pushes the pedal hard"
          },
          {
            "stage_index": 3,
            "stage_label": "tracking_action",
            "camera_position": "Moving parallel to the bicycle at medium distance, keeping Suri-young centered in the frame.",
            "camera_motion": "track",
            "visual_focus": "Suri-young pedaling furiously along the coastal road, her urgent expression visible as the dark background blurs past.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Maximize the stillness and tension in her body right before the sudden burst of speed."
          }
        ]
      },
      {
        "scene_index": 10,
        "flow_summary": "카메라는 옥탑방 바닥의 발자취를 따라가다 문틈의 손과 열리는 철문을 클로즈업으로 정밀하게 비춥니다. 이후 창문으로 시선을 옮겨 그림자를 통해 벌어지는 끔찍한 공격 상황을 암시하며 서서히 다가갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Low angle, tracking close to the rooftop floor",
            "camera_motion": "track",
            "visual_focus": "Stranger's shoes and dried leaves blowing in the wind",
            "transition_to_next": "Cut to a macro close-up of the door gap"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close-up level at the door crack and lock, tightly framing the interaction",
            "camera_motion": "static",
            "visual_focus": "Stranger's hand, flyer, and the gap of the slightly open door",
            "transition_to_next": "Pan smoothly to the illuminated window of the rooftop room"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Medium shot distance from the rooftop room's window, eye level",
            "camera_motion": "dolly_in",
            "visual_focus": "Silhouettes of the stranger attacking Minsuk on the window glass",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extremely tight focus on the fingers gripping the flyer against the metal door frame."
          },
          {
            "shot_index": 6,
            "stage_index": 2,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion"
            ],
            "deviation_note": "Focus shifts to the dark, eerie gap created as the metal door slightly opens."
          },
          {
            "shot_index": 7,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 11,
        "flow_summary": "골목길을 달리는 수리영을 따라 이동하던 카메라는 계단을 오르는 그녀의 동선과 불길한 표정 변화를 쫓아갑니다. 마침내 옥상에 도착해 멈춰 선 그녀의 어깨 너머로 열려 있는 철문을 정적으로 드러냅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Tracking alongside Suri-young at eye level in the dark alley",
            "camera_motion": "track",
            "visual_focus": "Suri-young riding the bicycle with urgency",
            "transition_to_next": "Cut to the villa courtyard as she enters the gate"
          },
          {
            "stage_index": 2,
            "stage_label": "follow_action",
            "camera_position": "Low angle in the courtyard, maintaining a medium distance",
            "camera_motion": "pan",
            "visual_focus": "Suri-young roughly parking the bicycle and rushing towards the stairs",
            "transition_to_next": "Dolly in and tilt up to follow her ascending the stairs"
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "Medium close-up on the stairs, positioned slightly above her",
            "camera_motion": "dolly_in",
            "visual_focus": "Suri-young's face frowning as she reacts to the sudden foul smell",
            "transition_to_next": "Cut to the rooftop landing, positioned closely behind Suri-young"
          },
          {
            "stage_index": 4,
            "stage_label": "reveal",
            "camera_position": "Over-the-shoulder shot from behind Suri-young standing at the top of the stairs",
            "camera_motion": "static",
            "visual_focus": "The half-open steel front door in the distance across the dark rooftop",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 4,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Camera remains completely still to emphasize the ominous silence and the tension of the half-open door from her point of view."
          }
        ]
      },
      {
        "scene_index": 12,
        "flow_summary": "카메라는 수리영의 등 뒤를 따라 어두운 집안을 탐색하다가, 방 바닥의 핏자국을 따라가며 커튼 뒤의 참혹한 진실을 마주합니다. 이후 카메라는 죽은 엄마를 발견하고 충격에 얼어붙은 수리영의 반응에서 시작해, 기이한 현상에 비명을 지르는 얼굴로 점점 더 가깝게 접근하며 공포를 극대화합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Eye level, tracking slightly behind Suri-young in the dim living room",
            "camera_motion": "track",
            "visual_focus": "Suri-young navigating the empty rooms and observing left-behind items",
            "transition_to_next": "Cut to a low angle point-of-view at the entrance of Suri-young's room"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Low angle near the floor at the doorway of Suri-young's room",
            "camera_motion": "tilt",
            "visual_focus": "Large puddles of blood and bloody footprints leading toward the closed curtain",
            "transition_to_next": "Cut to an over-the-shoulder shot as Suri-young pulls back the curtain"
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "Beside Suri-young, looking downward at Min-sook's slumped body",
            "camera_motion": "dolly_in",
            "visual_focus": "Min-sook's dead body, specifically focusing on the torn flesh and gruesome wounds on her shoulder",
            "transition_to_next": "Cut to a frontal medium close-up of Suri-young"
          },
          {
            "stage_index": 4,
            "stage_label": "reaction",
            "camera_position": "Medium close-up, facing Suri-young from a slightly low angle",
            "camera_motion": "dolly_out",
            "visual_focus": "Suri-young's terrified, frozen expression as she trembles and steps backward",
            "transition_to_next": "Quick cuts showing the supernatural elements, then cut to a tight frontal close-up"
          },
          {
            "stage_index": 5,
            "stage_label": "climax_reaction",
            "camera_position": "Extreme close-up, positioned directly in front of Suri-young's face",
            "camera_motion": "static",
            "visual_focus": "Suri-young's face distorting as she screams in absolute horror",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Camera motion pauses to emphasize the chilling stillness of the bloody footprints."
          },
          {
            "shot_index": 8,
            "stage_index": 4,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Static hold capturing the exact moment her body freezes in shock with wide eyes."
          },
          {
            "shot_index": 16,
            "stage_index": 5,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focuses intensely on her wide-open mouth to capture the peak of her emotional breakdown."
          }
        ]
      },
      {
        "scene_index": 13,
        "flow_summary": "패닉에 빠진 수리영과 혜수의 대화는 거친 핸드헬드와 상반된 앵글의 교차로 시각적 긴장감을 극대화합니다. 충격적인 진실이 밝혀진 직후, 카메라는 로우 앵글에서 다급히 계단을 뛰어오르는 형사들의 움직임을 역동적으로 쫓아갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "emotional_delivery",
            "camera_position": "Over the shoulder of Hye-soo, high angle looking down at Suri-young",
            "camera_motion": "handheld",
            "visual_focus": "Suri-young's devastated face as she looks up",
            "transition_to_next": "cut to reverse angle"
          },
          {
            "stage_index": 2,
            "stage_label": "shocked_reaction",
            "camera_position": "Over the shoulder of Suri-young, low angle looking up at Hye-soo",
            "camera_motion": "handheld",
            "visual_focus": "Hye-soo's widened eyes and frozen expression",
            "transition_to_next": "cut to wider action shot"
          },
          {
            "stage_index": 3,
            "stage_label": "rush_to_scene",
            "camera_position": "Low angle at the base of the staircase, slightly offset",
            "camera_motion": "tilt",
            "visual_focus": "Detective Kim and Hye-soo rushing up the stairs",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Tighten the frame slightly to emphasize the trauma in her eyes."
          },
          {
            "shot_index": 6,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Ensure the low angle accentuates Hye-soo's sudden sense of dread."
          },
          {
            "shot_index": 8,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Capture Detective Kim's dynamic posture as he follows Hye-soo's lead."
          }
        ]
      },
      {
        "scene_index": 14,
        "flow_summary": "수리영을 따라 현관에서 방 안으로 급격히 이동한 카메라는 그녀의 충격받은 얼굴과 혼란스러운 거실 상황을 거쳐, 혜수의 따뜻한 위로의 손길을 비춘 뒤 방구석의 미세하게 어긋난 소지품들을 조명하며 서늘하게 마무리됩니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Following closely behind Su-ri-young from the entrance into her bedroom",
            "camera_motion": "track",
            "visual_focus": "Su-ri-young's back and the perfectly clean room ahead of her",
            "transition_to_next": "Cut to the front of Su-ri-young to capture her immediate reaction"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close up in front of Su-ri-young inside the bedroom",
            "camera_motion": "static",
            "visual_focus": "Su-ri-young's pale and shocked facial expression",
            "transition_to_next": "Cut to the dining area as she desperately rushes out"
          },
          {
            "stage_index": 3,
            "stage_label": "reaction",
            "camera_position": "Medium distance in the dining area, encompassing Su-ri-young, Detective Kim, and Hye-soo",
            "camera_motion": "pan",
            "visual_focus": "The empty table, then panning between Detective Kim's annoyance and Hye-soo's glare",
            "transition_to_next": "Dolly in closer to Hye-soo and Su-ri-young after the detective leaves"
          },
          {
            "stage_index": 4,
            "stage_label": "intimate_moment",
            "camera_position": "Close proximity to Hye-soo and Su-ri-young in the living space",
            "camera_motion": "dolly_in",
            "visual_focus": "Hye-soo's comforting hand on Su-ri-young's shoulder and their emotional exchange",
            "transition_to_next": "Cut back to the bedroom floor for the final ominous clue"
          },
          {
            "stage_index": 5,
            "stage_label": "reveal",
            "camera_position": "Low angle near the floor of Su-ri-young's bedroom",
            "camera_motion": "static",
            "visual_focus": "The backpack and doll lying slightly displaced on the floor",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Tight close-up to capture the exact moment the color drains from her face in disbelief."
          },
          {
            "shot_index": 10,
            "stage_index": 4,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Focus sharply on Hye-soo's hand resting on the shoulder, letting the characters' faces blur slightly in the background."
          },
          {
            "shot_index": 12,
            "stage_index": 5,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 15,
        "flow_summary": "어두운 바다를 배경으로 수리영을 가까이 비추던 카메라가 혜수와의 대화 후 달려가는 수리영의 뒷모습을 쫓아가며, 마지막에는 누군가 두 사람을 몰래 지켜보는 듯한 먼 거리의 시점으로 전환된다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Medium close-up at eye level, capturing Suriyoung's profile against the dark sea background.",
            "camera_motion": "static",
            "visual_focus": "Suriyoung's blank face and the empty atmosphere around her.",
            "transition_to_next": "A subtle pan to include Hyesu entering the frame from the side."
          },
          {
            "stage_index": 2,
            "stage_label": "interaction",
            "camera_position": "Medium shot, positioned to capture the exchange between Hyesu and Suriyoung at the bus stop.",
            "camera_motion": "static",
            "visual_focus": "Hyesu's hand extending the drink and Suriyoung's reaction.",
            "transition_to_next": "Camera tilts up as Suriyoung abruptly stands, then cuts to follow her departure."
          },
          {
            "stage_index": 3,
            "stage_label": "follow",
            "camera_position": "Wide shot on the coastal road, positioned behind Suriyoung.",
            "camera_motion": "track",
            "visual_focus": "Suriyoung's back as she runs away into the distance.",
            "transition_to_next": "Cut to a hidden, distant vantage point observing the entire area."
          },
          {
            "stage_index": 4,
            "stage_label": "distant_observation",
            "camera_position": "Extreme wide shot, partially obscured by a structure in the foreground to create a voyeuristic angle.",
            "camera_motion": "handheld",
            "visual_focus": "Hyesu watching Suriyoung run away, capturing the overall scene as if being secretly watched.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion"
            ],
            "deviation_note": "Focus primarily on the detail of Hyesu's hand offering the drink to Suriyoung."
          },
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 16,
        "flow_summary": "카메라는 혜수의 입장을 따라가며 책상으로 접근한 뒤, 두 사람의 시선 높이에 맞춰 고정되어 긴박한 대화를 포착합니다. 이후 김형사의 시점에서 혜수를 올려다보는 로우 앵글로 전환하여 그녀의 불길한 예감을 강조합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Mid-distance near the office entrance, at eye level.",
            "camera_motion": "track",
            "visual_focus": "Hyesu walking into the office and approaching Detective Kim's desk.",
            "transition_to_next": "Cut to a closer over-the-shoulder angle at the desk."
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close distance, over the shoulder of seated Detective Kim.",
            "camera_motion": "static",
            "visual_focus": "Hyesu's hand thrusting the smartphone and her demanding posture.",
            "transition_to_next": "Cut to a low angle reverse shot from Detective Kim's perspective."
          },
          {
            "stage_index": 3,
            "stage_label": "reaction",
            "camera_position": "Low angle from the desk level, looking up at Hyesu.",
            "camera_motion": "static",
            "visual_focus": "Hyesu's stiff, anxious facial expression as she looks down.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Ensure the smartphone screen is clearly visible in the foreground."
          },
          {
            "shot_index": 5,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 17,
        "flow_summary": "카메라는 새벽빛 아래 옥탑방을 올려다보는 검은 고양이를 지면 근처 로우 앵글로 주시하다가, 고양이가 담장을 향해 뛰어오를 때 그 궤적을 따라 부드럽게 위로 패닝하며 동작을 쫓습니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Low angle near the ground, looking slightly up towards the wall and the lit rooftop room in the background",
            "camera_motion": "static",
            "visual_focus": "The black cat pausing to look at the lit rooftop room",
            "transition_to_next": "Swift tilt and pan upwards triggered by the cat's leaping motion"
          },
          {
            "stage_index": 2,
            "stage_label": "action",
            "camera_position": "Elevated angle following the trajectory of the leap, parallel to the top edge of the wall",
            "camera_motion": "pan",
            "visual_focus": "The black cat suspended in mid-air above the wall",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "A perfectly still moment capturing the contrast between the dark silhouette of the cat and the warm light from the rooftop room."
          }
        ]
      },
      {
        "scene_index": 18,
        "flow_summary": "수리영의 불안한 집안 탐색을 트래킹 샷으로 따라가다, 욕실과 거실에서 연달아 겪는 섬뜩한 환각의 순간들을 클로즈업과 빠른 컷 전환을 통해 극대화하여 보여줍니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing_tracking",
            "camera_position": "Medium distance, following behind Su-ri-young moving through the house",
            "camera_motion": "track",
            "visual_focus": "Su-ri-young checking her room and taking a phone call",
            "transition_to_next": "Cut to bathroom interior"
          },
          {
            "stage_index": 2,
            "stage_label": "hallucination_mirror",
            "camera_position": "Over the shoulder of Su-ri-young, looking into the bathroom mirror",
            "camera_motion": "dolly_in",
            "visual_focus": "Reflection of the bathroom wall where a red circle appears",
            "transition_to_next": "Whip pan following Su-ri-young as she bolts out, cutting to living room"
          },
          {
            "stage_index": 3,
            "stage_label": "approach_object",
            "camera_position": "Eye-level in the living room, pointing slightly down at the dining table",
            "camera_motion": "dolly_in",
            "visual_focus": "The framed photograph of Su-ri-young and her mother on the table",
            "transition_to_next": "Cut to extreme close-up of the photograph"
          },
          {
            "stage_index": 4,
            "stage_label": "hallucination_photo",
            "camera_position": "Macro distance, directly framing the photograph on the table",
            "camera_motion": "static",
            "visual_focus": "The face of the mother in the photograph melting",
            "transition_to_next": "Fast tilt up to Su-ri-young's face"
          },
          {
            "stage_index": 5,
            "stage_label": "panic_reaction",
            "camera_position": "Close-up on Su-ri-young's face in the living room",
            "camera_motion": "static",
            "visual_focus": "Su-ri-young screaming with her eyes closed",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 10,
            "stage_index": 2,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Camera slowly pushes in on the mirror's reflection to emphasize the sudden appearance of the red circle."
          },
          {
            "shot_index": 15,
            "stage_index": 4,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extremely tight framing specifically on the melting face to maximize the grotesque impact."
          },
          {
            "shot_index": 16,
            "stage_index": 5,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Captures the exact moment of her scream, framing her contorted facial expression vividly."
          }
        ]
      },
      {
        "scene_index": 19,
        "flow_summary": "마트 내부 진열대 사이를 걷는 수리영을 정면에서 따라가던 카메라는, 직원과의 대화 중 충격받은 그녀의 얼굴로 서서히 다가갑니다. 이후 마트 외부로 컷 전환되어 CCTV를 올려다보는 그녀의 시선을 따라 낮은 각도에서 위로 움직입니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "search_approach",
            "camera_position": "Eye-level, tracking backward in front of Suri-young as she walks between the supermarket aisles",
            "camera_motion": "track",
            "visual_focus": "Suri-young navigating the aisles to find the male employee",
            "transition_to_next": "Cut to a tighter framing as she initiates the conversation with the employee"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation_reaction",
            "camera_position": "Close-up, positioned slightly off-center at eye level",
            "camera_motion": "dolly_in",
            "visual_focus": "Suri-young's facial expressions and emotional shifts during the dialogue",
            "transition_to_next": "Hard cut to the supermarket exterior"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Low angle, positioned slightly in front of Suri-young outside the building",
            "camera_motion": "tilt",
            "visual_focus": "Suri-young looking upward at the CCTV camera",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus",
              "camera_motion"
            ],
            "deviation_note": "Camera motion momentarily slows to a stop as she stands still between the aisles"
          },
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up on her wide eyes, completely static to emphasize the shock of hearing it was a man"
          },
          {
            "shot_index": 7,
            "stage_index": 3,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Camera holds steady on her face before the tilt motion upward begins"
          }
        ]
      },
      {
        "scene_index": 20,
        "flow_summary": "카메라는 식별 불가능한 어두운 CCTV 모니터 화면을 밀착해서 비춘 후, 뒤에서 초조하게 지켜보는 수리영의 불안한 표정으로 컷 전환되며, 마지막으로 혜수의 제안에 수긍하며 고개를 끄덕이는 보안 직원의 모습을 담아내어 상황을 마무리합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Close-up position directly facing the monitor screen",
            "camera_motion": "static",
            "visual_focus": "The dark and unclear CCTV footage playing on the monitor",
            "transition_to_next": "Cut to a frontal view of the characters, specifically focusing on Su-ri-young standing behind"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Frontal medium close-up, slightly elevated to capture Su-ri-young standing behind the seated characters",
            "camera_motion": "dolly_in",
            "visual_focus": "Su-ri-young's anxious face, frowning and biting her lip",
            "transition_to_next": "Cut to an over-the-shoulder shot from Hye-su's perspective favoring the security guard"
          },
          {
            "stage_index": 3,
            "stage_label": "resolution",
            "camera_position": "Over-the-shoulder shot from Hye-su's perspective, eye-level with the seated security guard",
            "camera_motion": "static",
            "visual_focus": "The security guard nodding in agreement to the request",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 7,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 21,
        "flow_summary": "형사들이 소란스럽게 빠져나가고 홀로 남은 수리영에게 카메라가 천천히 다가가며, 책상 위 끔찍한 사진들에서 모니터 속 해상 GPS 좌표로 시선을 서서히 좁혀가는 긴장감 있는 연속 이동입니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing_and_isolation",
            "camera_position": "Wide shot from the center of the police station office",
            "camera_motion": "track",
            "visual_focus": "Detectives rushing out of the office, leaving Su-ri-young isolated at Hye-su's desk",
            "transition_to_next": "Cut to a closer high-angle shot over the desk"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "High angle close to the desk surface, then lowering to eye level",
            "camera_motion": "tilt",
            "visual_focus": "The gruesome murder photos scattered on the desk, then Su-ri-young's horrified face",
            "transition_to_next": "Pan right towards the adjacent desk as a notification chimes"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Over the shoulder of Su-ri-young moving towards the neighboring monitor",
            "camera_motion": "dolly_in",
            "visual_focus": "The glowing monitor screen showing the sea map and red coordinates",
            "transition_to_next": "Pull back as she frantically searches for a pen"
          },
          {
            "stage_index": 4,
            "stage_label": "withdraw",
            "camera_position": "Medium shot beside the desk",
            "camera_motion": "dolly_out",
            "visual_focus": "Su-ri-young writing down the coordinates and hurrying out the door",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 6,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up directly focusing on the mangled details in the scattered photos"
          },
          {
            "shot_index": 7,
            "stage_index": 2,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Captures her pale and shocked expression holding the picture immediately after the camera tilts up"
          },
          {
            "shot_index": 11,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Screen fills the frame entirely, emphasizing the red coordinates on the sea map"
          }
        ]
      },
      {
        "scene_index": 22,
        "flow_summary": "카메라는 경찰서 밖에서 자전거에 올라타 출발을 준비하는 수리영을 서서히 다가가며 주시하다가, 그녀가 페달을 밟고 달려나가자 옆에서 트래킹하며 따라갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "preparation",
            "camera_position": "Medium distance, slightly low angle positioned to the side of the bicycle",
            "camera_motion": "dolly_in",
            "visual_focus": "Suri-young sitting on the saddle with her foot ready on the pedal",
            "transition_to_next": "Camera starts to track horizontally as she pushes the pedal and moves forward"
          },
          {
            "stage_index": 2,
            "stage_label": "departure",
            "camera_position": "Parallel to the bicycle, maintaining a medium shot",
            "camera_motion": "track",
            "visual_focus": "Suri-young riding the bicycle away from the police station",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus heavily on the momentary stillness and tension in her posture right before taking off."
          }
        ]
      },
      {
        "scene_index": 23,
        "flow_summary": "카메라는 수리영의 어깨 너머에서 모니터 속 지도로 서서히 다가간 뒤, 프린터를 거쳐 지도를 가방에 챙겨 넣는 손의 움직임을 따라 아래로 부드럽게 틸트다운하며 이어집니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Over the shoulder of Suri-young, close to the glowing monitor screen",
            "camera_motion": "dolly_in",
            "visual_focus": "The maritime map with coordinates displayed on the monitor screen",
            "transition_to_next": "Cut to the printer on the desk"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Close-up near the printer output tray",
            "camera_motion": "static",
            "visual_focus": "Printed maps coming out of the printer",
            "transition_to_next": "Tilt down and follow Suri-young's hands as they grab and fold the papers"
          },
          {
            "stage_index": 3,
            "stage_label": "action_focus",
            "camera_position": "Low angle near the open backpack on the chair or floor",
            "camera_motion": "tilt",
            "visual_focus": "Suri-young's hands folding the printed maps and pushing them into the backpack",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 1,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up completely filling the frame with the maritime map on the monitor."
          },
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Tight focus specifically on the fingers pushing the folded map into the backpack's opening."
          }
        ]
      },
      {
        "scene_index": 24,
        "flow_summary": "번개 치는 먹구름 낀 하늘에서 해안 도로로 카메라가 틸트 다운한 뒤, 세찬 비를 뚫고 자전거를 타는 수리영의 곁을 나란히 트래킹하며 그녀의 결연한 얼굴로 다가갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Low angle, pointing upwards at the stormy sky",
            "camera_motion": "tilt",
            "visual_focus": "Dark stormy clouds and a flash of lightning",
            "transition_to_next": "Continuous rapid tilt down to the coastal road, catching the subject entering the frame."
          },
          {
            "stage_index": 2,
            "stage_label": "approach",
            "camera_position": "Medium distance, moving parallel to the coastal road at the subject's eye level",
            "camera_motion": "track",
            "visual_focus": "Suri-young riding her bicycle through the heavy rain, gripping the handlebars",
            "transition_to_next": "The camera pushes in closer to the subject while maintaining the tracking speed."
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "Close distance, tightly framing the subject's upper body and face",
            "camera_motion": "dolly_in",
            "visual_focus": "Suri-young's rain-soaked, determined face",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Adjust framing slightly to emphasize her hands tightly gripping the bicycle handlebars and her upper body leaning forward against the harsh rain."
          }
        ]
      },
      {
        "scene_index": 25,
        "flow_summary": "분석 실패: LLM returned empty response for step=scene_camera_flow, model=gemini-pro",
        "flow_stages": [],
        "shot_assignments": []
      },
      {
        "scene_index": 26,
        "flow_summary": "안개 속에서 다가오는 배를 향해 카메라가 천천히 전진하며 등장감을 주고, 수리영이 인우와 마주치는 시점부터는 구도가 전환되어 수리영의 간절한 감정 변화를 포착하기 위해 얼굴 가까이 조심스럽게 다가갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "reveal",
            "camera_position": "Eye-level from the edge of the empty pier, facing the vast, foggy sea",
            "camera_motion": "dolly_in",
            "visual_focus": "The silhouette and bow of the small boat slowly breaking through the thick fog",
            "transition_to_next": "cut"
          },
          {
            "stage_index": 2,
            "stage_label": "establishing_interaction",
            "camera_position": "Low angle from the pier, positioned slightly behind or beside Suriyoung, facing the docked boat",
            "camera_motion": "static",
            "visual_focus": "The spatial relationship and height difference between Suriyoung on the ground and Inwoo on the boat",
            "transition_to_next": "dolly_in"
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "Close distance, relatively eye-level with Suriyoung on the pier",
            "camera_motion": "dolly_in",
            "visual_focus": "Suriyoung's earnest facial expression, specifically her pleading eyes and clasped hands",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 1,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 8,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Ensure the height disparity is clearly visible to emphasize Suriyoung's vulnerable position asking for a favor."
          },
          {
            "shot_index": 10,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Keep the framing tight to intensify the emotional weight of her desperate request."
          }
        ]
      },
      {
        "scene_index": 27,
        "flow_summary": "카메라는 스마트폰을 든 혜수의 충격받은 얼굴로 천천히 다가가며 긴장감을 높인 후, 불안하게 시선을 돌리는 움직임을 따라가고, 마지막으로 서서히 뒤로 물러나 어스름이 깔린 텅 빈 옥탑방의 황량함을 조망합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Close-up level with Hye-soo's face",
            "camera_motion": "dolly_in",
            "visual_focus": "Hye-soo's wide eyes and the smartphone pressed against her ear",
            "transition_to_next": "Cut to a slightly wider angle to follow her sudden movement"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Medium shot at eye level, slightly to the side of Hye-soo",
            "camera_motion": "pan",
            "visual_focus": "Hye-soo's anxious face as she turns her head toward Detective Kim",
            "transition_to_next": "Cut to a wide perspective of the room after Detective Kim's dialogue"
          },
          {
            "stage_index": 3,
            "stage_label": "withdraw",
            "camera_position": "Wide shot from the corner of the living room, capturing the entrance door",
            "camera_motion": "dolly_out",
            "visual_focus": "The empty, messy living room bathed in dusky evening light and the rattling front door",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus tightly on the subtle tremor in her eyes to emphasize the shock from the voice message."
          },
          {
            "shot_index": 3,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "The pan motion should feel slightly urgent to match her abrupt turn toward Detective Kim."
          },
          {
            "shot_index": 6,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Highlight the contrast between the dark shadows of the messy room and the dim sunset light seeping in, maximizing the desolate mood."
          }
        ]
      },
      {
        "scene_index": 28,
        "flow_summary": "갑판 위 두 사람 사이의 팽팽한 대화와 작은 단서들을 가깝게 관찰하던 카메라는, 당황하여 조타실로 도망치는 인우를 거칠게 쫓아가 좁은 공간에서의 물리적 충돌을 포착합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Close proximity at eye level, focusing on In-woo standing on the deck",
            "camera_motion": "dolly_in",
            "visual_focus": "In-woo's face reacting to the map",
            "transition_to_next": "Cut to an insert shot revealing the photo"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Extremely close to the space between the two characters on the deck",
            "camera_motion": "static",
            "visual_focus": "The old photo and Soo-ri-young's pointing finger",
            "transition_to_next": "Cut to a dynamic following perspective as In-woo abruptly moves"
          },
          {
            "stage_index": 3,
            "stage_label": "chase",
            "camera_position": "Behind In-woo, moving fast across the deck towards the wheelhouse",
            "camera_motion": "handheld",
            "visual_focus": "In-woo rushing towards the wheelhouse door",
            "transition_to_next": "Follow In-woo directly into the narrow wheelhouse"
          },
          {
            "stage_index": 4,
            "stage_label": "struggle",
            "camera_position": "Inside the cramped wheelhouse, extremely close to the characters' bodies",
            "camera_motion": "handheld",
            "visual_focus": "The physical struggle and tangled arms of Soo-ri-young and In-woo",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 1,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Framing tightly crops In-woo's creased forehead to emphasize his discomfort."
          },
          {
            "shot_index": 8,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Sharp focus exactly on the word 'Geumwol' and the fingertip pointing at it."
          },
          {
            "shot_index": 15,
            "stage_index": 4,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus shifted strictly to the tightly gripped arms, emphasizing the physical tension."
          }
        ]
      },
      {
        "scene_index": 29,
        "flow_summary": "사진 속 단서를 가리키는 손끝에서 시작해 충격에 빠진 인우의 굳은 얼굴을 거쳐, 정신을 잃고 그의 어깨로 무너져 내리는 수리영의 궤적을 쫓는 긴장감 넘치는 카메라 플로우입니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Medium close-up near the characters' chest level, moving closer to their hands",
            "camera_motion": "dolly_in",
            "visual_focus": "The photograph and Suriyoung's finger pointing at the little girl",
            "transition_to_next": "Cut to a tight close-up of Inwoo's face"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Tight close-up directly in front of Inwoo's face at eye level",
            "camera_motion": "static",
            "visual_focus": "Inwoo's pale, stiffened facial expression as he processes the name",
            "transition_to_next": "Rack focus and slight pan to reveal the wheelhouse background behind Inwoo"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Over-the-shoulder from Inwoo's perspective, looking towards the wheelhouse walls and windows",
            "camera_motion": "pan",
            "visual_focus": "The illusion of spinning circular patterns and a distinct red circle on the window",
            "transition_to_next": "Cut to a two-shot capturing both characters as Suriyoung begins to collapse"
          },
          {
            "stage_index": 4,
            "stage_label": "close_observation",
            "camera_position": "Medium shot framing Inwoo and Suriyoung from a slight angle",
            "camera_motion": "tilt",
            "visual_focus": "Suriyoung's body swaying and eventually resting her head on Inwoo's shoulder",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 1,
            "flow_position": "end",
            "inherits": [
              "visual_focus",
              "camera_motion"
            ],
            "deviation_note": "Camera pushes into an extreme close-up specifically isolating the finger and the girl's face in the photo."
          },
          {
            "shot_index": 7,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 13,
            "stage_index": 4,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "The tilt motion stops, settling into a static hold on her head resting on his shoulder to emphasize the stillness."
          }
        ]
      },
      {
        "scene_index": 30,
        "flow_summary": "카메라는 황금빛 노을이 지는 바다에서 거대한 안개 벽으로 시선을 옮긴 후, 안개 속으로 진입하는 어선의 뱃머리를 따라 이동하다가 배가 완전히 삼켜진 텅 빈 바다를 비추며 1부를 신비롭게 마무리합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "High angle, wide shot over the sea",
            "camera_motion": "static",
            "visual_focus": "Golden sunset reflecting on the water surface",
            "transition_to_next": "Cut to a lower, wider perspective focusing on the horizon"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Low wide shot just above the water level",
            "camera_motion": "dolly_in",
            "visual_focus": "The massive, towering gray fog wall dominating the sea",
            "transition_to_next": "Cut to a closer tracking shot alongside the approaching boat"
          },
          {
            "stage_index": 3,
            "stage_label": "approach",
            "camera_position": "Medium close-up, moving alongside the boat's bow",
            "camera_motion": "track",
            "visual_focus": "The boat's bow making contact with and piercing the thick fog",
            "transition_to_next": "Camera halts its movement, allowing the boat to pass by and enter the fog"
          },
          {
            "stage_index": 4,
            "stage_label": "withdraw",
            "camera_position": "Static medium shot from behind the boat",
            "camera_motion": "static",
            "visual_focus": "The stern of the boat disappearing into the fog, leaving only an empty, fog-filled sea",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 3,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "0ed44b11-974c-45cf-959d-408c01615e67",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-04-27T10:12:32.518602+00:00"
}