{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "At eye height, about 2 feet in front of the fleeing Korean man, backing through dense undergrowth on a narrow forest path at dusk",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera keeps retreating with his movement, then drops and drifts down along his body as his stride breaks through the brush.",
            "visual_focus": "the terrified Korean man's sweaty face and panicked eyes"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low and close beside the man's moving legs, around knee-to-thigh height, within 1 foot of his body as branches pass near the lens",
            "stage_index": 2,
            "stage_label": "injury_detail",
            "transition_to_next": "The camera rises and swings back upward toward his shoulders, widening slightly as an approaching disturbance enters from behind him.",
            "visual_focus": "his unstable footing, the missing shoe, and the bleeding bite wound on his thigh"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At shoulder height, slightly off the man's front-left side, about 3 feet away, angled across his upper body into the dark forest behind him",
            "stage_index": 3,
            "stage_label": "impact_reveal",
            "transition_to_next": "",
            "visual_focus": "the black silhouette lunging into the man and crushing down onto his shoulders"
          }
        ],
        "flow_summary": "카메라는 숲속을 도망치는 남자의 얼굴 앞에서 함께 후퇴하며 공포를 붙잡고, 몸 아래의 상처와 비틀거림을 훑은 뒤 다시 어깨 높이로 올라와 습격 순간을 맞는다. 전체 이동은 거친 핸드헬드 추적으로 이어지며, 마지막에 검은 인영의 돌진으로 프레임이 무너진다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Use a tighter close-up than the stage default, keeping the background brush compressed and unstable behind his face.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Widen just enough to catch the black silhouette's full mid-impact pressure on the man's shoulders as his upper body snaps backward.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the mouth of the dim back alley, eye level, several meters from an old utility pole, facing straight toward the couple under the streetlight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera leaves the frontal hold and begins a slow dolly-in along the alley axis toward the utility pole, narrowing the distance to the couple.",
            "visual_focus": "the Korean man and the Korean woman pressed together beside the utility pole in the weak streetlight"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Midway down the alley, slightly off the couple's front-right side, chest height, closing from a medium distance to an intimate distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "Continuing the same forward move, the camera arcs subtly toward the woman's neck line and rises into a tighter side angle as the man's mouth reaches her neck.",
            "visual_focus": "the Korean man's face moving toward the Korean woman's neck as their breathing intensifies"
          },
          {
            "camera_motion": "static",
            "camera_position": "Very close beside the couple at neck height, tight side close-up distance, lens nearly parallel to the woman's shoulder line",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the Korean man's teeth locked into the Korean woman's neck"
          }
        ],
        "flow_summary": "카메라는 어두운 골목 입구의 정면 거리감에서 시작해 전봇대 앞 두 사람에게 천천히 다가가고, 몸의 밀착을 따라 측면으로 파고든 뒤 목덜미 클로즈업에서 멈춘다. 정면의 불길한 관찰에서 시작해 점차 신체적 위협의 세부로 압축되는 이동이다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Hold the composition frontally and wide enough to include the dim streetlight and the old utility pole as spatial anchors.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten the frame to the bite itself, letting the surrounding alley fall mostly out of focus while the teeth and neck dominate the image.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide news-camera position outside the police line at standing eye level, about 12 meters from the investigators and the covered body",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward track along the edge of the police line, using the line as a visual guide into the crowd of officers.",
            "visual_focus": "the cordoned crime scene, the covered body on the ground, and groups of police working around it"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from outside the police line into a tighter mid-distance angle at chest height, threading visually through the clustered officers about 5 meters from Hyesu",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The track narrows and settles into a compressed line of sight between officers, pushing the viewer's attention toward Hyesu at the center of command.",
            "visual_focus": "the dense group of police surrounding the investigation area, with Hyesu emerging as the central figure"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight upper-body distance directly in front of Hyesu at slightly below eye level, about 1.5 meters away, with police and the police line compressed behind her",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu standing still among the officers, staring sharply forward"
          }
        ],
        "flow_summary": "카메라는 폴리스 라인 밖의 사건 현장을 뉴스 화면처럼 넓게 잡은 뒤, 경찰 무리 사이로 천천히 접근하며 지휘 중심에 선 혜수에게 시선을 모은다. 마지막에는 주변의 혼란을 배경으로 밀어내고 혜수의 날카로운 정지된 상체 클로즈업에 도달한다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Frame as a firm upper-body close-up, letting the surrounding officers and police line fall slightly out of focus behind Hyesu while her fixed gaze remains dominant.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "High aerial position above an old multi-family villa cluster in the outskirts, looking steeply downward from a wide distance in clear daylight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera descends slowly and glides forward toward one rooftop, narrowing the field of view from the neighborhood to the rooftop room.",
            "visual_focus": "the surrounding old residential rooftops and the isolated rooftop room within them"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Elevated overhead position directly above the old multi-family villa rooftop, medium-high distance, angled downward toward the rooftop room",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "the rooftop room sitting on top of the worn villa roof"
          }
        ],
        "flow_summary": "카메라는 인천 변두리의 낡은 주거지 상공에서 시작해 특정 빌라 옥상으로 천천히 내려오며 옥탑방을 고립된 대상으로 좁혀간다. 뉴스 음성의 불안감을 받쳐주기 위해 넓은 부감에서 옥탑방 전경으로 자연스럽게 수렴하는 흐름이다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Hold the overhead angle slightly longer to clearly read the rooftop room as the primary subject of the establishing shot.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the small living-kitchen area, waist height, about 8 feet from the sink and television side, angled three-quarters across the room toward the mother near the counter",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to track inward along the kitchen line, leaving the window and television area to follow the domestic action toward the table.",
            "visual_focus": "the mother, the sink, the boiling pot, and the tense television-watching atmosphere"
          },
          {
            "camera_motion": "track",
            "camera_position": "Table height beside the dining table, 3 to 4 feet from the seated daughter and the mother standing nearby, looking slightly upward across the tabletop",
            "stage_index": 2,
            "stage_label": "domestic_exchange",
            "transition_to_next": "A logical cut jumps from the table area to the entrance area as the daughter prepares to leave.",
            "visual_focus": "the daughter drinking the herbal water and the mother serving her"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Just inside the entrance area at shoulder height, very close to the mother and daughter, about 2 feet away, framed in a tight two-shot from the daughter's side",
            "stage_index": 3,
            "stage_label": "intimate_pause",
            "transition_to_next": "The camera tilts and pushes down from the daughter's face near the mother's shoulder toward the mother's wrist, narrowing into a detail view.",
            "visual_focus": "the daughter leaning into the mother with a soft smile while the mother responds quietly"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Forearm height near the entrance area, macro-close distance within 8 inches of the mother's wrist, angled so the skin surface fills most of the frame",
            "stage_index": 4,
            "stage_label": "mark_reveal",
            "transition_to_next": "",
            "visual_focus": "the dark circular mark on the mother's wrist"
          }
        ],
        "flow_summary": "카메라는 좁은 옥탑방의 부엌과 식탁을 지나 현관 쪽으로 시선을 옮기고, 출근 전 모녀의 짧은 친밀한 순간에 가까이 붙는다. 그 다정한 거리감에서 곧바로 민숙의 손목으로 내려가 표식을 선명하게 드러내며 불길한 디테일로 수렴한다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame at the most affectionate beat, keeping the daughter's closed eyes and smile dominant while the mother's shoulder remains the anchor point of the composition.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "Shift to an even tighter macro framing than the stage default so the circular mark becomes the only clear narrative detail against softly falling background focus.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On a tracking vehicle moving along the coastal road, slightly ahead of and to the side of Suriyoung, at chest height, about 6 meters away",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera maintains speed with the bicycle and gradually narrows the lateral distance, letting the sea remain in the background while moving closer to her riding line.",
            "visual_focus": "Suriyoung riding her bicycle on the coastal road with the sea visible beyond her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In front of Suriyoung's bicycle at handlebar-to-chest height, moving backward at the same speed, closing from about 3 meters to 1.5 meters",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera eases its forward pull and holds the close frontal tracking angle as the distant dog bark begins to interrupt the carefree motion.",
            "visual_focus": "Suriyoung's upper body, her hands gripping the handlebars, her faint smile, and her hair blown backward by the wind"
          },
          {
            "camera_motion": "track",
            "camera_position": "Still ahead of Suriyoung at upper-body height, slightly offset toward the road side, about 2 meters away",
            "stage_index": 3,
            "stage_label": "reaction_transition",
            "transition_to_next": "",
            "visual_focus": "Suriyoung continuing forward as the offscreen dog bark enters the soundscape"
          }
        ],
        "flow_summary": "카메라는 해안가 도로를 달리는 수리영과 나란히 이동하다가 점차 앞으로 좁혀 들어가, 자전거의 속도와 바람을 유지한 채 상체 가까이에서 그녀의 밝은 표정을 포착한다. 마지막에는 같은 추적 흐름 안에서 개 짖는 소리가 끼어들며 다음 반응의 여지를 남긴다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default to emphasize the handlebars in the foreground and Suriyoung's faint smile, while keeping a strip of sea visible behind her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just outside the rottweiler kennel, at Suriyeong's eye level, about 5 feet from her face and angled through the kennel bars toward her eyeline",
            "stage_index": 1,
            "stage_label": "confrontation",
            "transition_to_next": "The camera completes the push-in on Suriyeong's stare, then slides laterally along the kennel front as the dog's aggression drops out of frame.",
            "visual_focus": "Suriyeong's cold, motionless face locked onto the rottweiler's eyes"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low beside the kennel door, about 3 feet above the floor and close to the rottweiler's rear flank, keeping the doctor just at the edge of frame",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The camera rises and tracks backward into the kennel aisle, letting Suriyeong leave the confrontation space and move down the corridor.",
            "visual_focus": "The subdued rottweiler on the floor and the doctor's injection action"
          },
          {
            "camera_motion": "track",
            "camera_position": "In the narrow kennel aisle, shoulder height, moving parallel to Suriyeong at a medium distance as cages pass in the foreground",
            "stage_index": 3,
            "stage_label": "transition",
            "transition_to_next": "The camera continues following Suriyeong out of the kennel aisle and settles beside the grooming area without a spatial jump.",
            "visual_focus": "Suriyeong moving past the caged dogs, checking her phone, then responding to the helper's call"
          },
          {
            "camera_motion": "static",
            "camera_position": "Beside the grooming station at chest height, about 4 feet from Suriyeong, slightly front-side so the small dog and scissors share the same plane",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong holding a small dog while pausing with scissors in hand"
          }
        ],
        "flow_summary": "카메라는 로트와일러 철장 앞에서 수리영의 시선으로 천천히 밀고 들어간 뒤, 개가 순해지는 순간을 지나 복도 이동을 따라간다. 이후 동선이 자연스럽게 미용 공간으로 이어지며, 수리영이 소형견을 안고 작업을 멈춘 찰나에 정착한다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Tighten from the stage's push-in to a full facial close-up, excluding most kennel detail and holding the rottweiler only through her fixed eyeline.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the otherwise settled grooming angle as a frozen beat, keeping the scissors clearly visible near the small dog without adding extra camera movement.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On the busy harbor-adjacent street at dusk, low at bicycle-wheel height and slightly behind Suriyeong's right side, moving with her through pedestrians and street stalls toward the supermarket entrance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera keeps her forward screen direction and rises slightly as she reaches the supermarket, following her line of travel toward the entrance.",
            "visual_focus": "Suriyeong navigating the neon-lit street toward the supermarket"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just inside the supermarket entrance at shoulder height, several meters behind and to the side of Suriyeong, moving down the aisle between display shelves",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera slows near the display shelf and slides into a stable face-to-face angle as Suriyeong stops before the female employee.",
            "visual_focus": "Suriyeong searching the aisles and finding the female employee near the display shelves"
          },
          {
            "camera_motion": "static",
            "camera_position": "In front of the display shelf at eye level, medium distance, positioned slightly over the female employee's shoulder toward Suriyeong",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "After holding Suriyeong's confused reaction, the camera pans along the same shelf line toward the male employee entering with a box.",
            "visual_focus": "Suriyeong's widened eyes as she questions the female employee"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the same supermarket display aisle at chest height, pivoting from Suriyeong and the female employee toward the male employee near the shelf",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "Cut on Suriyeong's decision to leave, jumping from the interior aisle to the sidewalk outside while preserving her movement away from the supermarket.",
            "visual_focus": "The male employee adding uncertain information, then Suriyeong absorbing it"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Outside the supermarket on the dusk sidewalk, at eye level and very close in front-left of Suriyeong, backing away less than one meter from her face as she walks",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's tense face and the phone screen she is checking"
          }
        ],
        "flow_summary": "카메라는 해질 무렵 번화가에서 수리영의 이동 방향을 따라 마트 안으로 진입한 뒤, 진열대 앞 대화 지점에서 멈춰 그녀의 혼란을 관찰한다. 이후 남자 직원 쪽으로 같은 동선 안에서 시선을 돌리고, 내부에서 외부로 컷 전환해 휴대전화가 연결되지 않는 수리영의 굳은 얼굴에 밀착한다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Holds the moment as a still medium reaction shot, favoring Suriyeong's widened eyes while keeping the female employee as the opposing presence.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          },
          {
            "deviation_note": "Tightens into a facial close-up and catches her step at its suspended peak while the phone remains the immediate cause of her fixed stare.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low and centered on the empty coastal road, about 1 meter above the asphalt and facing along the lane with the dark sea behind the vanishing point",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyeong enters the distant center of frame, the camera begins to move backward on the road axis, converting the static frontal view into a tracking retreat.",
            "visual_focus": "the empty coastal road against the dark night sea"
          },
          {
            "camera_motion": "track",
            "camera_position": "Directly ahead of Suriyeong on the road centerline, moving backward at bicycle speed, lens at chest-to-handlebar height and roughly 4 to 5 meters from her",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The tracking camera subtly reduces distance while maintaining the same frontal axis, tightening from the road environment toward her exertion.",
            "visual_focus": "Suriyeong riding fast toward the camera with the night sea and road receding behind her"
          },
          {
            "camera_motion": "track",
            "camera_position": "Very close in front of Suriyeong, still centered on the road axis, about 2 meters away and slightly below eye level to include her hands and the force of the pedaling",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong leaning forward over the bicycle, gripping the handlebar and driving one pedal downward"
          }
        ],
        "flow_summary": "카메라는 텅 빈 밤 해안도로를 정면으로 바라보다가, 수리영이 다가오면 같은 축을 유지한 채 뒤로 물러나며 그녀의 속도를 받아낸다. 마지막에는 자전거 바로 앞에서 정면 추적을 이어가며 급히 집으로 향하는 압박감과 페달을 밟는 힘을 집중해서 포착한다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frontal framing at the instant one pedal is forcefully pressed downward; keep the frame slightly wider than a pure face close-up so the handlebar grip and forward-leaning posture remain visible.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide exterior rooftop position at waist height, several meters from the rooftop platform and water tank, facing across the roof toward the iron door area",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera drops into a low tracking path, following the wind-blown dried leaves across the rooftop toward the approaching feet.",
            "visual_focus": "wind-blown dried leaves on the rooftop platform and the empty night rooftop space"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low ankle-height position moving across the rooftop floor, about one meter ahead of the stranger's shoes, angled slightly upward toward the iron door",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues the same low path until it reaches the iron door, then rises into a tighter close observation of the door seam and hand action.",
            "visual_focus": "dried leaf brushing the stranger's shoe and the long shadow stretching toward the rooftop room entrance"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight exterior position directly in front of the iron door at chest height, within arm's length of the door seam",
            "stage_index": 3,
            "stage_label": "entry_detail",
            "transition_to_next": "After the lock releases and the door opens, the camera holds outside, then tracks laterally along the exterior wall toward the nearby window rather than entering the room.",
            "visual_focus": "advertising flyer forced into the door gap, the lock releasing, and the narrow opening into the dark interior"
          },
          {
            "camera_motion": "track",
            "camera_position": "Exterior rooftop position beside the window, shoulder height, very close to the glass surface and angled obliquely to catch the interior reflection",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "black reflected silhouette of a man lunging over a fallen woman inside the room"
          }
        ],
        "flow_summary": "카메라는 옥상 위 말린 잎의 움직임에서 시작해 낮은 높이로 낯선 남자의 발과 철문까지 따라가고, 침입 순간에는 실내로 들어가지 않은 채 외벽을 따라 창문 쪽으로 이동한다. 마지막에는 창문 유리에 비친 실루엣만으로 실내의 폭력적인 상황을 드러낸다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on the reflective window surface so the attack is seen only as a distorted black silhouette, with the actual room kept mostly obscured.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the base of the steep exterior stairs, waist height, three to four steps behind Suri-young, angled upward along the narrow stair line",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera climbs after her, closing the distance and sliding slightly to the inner side of the stairwell as her pace breaks and she stops halfway up.",
            "visual_focus": "Suri-young rushing up the stairs toward the rooftop room"
          },
          {
            "camera_motion": "static",
            "camera_position": "Halfway up the steep exterior stairs, eye level, close three-quarter frontal position about two feet from Suri-young, slightly below her face because of the stair incline",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera releases from the close hold, pivots behind her shoulder, and tracks up the remaining stairs with her toward the rooftop landing.",
            "visual_focus": "Suri-young's distorted expression as she grips her nose against the sudden foul smell"
          },
          {
            "camera_motion": "static",
            "camera_position": "On the rooftop landing, shoulder height, eight to ten feet behind Suri-young, centered on her back and looking past her toward the rooftop room entrance",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "Suri-young frozen in front of the half-open metal front door with the dark interior partly visible"
          }
        ],
        "flow_summary": "카메라는 마당에서 이어진 가파른 계단을 수리영 뒤로 따라 오르다가, 악취를 맡고 멈춰 선 순간 얼굴 가까이 붙어 정지한다. 이후 다시 그녀의 뒤로 돌아 옥상까지 올라가며, 반쯤 열린 현관 철문 앞에서 멈춘 뒷모습과 문 안쪽을 함께 드러낸다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing to emphasize the hand covering her nose and the tension in her face while keeping the stair incline visible at the edge of frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold slightly wider than the stage default so the half-open metal door and the visible slice of interior space register clearly beyond Suri-young.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the dim living room entrance, eye level, two to three meters behind Suriyeong, looking past her into the room and toward the interior doors",
            "stage_index": 1,
            "stage_label": "establishing_search",
            "transition_to_next": "The camera tracks with Suriyeong from the living room threshold toward the bedroom area, staying slightly behind her shoulder as she checks the quiet apartment.",
            "visual_focus": "Suriyeong entering the silent living room, the cold pot, the lit television, and the dim domestic space"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the narrow passage between the main room and Suriyeong's room, shoulder height, close behind and beside Suriyeong as she opens doors",
            "stage_index": 2,
            "stage_label": "anxious_approach",
            "transition_to_next": "As Suriyeong opens her own door, the camera slips past the door edge and lowers its attention to the floor, following the blood trail into the room.",
            "visual_focus": "Suriyeong's searching hands, the empty room beyond the door, the overturned teacup, and the growing absence of Min-suk"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Just inside Suriyeong's room, waist to chest height, moving from the doorway across the blood-marked floor toward the curtain, ending about one meter from the revealed body",
            "stage_index": 3,
            "stage_label": "curtain_reveal",
            "transition_to_next": "After the curtain is pulled aside, the camera holds the shock for a beat, then edges closer and lowers toward Min-suk's seated body and hands.",
            "visual_focus": "The bloodstains, bloody footprints leading to the curtain, and Min-suk revealed behind it"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low beside Min-suk's seated body, near hand level, close enough to isolate details in her hand and wrist while keeping the bed area in the same room orientation",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "From the crumpled photo and the changing mark on the wrist, the camera tilts and glides upward across the bed line toward the wall above it, following Suriyeong's horrified gaze.",
            "visual_focus": "Min-suk's hand gripping the old photograph, the wrist mark, and the immediate evidence around the body"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the side of the bed, chest height, angled slightly upward toward the wall above the bed, close enough for the wall mark to dominate the frame",
            "stage_index": 5,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "The strange red circle appearing on the wall above the bed"
          }
        ],
        "flow_summary": "카메라는 수리영을 따라 거실에서 방 안쪽으로 연속적으로 스며들고, 핏자국을 따라 커튼 뒤 시신까지 접근한다. 이후 시신 곁의 손과 사진으로 낮게 파고든 뒤, 같은 방의 침대 위 벽으로 시선을 들어 붉은 원의 초자연적 표식을 드러낸다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Curtain is already pulled aside; hold slightly longer than the surrounding handheld movement so the seated, motionless body registers as the first full reveal.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten the push-in to an extreme close framing of the crumpled photograph in Min-suk's hand, minimizing surrounding body detail.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 16,
            "stage_index": 4
          },
          {
            "deviation_note": "Let the movement fully settle into a locked-off frame after the upward transition, making the completed red circle feel unnaturally fixed on the wall.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 19,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the top of the steep exterior stairway, eye-level with Suriyeong, about 2 meters in front of her on the landing, lens facing back toward the rooftop room entrance",
            "stage_index": 1,
            "stage_label": "panic_establishing",
            "transition_to_next": "As Suriyeong bolts toward the stairs, the camera releases from the locked frontal position and begins backing down the stair axis ahead of her.",
            "visual_focus": "Suriyeong screaming at the rooftop stair landing"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the narrow stair run, chest-height, moving backward down the stairs a few steps ahead of Suriyeong while keeping the stairwell depth behind her visible",
            "stage_index": 2,
            "stage_label": "descent_follow",
            "transition_to_next": "The camera reaches the bottom first, swings its attention toward the alley as the siren and flashing police lights pull focus, then settles near the foot of the stairs.",
            "visual_focus": "Suriyeong stumbling down the steep stairs toward the alley"
          },
          {
            "camera_motion": "pan",
            "camera_position": "At the foot of the stairs in the dark alley, shoulder-height, positioned between the stair exit and the police car, with room for Hyesu to enter from the car side",
            "stage_index": 3,
            "stage_label": "alley_reveal",
            "transition_to_next": "When Hyesu runs in, the camera tracks a short step inward with her and tightens the angle toward the confrontation at the base of the stairs.",
            "visual_focus": "Hyesu noticing the dazed Suriyeong near the bottom of the stairs"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close in front of Hyesu at chest-to-eye height, just beyond Suriyeong's shoulder line, about 1 meter from Hyesu as she grips Suriyeong by both shoulders",
            "stage_index": 4,
            "stage_label": "urgent_close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's urgent face and hands holding Suriyeong's shoulders"
          }
        ],
        "flow_summary": "카메라는 옥탑방 계단 위 수리영의 비명 정면에서 출발해 그녀를 앞질러 계단 아래까지 후퇴하며 따라간다. 이후 골목의 경찰차 쪽으로 시선을 열었다가 혜수의 돌진과 함께 다시 수리영에게 밀착해, 두 사람의 긴박한 대면으로 수렴한다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frontal framing for the peak of the scream before the camera begins the descent.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Frame tighter than the stage default so Hyesu's face dominates, with Suriyeong's shoulders and the grip kept at the lower foreground edge.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Just inside the rooftop room entrance, shoulder height, trailing a few steps behind the rushing young woman as she cuts past the adults toward the inner bedroom",
            "stage_index": 1,
            "stage_label": "pursuit_from_entrance",
            "transition_to_next": "The camera follows her momentum through the doorway, then slows at the bedroom threshold as she enters ahead of the lens.",
            "visual_focus": "the young woman's back moving quickly into the bedroom"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the bedroom doorway, eye level, wide enough to take in the bed, curtain area, floor, and the unnaturally tidy empty room from a frontal angle",
            "stage_index": 2,
            "stage_label": "reveal_empty_room",
            "transition_to_next": "After holding on the spotless room, the camera begins a slow dolly forward into the space and subtly arcs to face the young woman standing inside.",
            "visual_focus": "the spotless bedroom with no bloodstain, no red mark, and no body behind the curtain"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom near the foot of the bed, chest height, facing the young woman from the front at a close medium distance",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As her shock pulls her toward the dining area, the camera lets her leave the frame edge and then tracks after her through the room.",
            "visual_focus": "the young woman's pale, frozen face in the middle of the clean room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the bedroom doorway toward the dining table area at shoulder height, keeping a few feet behind and slightly to the side of the young woman",
            "stage_index": 4,
            "stage_label": "move_to_table",
            "transition_to_next": "",
            "visual_focus": "the clean dining table area and the young woman's search for the missing teacups"
          }
        ],
        "flow_summary": "카메라는 현관 쪽에서 수리영의 돌진을 따라 방 안으로 밀려 들어간 뒤, 문턱에서 텅 빈 방을 먼저 확인하고 천천히 안으로 들어가 그녀의 얼어붙은 얼굴을 마주한다. 이후 그녀가 식탁 쪽으로 움직이면 카메라도 같은 동선으로 따라 나가며 사라진 흔적들을 이어서 추적한다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame a beat longer than the moving pursuit to emphasize the unnatural cleanliness and absence of any trace.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten slightly from the stage's close medium distance so her pallor and stunned stillness dominate the frame while the clean room remains visible around her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At bench height on the seaward side of the bus stop, about 10 feet from the bench, angled in profile toward the road with the dark sea behind 수리영.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push along the bench line toward 수리영 as 혜수 comes into her space with the drink.",
            "visual_focus": "수리영 sitting numbly at the coastal bus stop, with 혜수 entering the edge of her attention."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low and close in front of the bench, slightly below 수리영's eye line, about 2 feet from her face, looking upward toward her while 혜수 stands just above and beside the frame.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As 수리영 decides to leave, the camera tilts up and eases backward to make room for her sudden rise from the bench.",
            "visual_focus": "수리영's firming expression as she looks up toward 혜수 and gathers resolve."
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder height beside the bus stop, several feet off the road edge, tracking backward and slightly sideways as 수리영 springs up and moves away, then letting 혜수 remain near the bench line.",
            "stage_index": 3,
            "stage_label": "departure_reaction",
            "transition_to_next": "A deliberate cut jumps to a far, elevated vantage point across the roadside, changing from intimate proximity to an observing distance.",
            "visual_focus": "수리영 breaking away from the bench and 혜수 reacting after her."
          },
          {
            "camera_motion": "static",
            "camera_position": "High and far across the coastal road, near the height of a streetlamp, looking down in a wide overhead angle toward the pool of lamplight, the bus stop, and the road beyond.",
            "stage_index": 4,
            "stage_label": "watched_reveal",
            "transition_to_next": "",
            "visual_focus": "수리영 caught mid-run under the streetlight while 혜수 stands behind near the bus stop, both seen from a distant watching perspective."
          }
        ],
        "flow_summary": "카메라는 해안가 버스정류장 벤치의 옆면에서 시작해 수리영의 얼굴 가까이 낮게 밀고 들어가며 결심의 순간을 포착한다. 이후 수리영의 이탈을 따라가다, 마지막에는 의도적인 컷으로 멀고 높은 시선으로 물러나 두 사람을 감시하듯 내려다본다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Tighten the framing into a close-up on 수리영's face; 혜수's presence is felt from the upward gaze rather than fully shown.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the wide overhead composition so the streetlight defines the action area, with 수리영 in a running step and 혜수 fixed in place behind her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At the office doorway, chest height, about 8 feet in front of Hyesu, moving backward into the room as she enters with her phone raised.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera continues backing into the office, then arcs right toward the duty desk to bring the seated detective into Hyesu's path.",
            "visual_focus": "Hyesu entering the police office while trying to reach Minsuk by phone"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the duty desk at seated eye level, about 4 feet from the detective, angled upward slightly toward Hyesu standing across the desk.",
            "stage_index": 2,
            "stage_label": "desk_confrontation",
            "transition_to_next": "As Hyesu raises her phone toward the detective, the camera slides closer over the desk and lowers to the line between the detective's eyes and the phone screen.",
            "visual_focus": "The exchange between Hyesu and the detective across the desk"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight over the desk near the detective's face line, shoulder height for the seated detective, within 1 to 2 feet of Hyesu's extended hand.",
            "stage_index": 3,
            "stage_label": "evidence_push",
            "transition_to_next": "After holding on the phone, the camera eases left and upward along Hyesu's arm line, leaving the detective's eyeline and finding Hyesu's face.",
            "visual_focus": "Hyesu's hand holding the phone contact screen directly in front of the detective"
          },
          {
            "camera_motion": "static",
            "camera_position": "Close on Hyesu from her front-left side, slightly below eye level, about 2 feet from her face as she looks down toward the floor.",
            "stage_index": 4,
            "stage_label": "anxious_close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's tense face and downcast gaze as her anxiety becomes visible"
          }
        ],
        "flow_summary": "카메라는 혜수가 사무실로 들어오는 흐름을 따라 책상 앞으로 이동한 뒤, 그녀가 내미는 휴대전화 화면으로 밀착한다. 이어 그 손의 긴장선을 타고 혜수의 얼굴 클로즈업으로 올라가며 불길한 예감과 불안을 압축한다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "휴대전화 화면의 연락처가 읽히도록 초점을 화면에 고정하고, 김형사의 눈앞에 바짝 들이민 거리감을 강조한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "기본 위치보다 조금 더 낮게 잡아 혜수가 바닥을 내려다보는 시선을 살리고, 미간의 긴장에 초점을 둔다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Outside the rooftop room, slightly below parapet height, wide distance across the dim rooftop, lens aimed toward the lit window in the early dawn gloom",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a low, quiet track along the rooftop edge toward the parapet, keeping the lit window as a background anchor while searching the wall line.",
            "visual_focus": "the old rooftop room exterior and the lone lit window"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At parapet height, medium distance from the black cat perched on the wall, positioned slightly to the cat's front-left so its yellow eyes and the glowing room beyond sit in the same sightline",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera continues past the cat's shoulder and shifts into a lateral track as the cat prepares to cross the wall, allowing the frame to open toward the rooftop side.",
            "visual_focus": "the black cat watching the lit rooftop room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just inside the wall line, still near parapet height, moving parallel to the wall with a slight downward angle toward the rooftop interior",
            "stage_index": 3,
            "stage_label": "transition",
            "transition_to_next": "",
            "visual_focus": "the cat's movement over the wall toward the rooftop room"
          }
        ],
        "flow_summary": "카메라는 새벽 어스름 속 불 켜진 옥탑방 외관을 멀리서 붙잡은 뒤, 담벼락 높이로 조용히 접근해 고양이의 시선과 방의 불빛을 한 프레임에 묶는다. 이후 고양이가 담을 넘는 방향으로 카메라의 흐름이 이어지도록 설계한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly longer on the cat's yellow eyes, with the lit room kept softly present behind its gaze rather than fully sharp.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_out",
            "camera_position": "Low seated height near the edge of the bedroom bed, about 4 feet from Suriyeong, angled toward her and the open path out of the room",
            "stage_index": 1,
            "stage_label": "awakening",
            "transition_to_next": "The camera retreats ahead of Suriyeong through the bedroom doorway, then pans with her movement into the main living area without breaking screen direction.",
            "visual_focus": "Suriyeong waking, listening, and orienting herself toward the empty house"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Standing eye level in the center of the living room, roughly 12 feet from Suriyeong, wide enough to hold her full body and the surrounding empty space",
            "stage_index": 2,
            "stage_label": "search_living_room",
            "transition_to_next": "The camera lets Suriyeong move out of the wide frame toward her room, then cuts to a closer position at the room entrance as her attention fixes on the closed door.",
            "visual_focus": "Suriyeong standing alone while scanning the silent, empty house"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder height just inside Suriyeong's room, moving from the doorway toward the window and then back toward the room interior",
            "stage_index": 3,
            "stage_label": "room_check_and_call",
            "transition_to_next": "After the phone call and the decision to move, the camera cuts on her exit momentum to the bathroom sink position.",
            "visual_focus": "The clean room, the window area, and Suriyeong's anxious movements as she confirms the body is gone and prepares to leave"
          },
          {
            "camera_motion": "static",
            "camera_position": "At sink height directly behind and slightly beside Suriyeong, lens aimed into the bathroom mirror so the reflected tile wall is clearly visible behind her",
            "stage_index": 4,
            "stage_label": "bathroom_mirror_hallucination",
            "transition_to_next": "When Suriyeong whips her head toward the real wall, the camera holds the mirror logic briefly, then cuts sharply to the dining table in the living area as she rushes out.",
            "visual_focus": "The mirror reflection of the bathroom tile wall and the sudden red circular mark appearing behind Suriyeong"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low tabletop height at the dining table, about 2 feet from the framed photograph, angled so the picture fills most of the frame while Suriyeong remains just outside the dominant focus",
            "stage_index": 5,
            "stage_label": "dining_photo_reveal",
            "transition_to_next": "",
            "visual_focus": "The framed family photograph on the table as the mother's smiling face distorts and appears to melt"
          }
        ],
        "flow_summary": "카메라는 침대 곁에서 깨어나는 수리영을 따라 집 안 중심부로 물러나며 불안한 탐색의 동선을 만들고, 방과 욕실로 이어질 때는 문턱과 시선 전환을 기준으로 컷을 둔다. 후반부는 거울 속 표식에서 식탁 위 사진으로 시각적 공포의 초점을 이동시키며, 수리영의 불안이 집 안 사물에 투사되는 흐름으로 설계한다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame a little wider than the stage default so her full body reads against the negative space of the living room; allow her head turn to lead the pan.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten the composition inside the mirror reflection so Suriyeong is secondary or partially excluded, isolating the red circular mark on the reflected tile wall.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 4
          },
          {
            "deviation_note": "Push closer than the stage opening position until the framed photograph dominates the image; the distortion should be treated as the visual climax of the dolly-in.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 16,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Outside the quiet supermarket entrance, across the sidewalk at chest height, far enough to hold Suri-young full-body beside the parked bicycle.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suri-young moves toward the entrance, the camera begins to track after her through the doorway, keeping the outside space continuous with the interior.",
            "visual_focus": "Suri-young paused in front of the supermarket, gripping the bicycle handle and facing the entrance."
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the supermarket just behind and slightly to the side of Suri-young at shoulder height, moving along the aisles between shelves.",
            "stage_index": 2,
            "stage_label": "search",
            "transition_to_next": "The camera arcs around the end of an aisle as Suri-young finds the male employee, settling into a side-on two-person position.",
            "visual_focus": "Suri-young scanning the quiet aisles for the male employee."
          },
          {
            "camera_motion": "static",
            "camera_position": "Beside a bright interior shelf line at eye level, medium distance from Suri-young and the male employee, holding them in profile as they face each other.",
            "stage_index": 3,
            "stage_label": "questioning",
            "transition_to_next": "After the question about CCTV, the camera releases from the static profile and tracks with both characters as they head back toward the entrance.",
            "visual_focus": "Suri-young confronting the male employee about what he saw the previous day."
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly offset from Suri-young and the male employee at shoulder height, following them from the interior toward the outside wall of the supermarket.",
            "stage_index": 4,
            "stage_label": "transition_outside",
            "transition_to_next": "The camera follows them out, then settles behind them near the exterior wall and tilts its attention upward toward the mounted CCTV camera.",
            "visual_focus": "Suri-young and the male employee moving together to check the possible CCTV angle."
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside near the supermarket wall, low shoulder height behind Suri-young and the male employee, about two to three meters back, angled upward toward the high wall-mounted CCTV camera.",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The CCTV camera above the wall, with Suri-young and the male employee standing below and looking up at it."
          }
        ],
        "flow_summary": "카메라는 한산한 마트 앞에서 자전거를 멈춘 수리영을 바라보다가, 그녀를 따라 내부로 들어가 남자직원과의 대화를 거친 뒤 다시 밖으로 이동한다. 마지막에는 두 사람의 뒤에 자리 잡고 벽면 위 CCTV를 올려다보며 단서의 위치를 드러낸다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly wider than the stage default so the parked bicycle and the empty early-morning storefront define her hesitation before entry.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Keep both backs in the lower frame while tilting enough to make the CCTV camera the dominant point of attention.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the rear corner of the dark office, eye level, several feet behind the seated security staff member and Hyesu, looking toward the bright monitor on the desk",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track along the desk edge, slipping away from the seated backs and moving toward the monitor side to find the anxious observer beyond it.",
            "visual_focus": "the glowing monitor framed by the backs of the security staff member and Hyesu in the dim office"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low and close to the front edge of the desk, just beside the monitor, at Suriyoung's chest-to-eye height alignment, facing her from across the monitor",
            "stage_index": 2,
            "stage_label": "reaction_observation",
            "transition_to_next": "The camera pivots its attention from Suriyoung back toward the monitor surface, then moves closer until the screen dominates the frame.",
            "visual_focus": "Suriyoung staring tensely over and beyond the monitor toward the CCTV playback"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the monitor, slightly above desk height, close enough for the screen surface to fill the frame",
            "stage_index": 3,
            "stage_label": "screen_reveal",
            "transition_to_next": "",
            "visual_focus": "the blurred CCTV image on the monitor, where a man and a woman appear only as dark silhouettes"
          }
        ],
        "flow_summary": "카메라는 어두운 총무과 뒤쪽에서 모니터와 사람들의 관계를 잡은 뒤, 책상 가장자리를 따라 이동해 모니터 너머 수리영의 불안을 정면으로 포착한다. 이어 시선을 다시 화면으로 끌어당기며 모니터 표면까지 밀착해 식별 불가능한 어둠의 CCTV 영상을 드러낸다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Frame Suriyoung frontally with the monitor edge or glow kept low in the foreground, emphasizing that she is watching from behind the screen rather than interacting with the controls.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Reduce depth cues and hold focus on the monitor surface itself so the man and woman remain unreadable silhouettes inside the dark CCTV image.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the office entrance, eye level, about 6 meters from Hyesu's desk, looking across the empty central aisle toward the chair in front of the desk",
            "stage_index": 1,
            "stage_label": "empty_establishing",
            "transition_to_next": "The camera leaves the doorway axis and begins a slow dolly forward along the aisle toward Suriyeong and the desk.",
            "visual_focus": "Suriyeong sitting alone in the suddenly empty police office"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Halfway between the entrance and Hyesu's desk, eye level lowering slightly to chest height, moving from a full-body distance to a tight distance over the desk edge",
            "stage_index": 2,
            "stage_label": "approach_to_evidence",
            "transition_to_next": "The camera continues inward, then tilts down across the desk photos before rising into Suriyeong's face without changing the desk-side axis.",
            "visual_focus": "Suriyeong discovering the disturbing photographs spread across Hyesu's desk"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Beside Hyesu's desk at close range, just above tabletop height, angled up toward Suriyeong from the photographs",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera pans off Suriyeong's shocked face toward the neighboring workstation, following the sound and light from Kim detective's monitor.",
            "visual_focus": "Suriyeong's horrified reaction as the photographs connect to what she has seen"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Between Hyesu's desk and Kim detective's workstation, shoulder height, close enough to pass from the monitor area back to Suriyeong's hands and torso",
            "stage_index": 4,
            "stage_label": "secret_action",
            "transition_to_next": "After the note is hidden, the camera tracks slightly backward with Suriyeong's cautious glance toward the empty room and the office exit.",
            "visual_focus": "Suriyeong checking the GPS result, writing the coordinates, and hiding the folded note"
          },
          {
            "camera_motion": "track",
            "camera_position": "Just in front of Suriyeong at chest height, about 1.5 meters away, backing toward the aisle while keeping the surrounding empty desks in peripheral view",
            "stage_index": 5,
            "stage_label": "guarded_withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong concealing the note and sharply scanning the deserted office before leaving"
          }
        ],
        "flow_summary": "카메라는 형사들이 빠져나간 뒤 문가의 넓은 시야에서 시작해, 홀로 남은 수리영에게 천천히 다가가며 책상 위 증거와 얼굴의 충격을 따라간다. 이후 김형사의 모니터와 메모 행동을 거쳐, 메모를 숨긴 수리영이 빈 사무실을 경계하는 순간까지 뒤로 물러나며 긴장을 유지한다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wider than the later approach so the surrounding empty desks emphasize her isolation.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten from the desk-side axis into a face close-up, letting the photographs remain just below the frame line as implied context.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "Raise the framing from her hands to an upper-body composition while keeping the empty office visible around her glance.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At curb level outside the police station, about 12 feet from a parked bicycle, lens height around 3 feet, angled slightly toward the road and the bicycle frame",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyoung mounts and starts moving, the camera begins to track parallel to the curb, matching the bicycle's initial acceleration.",
            "visual_focus": "the parked bicycle at the roadside with the police station frontage in the background"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the road beside Suriyoung, about 8 feet lateral distance from the bicycle, lens height around 4 feet, moving parallel to her path in a clean side profile",
            "stage_index": 2,
            "stage_label": "side_acceleration",
            "transition_to_next": "The camera continues tracking with her for a few beats, then lets the bicycle gain slight distance as the movement carries forward down the road.",
            "visual_focus": "Suriyoung leaning forward and driving the bicycle pedals hard"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Still along the roadside but easing back from Suriyoung's path, lens height around 4 feet, widening to keep the road and police station exterior context visible",
            "stage_index": 3,
            "stage_label": "release",
            "transition_to_next": "",
            "visual_focus": "Suriyoung riding away from the police station along the road"
          }
        ],
        "flow_summary": "카메라는 경찰서 앞에 세워진 자전거에서 시작해, 수리영이 올라타고 출발하는 순간 도로 옆으로 붙어 나란히 추적한다. 이후 그녀의 강한 페달링을 측면에서 따라가며 속도감 있게 경찰서 앞을 벗어나는 흐름으로 이어진다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Hold the side profile slightly tighter than the stage default to emphasize her forward-leaning posture and forceful pedaling.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At monitor height, about 18 inches from Suryoung's face, slightly off to the side of the screen so the blue monitor glow falls across her face.",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts down and begins a short track along her line of action from her face toward the desk surface.",
            "visual_focus": "Suryoung's tense face lit by the computer monitor"
          },
          {
            "camera_motion": "track",
            "camera_position": "At seated chest height beside the computer desk, about 2 feet from the keyboard and printed maps, moving laterally across the work area.",
            "stage_index": 2,
            "stage_label": "task_detail",
            "transition_to_next": "The track continues downward and closer, ending near the open backpack as the lens angles toward her hands.",
            "visual_focus": "Suryoung's hands gathering and folding the printed maps on the desk"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low at desk level, just outside the open backpack, about 12 inches from the bag opening, angled slightly downward into the bag.",
            "stage_index": 3,
            "stage_label": "packing_insert",
            "transition_to_next": "",
            "visual_focus": "Suryoung's hand pushing several printed maps halfway into the open backpack"
          }
        ],
        "flow_summary": "카메라는 모니터 불빛에 굳어 있는 수리영의 얼굴에서 시작해, 그녀의 행동선을 따라 책상 위 지도로 내려간다. 마지막에는 열린 백팩 가까이에 낮게 멈춰, 지도를 밀어 넣는 손동작을 압축적으로 포착한다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on the hand, the half-inserted printed maps, and the backpack opening; keep Suryoung's face out of frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide roadside position on the dark coastal road, eye-level to slightly low, set several meters ahead of the empty lane and facing down the road into the rain",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to pick up the approaching bicycle through the rain and shifts from a fixed roadside view into a backward-moving frontal track as Suriyeong enters the lane.",
            "visual_focus": "the storm-lashed coastal road, diagonal sheets of rain, and the direction from which Suriyeong is approaching"
          },
          {
            "camera_motion": "track",
            "camera_position": "Directly in front of Suriyeong on the coastal road, mounted at about chest height, moving backward at the bicycle's speed at a medium distance",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The tracking camera gradually closes the distance while maintaining the frontal axis, tightening attention from the bicycle movement to Suriyeong's face and upper body.",
            "visual_focus": "Suriyeong pedaling hard through the heavy rain, pushing forward against the storm"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Still centered in front of Suriyeong, slightly lower than eye level and closer than before, compressed by rain between camera and subject",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's urgent expression and physical strain as rain and wind hit her while she rides"
          }
        ],
        "flow_summary": "카메라는 폭우가 덮친 해안가 도로를 먼저 정면으로 바라보다가, 빗속에서 달려오는 수리영을 발견하며 같은 축으로 뒤로 물러나는 추적 이동에 들어간다. 이후 거리를 좁혀 그녀가 페달을 밟는 절박한 순간을 정면에서 붙잡는다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Hold the framing at a medium frontal cut rather than pushing fully into close-up, timing the frame to catch one knee lifted on the pedal stroke and wet hair blown backward by the motion and rain.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the ransacked living room, chest height, about 3 meters from the entrance, facing back toward the doorway with the disturbed room edges in the foreground",
            "stage_index": 1,
            "stage_label": "shock_establishing",
            "transition_to_next": "The camera begins to leave its fixed frontal position and tracks laterally across the living room toward the open bedroom door, keeping Suri-young's line of sight as the guide.",
            "visual_focus": "Suri-young frozen at the living room entrance, staring into the damaged room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving through the living room at human eye level, passing between the fallen chairs and scattered household items toward the open bedroom doorway",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "As the camera reaches the bedroom doorway, it pivots inward with Suri-young's gaze and settles on the far wall.",
            "visual_focus": "The path from the wrecked living room to the open bedroom door"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the bedroom doorway, eye level, centered on the inner wall at a medium distance and slowly moving closer",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After the wall reveal, the camera cuts closer to the photograph in Suri-young's hand, shifting from room geography to evidence detail.",
            "visual_focus": "The red circular mark on the bedroom wall and the blood-stained old photograph pinned at its center"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Very close to Suri-young's hands near chest height, isolating the photograph after it has been pulled from the wall",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "The camera cuts back wider to the bed area, allowing Suri-young's disorientation to register in the room before following her decision to leave.",
            "visual_focus": "The blood-stained old photograph being examined by Suri-young"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the bedroom near the bed, shoulder height, then drifting backward toward the doorway as Suri-young gathers herself",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young overwhelmed, then moving out with the photograph in hand"
          }
        ],
        "flow_summary": "카메라는 엉망이 된 거실 안쪽에서 수리영의 충격을 정면으로 붙잡은 뒤, 그녀의 시선을 따라 열린 방으로 미끄러져 들어가 벽의 붉은 원과 사진을 드러낸다. 이후 사진의 단서와 수리영의 혼란을 거쳐, 방을 빠져나가는 흐름으로 이어진다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Hold Suri-young frontally a little longer than the general establishing view, letting the damaged room remain partially visible around her as context.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten the frame to a square-on composition of the wall so the red circle and pinned photograph dominate, excluding Suri-young from the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "pan",
            "camera_position": "Wide lens from the landward edge of the harbor, slightly above eye level, looking across the empty wet pier and fog-covered water from a long distance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera finishes the slow pan across the empty harbor and begins tracking forward along the slick ground toward the rocks where Suriyeong is sitting.",
            "visual_focus": "the deserted harbor, heavy fog, wet pier, and unseen sea beyond"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low three-quarter position on the wet rocks, about 3 meters from Suriyeong, camera height just below her seated shoulder line",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera pushes in toward Suriyeong, then pivots with her attention toward the foggy water as the arriving boat becomes the next point of focus.",
            "visual_focus": "Suriyeong sitting exhausted on the wet rocks, facing the foggy sea"
          },
          {
            "camera_motion": "track",
            "camera_position": "Along the pier near the mooring point, waist height, moving parallel to the edge of the dock as the small boat comes in",
            "stage_index": 3,
            "stage_label": "reveal_arrival",
            "transition_to_next": "As the boat reaches the pier, the camera tracks from the mooring action toward Suriyeong’s approach, tightening the space between her and Inwoo.",
            "visual_focus": "the boat emerging from the fog, the rope being secured, and Inwoo at the dock"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight position beside the boat near Inwoo’s standing line, slightly above Suriyeong’s eye level and less than 1 meter from her face",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on Suriyeong’s plea, the camera releases the tension with a short lateral move toward the boarding point, opening the background back to the dark sea.",
            "visual_focus": "Suriyeong’s upturned face as she looks toward Inwoo with urgency"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Medium-close side position at the boarding point, chest height, with Suriyeong in the foreground and the dark foggy sea behind her",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong pausing with her smartphone near her mouth before boarding"
          }
        ],
        "flow_summary": "카메라는 안개 낀 텅 빈 포구를 훑은 뒤 갯바위의 수리영에게 다가가고, 배가 나타나자 부두 쪽으로 이동해 인우와의 대면을 좁은 거리에서 붙잡는다. 마지막에는 승선 지점으로 물러나 어두운 바다를 배경으로 수리영의 음성메시지를 정리한다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame still for a beat within the push-in so her collapsed shoulders and immobility feel suspended against the fog.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Compress the distance with a longer lens and keep Inwoo off-frame or only implied by her eyeline, emphasizing her desperate stillness.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "Settle the dolly-out into a near-static upper-body framing, keeping the sea as a dark negative space behind her while the smartphone stays near her mouth.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the rooftop room near the entrance, eye level, wide distance from the living room center, facing inward across the disordered room",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward dolly along the room axis toward Hyesu, keeping her centered as the surrounding mess falls to the edges of frame.",
            "visual_focus": "the chaotic rooftop room living area with Hyesu standing at the center"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the middle of the rooftop room living area, eye level, medium distance directly in front of Hyesu",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The dolly-in eases to a stop directly before Hyesu, tightening the frontal view without changing the camera axis.",
            "visual_focus": "Hyesu holding a smartphone to her ear, frozen in shock"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye level, close frontal position a few feet from Hyesu in the living room center",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's stunned expression as she listens to the recorded message"
          }
        ],
        "flow_summary": "카메라는 옥탑방 입구 쪽의 넓은 시야에서 난장판이 된 거실과 혜수를 먼저 붙잡고, 방 한가운데의 혜수에게 정면으로 천천히 다가간다. 마지막에는 스마트폰을 귀에 댄 채 충격으로 멈춰 선 혜수의 얼굴과 자세에 정지해 감정의 충격을 고정한다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Hold the final frontal framing long enough to emphasize that Hyesu has stopped moving after hearing the message.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "high wide position above the open sea, several boat lengths off the bow, looking slightly down at the small fishing boat in the sunset water",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera lowers and glides toward the starboard side, closing the distance until the deck becomes the dominant space.",
            "visual_focus": "the small fishing boat isolated in the red evening sea"
          },
          {
            "camera_motion": "track",
            "camera_position": "waist-height along the starboard deck rail, medium distance from Suriyoung and Inwoo, angled across the deck toward their hands and faces",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues tracking inward between them, shifting from the map exchange toward the raised photograph as the tension tightens.",
            "visual_focus": "Suriyoung offering the map and Inwoo studying it with growing suspicion"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "eye-level directly in front of Inwoo, close enough for the photograph to sit near the lens line while Suriyoung remains just off to the side",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "As Inwoo reacts and pulls away, the camera breaks the stillness and swings with his movement toward the wheelhouse.",
            "visual_focus": "Inwoo's face fixed on the photograph, his eyes widening as recognition slips through"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "shoulder-height on the deck behind and slightly to the side of Inwoo, moving toward the wheelhouse entrance with unstable urgency",
            "stage_index": 4,
            "stage_label": "reaction_pursuit",
            "transition_to_next": "",
            "visual_focus": "Inwoo rushing for the controls while Suriyoung moves to stop him"
          }
        ],
        "flow_summary": "카메라는 붉은 바다 위의 어선을 넓게 잡은 뒤 갑판으로 낮게 미끄러져 들어가며 수리영과 인우 사이의 지도와 사진으로 접근한다. 사진을 본 인우의 정면 반응에서 긴장을 최고조로 압축한 뒤, 그의 돌발 행동을 따라 조타실 방향으로 흔들리며 이동한다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Hold the boat small within the surrounding sea for isolation before the camera begins descending toward the deck.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten into a frontal close-up; keep the photograph near the foreground edge while focus locks on Inwoo's enlarged eyes.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the wheelhouse, chest height, about 0.8 meters from the helm, angled across the steering wheel toward the two people crowding the controls.",
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "transition_to_next": "The camera tilts up from the locked hands and tracks slightly right, carrying the argument from the helm into their faces without breaking the spatial line.",
            "visual_focus": "Inwoo at the helm and Suriyoung pressing into his space over the steering wheel"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye level, close side two-shot distance, about 1 meter from Suriyoung and Inwoo, positioned between the helm and the side wall of the wheelhouse.",
            "stage_index": 2,
            "stage_label": "confrontation_approach",
            "transition_to_next": "As Suriyoung brings the old photograph into the argument, the camera follows her hand downward and pushes closer toward the surface where the photo is held.",
            "visual_focus": "Suriyoung confronting Inwoo, with the old photograph becoming the emotional target of the exchange"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low and tight over the console area, about 20 centimeters above the old photograph, lens nearly parallel to Suriyoung's pointing finger.",
            "stage_index": 3,
            "stage_label": "evidence_close_observation",
            "transition_to_next": "Cut on the spoken name to Inwoo's face, jumping from the evidence detail to his recognition shock.",
            "visual_focus": "Suriyoung's index finger pressing the image of the young girl in the old photograph"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye level tight close-up distance, about 0.5 meters in front of Inwoo, with the wheelhouse wall falling out of focus behind him.",
            "stage_index": 4,
            "stage_label": "recognition_reaction",
            "transition_to_next": "The camera eases around Inwoo's shoulder line, letting his frozen face become a foreground edge while the background wall takes over the frame.",
            "visual_focus": "Inwoo's face as the name lands and drains the color from his expression"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Just behind and slightly above Inwoo's shoulder, eye height, aimed past him toward the interior wall of the wheelhouse.",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "The camera pans off the red circular marks and tracks back toward Suriyoung, widening enough to catch her balance failing beside Inwoo.",
            "visual_focus": "The strange red circular marks covering the wheelhouse wall beyond Inwoo"
          },
          {
            "camera_motion": "static",
            "camera_position": "Waist-to-chest height, three-quarter side medium distance, about 1.5 meters from Suriyoung and Inwoo, holding both bodies in the same plane near the helm.",
            "stage_index": 6,
            "stage_label": "collapse_reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's body weakening and tilting toward Inwoo while Inwoo remains upright and coldly watches her"
          }
        ],
        "flow_summary": "카메라는 조타실의 방향타 주변 긴장에서 출발해 말다툼의 얼굴선으로 올라간 뒤, 사진의 단서로 낮게 파고들고 다시 인우의 충격과 벽면의 붉은 원을 거쳐 수리영의 붕괴로 넓어진다. 사진 클로즈업에서 인우의 반응으로 넘어갈 때만 논리적 컷을 두고, 나머지는 좁은 조타실 안을 따라 시선과 몸의 흐름을 이어간다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the frame a fraction longer at the moment before Suriyoung fully collapses, keeping Inwoo's upper body unnervingly still above her diagonal fall.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "A very wide position low above the open sea, far from the small fishing boat, facing the sunset-lit water and the distant horizon at eye-level with the horizon line",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow lateral track along the waterline, letting the glowing surface lead the eye toward the dark fog bank ahead.",
            "visual_focus": "the golden surface of the sea, the small fishing boat in silhouette, and the fog bank beyond it"
          },
          {
            "camera_motion": "track",
            "camera_position": "At water level off the front quarter of the small fishing boat, several boat lengths away, moving parallel with its course toward the fog",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The track gradually tightens and lowers toward the bow, keeping the boat's forward motion continuous as the fog wall fills the frame.",
            "visual_focus": "the fishing boat advancing across the reflective water toward the dense fog wall"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very low over the water directly ahead and slightly to one side of the bow, close enough for the bow to dominate the frame while the fog wall rises immediately behind it",
            "stage_index": 3,
            "stage_label": "threshold",
            "transition_to_next": "",
            "visual_focus": "the black silhouette of the fishing boat's bow half-entering the dense fog and the small ripples breaking at the prow"
          }
        ],
        "flow_summary": "카메라는 황금빛 바다의 넓은 정경에서 출발해 어선의 진행 방향을 따라 수면 가까이 미끄러지듯 접근한다. 마지막에는 뱃머리 앞까지 낮게 다가가, 배가 짙은 안개벽 속으로 서서히 사라지는 경계의 순간에 멈춘다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly tighter and lower than the stage default so the bow silhouette is half swallowed by the fog while the small ripples at the prow remain visible.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "0c4d0c23-114b-4a84-ba1f-d26cccca91a5",
  "resolved_model": "gpt",
  "updated_at": "2026-07-01T15:59:28.745753+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}