{
  "status": "completed",
  "completed_count": 28,
  "applicable_count": 28,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the mouth of the dim back alley, chest height, several meters from the utility pole, looking past the pole toward the entwined man and woman under the streetlight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera pushes forward along the alley axis, closing the distance while keeping the couple centered against the utility pole.",
            "visual_focus": "the man and woman pressed together beside the utility pole"
          },
          {
            "camera_motion": "track",
            "camera_position": "Very close to the couple at shoulder height, just off the woman's side, sliding around the man's shoulder to catch the front three-quarter angle of his face",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera continues its close lateral move, then drops its aim from the man's eyes toward the point where his mouth meets the woman's neck.",
            "visual_focus": "the man's face as he turns his head and his eyes flare red"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Extreme close beside the woman's neck at shoulder height, lens only inches from the contact point, compressed tightly between the two bodies",
            "stage_index": 3,
            "stage_label": "attack_detail",
            "transition_to_next": "The camera loosens and tilts down with the woman's body as her strength gives way, following the collapse toward the ground.",
            "visual_focus": "the man's teeth biting into the woman's neck and the taut contact of their skin"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low and close beside the utility pole, angled downward from torso height toward the pavement as the woman begins to fall out of the man's hold",
            "stage_index": 4,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "the woman's body losing support and dropping toward the alley floor"
          }
        ],
        "flow_summary": "카메라는 골목 입구의 거리감 있는 관찰에서 출발해 전봇대의 두 사람에게 밀착하고, 남자의 얼굴을 스치듯 포착한 뒤 목덜미의 공격 지점으로 내려간다. 마지막에는 쓰러지는 몸을 따라 시선이 낮아지며 사건의 여운을 남긴다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter than the stage default so the red eyes dominate the close-up, with the alley background falling almost completely out of attention.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Shift to an even more compressed extreme close-up, excluding most facial context and emphasizing the biting contact at the neck.",
            "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-footage angle from just outside the police line, eye level, about 8 meters from the covered bodies, looking slightly downward into the cordoned scene",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera crosses the visual line of the cordon with a slow forward move, narrowing the distance toward the evidence area.",
            "visual_focus": "two unidentifiable bodies covered with sheets inside the police line"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the cordoned area, eye level, moving from a wide distance to about 3 meters from the covered bodies",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The forward move eases into a lateral track, letting the covered bodies pass to the edge of frame while investigators come into view.",
            "visual_focus": "forensic investigators working around the covered bodies and marked ground"
          },
          {
            "camera_motion": "track",
            "camera_position": "At investigator height, about 4 meters from the group of detectives, tracking laterally across the scene until facing the command cluster",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "Hyesu standing among detectives and directing the investigation"
          }
        ],
        "flow_summary": "카메라는 뉴스 화면처럼 폴리스 라인 밖의 넓은 현장 전경에서 시작해 천으로 덮인 두 구의 변사체를 확인한 뒤, 감식 구역 안쪽으로 접근한다. 이후 현장 인력의 움직임을 따라 측면으로 이동하며 수사를 지휘하는 혜수 쪽으로 시선을 확장한다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame wide enough to include both covered bodies and the police line as the dominant foreground boundary.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "Very high aerial position above the foggy outskirts of Incheon, looking straight down at the clustered low-rise neighborhood and the old rooftop room below",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera slowly descends and drifts forward through the fog, narrowing the frame from the wider neighborhood toward the old villa rooftop.",
            "visual_focus": "the fog-covered outskirts and the old villa rooftop room seen from above"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "High overhead position closer to the old villa rooftop, still above roof level and angled slightly downward to isolate the rooftop room from the surrounding buildings",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "",
            "visual_focus": "the worn rooftop room and the uneasy stillness around the surrounding residential roofs"
          }
        ],
        "flow_summary": "카메라는 안개 낀 인천 변두리를 높은 부감으로 내려다보다가, 천천히 낮아지며 낡은 빌라 옥탑방을 중심으로 시선을 좁힌다. 넓은 지역의 불안한 분위기에서 특정한 옥탑 공간으로 압축되는 흐름이다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "Maintain a predominantly top-down bird’s-eye angle with fog softening the edges of the neighborhood, emphasizing the rooftop room as the central landmark.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Eye-level, medium-wide position from the far side of the small living room, looking past the table area toward the TV side and the sunlit window",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to track laterally toward the dining table as the room activity shifts from the TV to Suriyoung entering.",
            "visual_focus": "Minsuk frozen in front of the TV, with the dim kitchen details and thin sunlight framing her tension"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye-level, moving from the living room axis toward the dining table, keeping a medium distance from the seated position",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The movement slows beside the table and settles into a tighter angle as the herbal drink is placed in Suriyoung's hand.",
            "visual_focus": "The exchange between Minsuk and Suriyoung at the table"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close table-side position, slightly above cup height and angled toward Suriyoung's face at arm's length",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "A hard cut relocates the camera from the table to the entryway for the departure beat.",
            "visual_focus": "Suriyoung reacting after drinking the bitter herbal water"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Waist-height position near the entryway, a few feet from the door, angled back toward Minsuk and Suriyoung",
            "stage_index": 4,
            "stage_label": "transition",
            "transition_to_next": "The camera drops its attention from the shared farewell gesture to Minsuk's wrist, pushing into the detail.",
            "visual_focus": "Suriyoung leaning close to Minsuk before leaving, with Minsuk responding softly"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close position at wrist level beside Minsuk, tight enough to isolate the skin detail while keeping the surrounding entryway out of focus",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The small circular mark on Minsuk's wrist, appearing unusually red and distinct"
          }
        ],
        "flow_summary": "카메라는 먼저 옥탑방 거실의 불안한 정적 속 민숙을 정면으로 붙잡은 뒤, 식탁으로 흘러가 수리영의 반응을 관찰한다. 이후 출입구로 논리적 컷을 두고 이동해 작별의 친밀한 순간에서 민숙 손목의 표식으로 시선을 좁혀간다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame a little longer on Minsuk's rigid stare before any movement begins.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten slightly from the stage default so the cup edge near her lips and her frown dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Use a shallower focus and a slightly lower wrist-level angle to make the red circular mark feel like a sudden visual discovery.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide roadside position on the seaward side of the coastal road, camera at chest height, several meters away from the bicycle lane, angled diagonally down the road to catch the coastline and incoming rider",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyoung rides into the frame, the camera begins to move with her, matching her speed and shifting into a lateral tracking position.",
            "visual_focus": "Suriyoung entering the coastal road space on her bicycle against the open seaside background"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel side-tracking position beside Suriyoung, camera at low waist-to-knee height, close enough for a dynamic medium side view while maintaining safe distance from the bicycle",
            "stage_index": 2,
            "stage_label": "dynamic_ride_observation",
            "transition_to_next": "The camera continues tracking slightly ahead of her, then eases its speed and prepares to pan toward the direction of the sudden dog bark.",
            "visual_focus": "Suriyoung pedaling with earphones in, smiling brightly as her hair streams backward in the wind"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Slightly forward of Suriyoung along the roadside, camera at chest height, still near the bicycle path but now turned partially toward the offscreen roadside direction",
            "stage_index": 3,
            "stage_label": "offscreen_reaction_setup",
            "transition_to_next": "",
            "visual_focus": "The open roadside space and Suriyoung’s forward path, with attention pulled toward the unseen source of the dog barking"
          }
        ],
        "flow_summary": "카메라는 해안가 도로의 넓은 공간에서 수리영이 자전거로 진입하는 순간을 받아낸 뒤, 곧바로 옆으로 붙어 같은 속도로 달리며 활기찬 주행감을 따라간다. 마지막에는 개 짖는 소리가 들리는 방향으로 시선을 살짝 돌릴 수 있도록 흐름을 열어 둔다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly lower than the stage default to emphasize the bent knee on the pedal stroke, wind-swept hair, earphones, and bright smile in a clean side composition.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "At kennel-aisle height, about 10 feet from the Rottweiler’s cage, centered on the bars and moving toward the animal-facing side of the enclosure",
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "transition_to_next": "The dolly-in continues straight through the aisle axis until the bars and Suri-young’s face dominate the frame.",
            "visual_focus": "the aggressive Rottweiler behind the kennel bars and the hostile energy across the cage front"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye-level, very close to Suri-young on the outside of the kennel, lens just off the bars at a tight frontal angle across the metal grid",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera eases laterally along the bars, letting the dog’s posture soften in the background and opening the angle toward the veterinarian’s side of the cage.",
            "visual_focus": "Suri-young’s cold, unwavering stare through the kennel bars"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder-height in the kennel aisle, moving sideways parallel to the cage line, 4 to 6 feet from Suri-young and the enclosure",
            "stage_index": 3,
            "stage_label": "reveal_and_workload",
            "transition_to_next": "The track withdraws with Suri-young as she turns away from the cage row, then settles near the aisle edge when she raises her phone.",
            "visual_focus": "the calmed dog, the veterinarian backing away after the injection, and the line of caged dogs waiting for care"
          },
          {
            "camera_motion": "static",
            "camera_position": "Chest-height, medium-close distance in the shelter aisle, slightly in front of and to the right of Suri-young as she pauses away from the cage fronts",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suri-young holding a phone to her ear, lowering her eyes with a worried frown"
          }
        ],
        "flow_summary": "카메라는 소란스러운 견사 앞에서 시작해 철창을 향해 밀고 들어가며 수리영의 시선으로 긴장을 고정한 뒤, 옆으로 빠지며 진정된 상황과 밀린 일을 드러낸다. 이후 수리영을 따라 견사 통로 밖으로 물러나 전화 통화의 불안한 반응으로 흐름을 마무리한다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Push the lens slightly closer than the stage default so the kennel bars become a soft foreground grid over her eyes.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the phone-side profile just enough to keep her lowered gaze and furrowed brow readable while minimizing the background dogs.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "On the busy street at curb height, moving parallel to the bicycle lane at a medium distance from Suriyoung, with the supermarket entrance ahead in the background",
            "stage_index": 1,
            "stage_label": "establishing_approach",
            "transition_to_next": "The camera tracks with Suriyoung through the neon-lit street, then eases toward the supermarket entrance as she parks and goes inside.",
            "visual_focus": "Suriyoung riding through taxis, neon signs, street vendors, and the supermarket entrance ahead"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the supermarket near the aisle entrance, shoulder height, following Suriyoung from a three-quarter rear angle at medium distance",
            "stage_index": 2,
            "stage_label": "interior_search",
            "transition_to_next": "As the woman employee answers, the camera shifts its axis down the aisle and prepares to pan toward the male employee's voice and movement.",
            "visual_focus": "Suriyoung searching the aisles and approaching the woman employee"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Inside the same aisle, eye level beside the display shelves, positioned between Suriyoung and the approaching male employee",
            "stage_index": 3,
            "stage_label": "information_reveal",
            "transition_to_next": "The camera completes the pan on the male employee, then reverses the eyeline and pushes toward Suriyoung's reaction.",
            "visual_focus": "The male employee arriving with boxes and mentioning that Minsuk spoke with someone outside"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the aisle, eye level and close to Suriyoung, directly facing her from just off the male employee's eyeline",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on Suriyoung's confusion, cut on her decision to leave to the exterior sidewalk beyond the supermarket doors.",
            "visual_focus": "Suriyoung's widened eyes and confused face as she looks toward the male employee"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the supermarket entrance on the sidewalk, chest height, close distance in front of Suriyoung with the street glow behind her",
            "stage_index": 5,
            "stage_label": "exterior_phone_hold",
            "transition_to_next": "",
            "visual_focus": "Suriyoung standing still and staring down at her mobile phone screen"
          }
        ],
        "flow_summary": "카메라는 번화가의 움직임을 따라 수리영과 함께 마트 안으로 진입한 뒤, 직원들의 말이 이어지는 방향으로 시선을 옮기며 그녀의 불안한 얼굴까지 좁혀 들어간다. 이후 출입구를 경계로 바깥 보도로 컷해, 연락이 닿지 않는 휴대전화 화면 앞에 멈춘 수리영을 정지된 시선으로 붙잡는다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Tighten into a face close-up; keep the male employee off-screen and let Suriyoung's eyeline imply his position.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          },
          {
            "deviation_note": "Angle the frame slightly downward so her fixed gaze and the phone screen become the center of attention while the supermarket exterior stays softly present.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low roadside position on the seaward shoulder of the foggy coastal road, about 1 meter high and 12 meters from the approaching bicycle path",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyeong enters the frame from the mist, the camera releases from the static roadside view and begins matching her speed in a lateral move.",
            "visual_focus": "the empty coastal road swallowed by night fog, with Suriyeong emerging on the bicycle"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel side-tracking position beside the bicycle, waist-to-chest height, about 3 meters away from Suriyeong, keeping her in profile against the dark road and fog",
            "stage_index": 2,
            "stage_label": "side_pursuit",
            "transition_to_next": "The camera gradually lets her move slightly ahead, arcing into a rear three-quarter trailing angle while maintaining forward motion along the road.",
            "visual_focus": "Suriyeong leaning forward and pedaling hard in side silhouette"
          },
          {
            "camera_motion": "track",
            "camera_position": "Rear three-quarter trailing position behind and slightly to the road side of the bicycle, about 5 meters back and 1.4 meters high",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong continuing down the coastal road into the dense night fog"
          }
        ],
        "flow_summary": "카메라는 안개 낀 해안도로 가장자리에서 수리영이 나타나기를 기다린 뒤, 그녀의 속도에 맞춰 측면으로 나란히 달리며 긴박한 페달링을 포착한다. 이후 살짝 뒤로 빠져 그녀가 밤안개 속으로 계속 달려가는 흐름으로 이어진다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "측면 추적을 유지하되, 페달을 강하게 누르는 중간 동작과 앞으로 숙인 상체, 이동 반대 방향으로 날리는 머리카락의 실루엣을 더 선명하게 잡는다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low to the rooftop floor, about ankle height, several feet in front of the rooftop door, moving parallel to the man's path across the windy rooftop",
            "stage_index": 1,
            "stage_label": "ominous_approach",
            "transition_to_next": "The camera continues its low tracking move until it reaches the old metal door, then rises slightly and tightens toward the door seam.",
            "visual_focus": "the man's approaching feet, windblown dried leaves, and the rooftop door ahead"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to the old metal door at waist height, angled slightly downward toward the narrow gap between the door and frame",
            "stage_index": 2,
            "stage_label": "lock_intrusion",
            "transition_to_next": "After the lock releases and the door opens, the camera holds outside, then tracks along the exterior wall toward the nearby window.",
            "visual_focus": "the flyer half-pushed into the door gap and the small mechanical movement of the lock giving way"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the rooftop room, shoulder height, sliding laterally from the doorway toward the dark window glass",
            "stage_index": 3,
            "stage_label": "exterior_shift",
            "transition_to_next": "The lateral move slows as the window fills the frame, ending in a locked-off view of the reflected shadows.",
            "visual_focus": "the window surface catching the man's shadow as he enters the room"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the window at eye level, close enough for the glass to dominate the frame, squared directly to the pane",
            "stage_index": 4,
            "stage_label": "shadow_attack_reveal",
            "transition_to_next": "",
            "visual_focus": "the huge shadow of the man bending over a smaller shadow below, frozen in a threatening silhouette"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥 가까이에서 낯선 남자의 접근을 따라가다가 철문 틈의 침입 행위로 바짝 파고든다. 이후 문 밖에 남아 벽을 따라 창문으로 이동하고, 유리 위에 드리운 위협적인 그림자의 정지 순간에서 멈춘다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Tighten to an extreme close-up so the half-inserted flyer and the narrow door seam dominate the frame, with the surrounding door surface only as texture.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the frame at the peak of the silhouette action, with the man's shadow enlarged high in the window and the smaller shadow compressed near the lower edge.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low shoulder-height position in the dark villa courtyard, a few meters behind and slightly to the side of Suriyeong as she stops with the bicycle near the rear of the yard",
            "stage_index": 1,
            "stage_label": "arrival",
            "transition_to_next": "The camera leaves the bicycle area and tracks with Suriyeong toward the narrow stairway, tightening the distance as she begins to climb.",
            "visual_focus": "Suriyeong moving urgently from the courtyard toward the rooftop stairs"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Tight eye-level position on the middle section of the rooftop stairway, close to Suriyeong's face and upper body, compressed by the narrow walls",
            "stage_index": 2,
            "stage_label": "sensory_reaction",
            "transition_to_next": "The camera continues upward with her movement, then shifts into her eyeline as she reaches the rooftop level and turns toward the entrance.",
            "visual_focus": "Suriyeong reacting to the sudden foul smell while climbing the stairs"
          },
          {
            "camera_motion": "static",
            "camera_position": "Suriyeong's eye-level point of view at the top of the rooftop stairs, facing across the rooftop toward the entrance from several meters away",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the half-open old metal door of the rooftop room"
          }
        ],
        "flow_summary": "카메라는 어두운 마당에서 수리영의 급한 이동을 따라 옥탑 계단으로 올라가며, 냄새를 감지한 순간부터 점점 그녀의 시점에 밀착된다. 마지막에는 옥상에 도달한 수리영의 눈높이에서 반쯤 열린 철문을 정지된 시선으로 포착한다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Held as a locked POV frame, reducing the prior handheld urgency into a frozen reveal of the door.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At Su-riyoung's eye height just inside her bedroom, about 2 meters from the curtain, aligned with her point of view after the curtain has been pulled aside.",
            "stage_index": 1,
            "stage_label": "reveal",
            "transition_to_next": "A sharp cut jumps from the subjective reveal to a low, intimate position beside the seated body, marking the first break in the continuous path.",
            "visual_focus": "Minsuk's seated dead body behind the curtain, head dropped forward and motionless."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low at mattress height on the curtain side of the body, about 40 centimeters from Minsuk's shoulder and collarbone, angled slightly downward.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera pulls away from the wound line and tracks around the body axis to face Su-riyoung as she recoils into the open space of the room.",
            "visual_focus": "The torn shoulder and collarbone wound on Minsuk's body."
          },
          {
            "camera_motion": "track",
            "camera_position": "Chest-height near the center of the bedroom, about 1 meter in front of Su-riyoung, facing her while keeping the body just outside the main frame direction.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "As Su-riyoung's attention drops toward the body's hand, the camera leaves her face and tracks downward and inward toward the hand near the body.",
            "visual_focus": "Su-riyoung holding the phone to her ear, staring forward in shock with tearful eyes."
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Waist-high beside the seated body, about 25 centimeters from Minsuk's hand, lens aimed downward into the palm.",
            "stage_index": 4,
            "stage_label": "clue_approach",
            "transition_to_next": "Without leaving the room, the camera continues from the hand past the wrist area and tilts up along Su-riyoung's sightline toward the wall above the bed.",
            "visual_focus": "Minsuk's hand gripping a crumpled photograph."
          },
          {
            "camera_motion": "static",
            "camera_position": "At Su-riyoung's eye height beside the bed, roughly 1.5 meters from the wall above the bed, squared directly to the wall surface.",
            "stage_index": 5,
            "stage_label": "hallucination_reveal",
            "transition_to_next": "",
            "visual_focus": "A rough red circular mark appearing on the wall above the bed like a smear of blood."
          }
        ],
        "flow_summary": "카메라는 수리영의 시점으로 커튼 뒤 민숙을 발견한 뒤, 시신의 상처로 급격히 접근하고 수리영의 충격 반응으로 물러난다. 이후 시선은 민숙의 손에 쥐어진 사진으로 낮게 이동했다가, 침대 위 벽면의 붉은 원 환시로 들어 올려지며 공포를 확장한다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "커튼이 젖혀진 직후의 수리영 시점으로 고정해, 주변 움직임보다 앉은 시신의 정지감이 먼저 느껴지게 한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 1
          },
          {
            "deviation_note": "방의 맥락을 거의 배제하고 상처 부위만 화면을 채우도록 더 조여 들어간다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 2
          },
          {
            "deviation_note": "트래킹이 잠시 멈추며 휴대전화를 귀에 댄 수리영의 상체를 정면에 가깝게 붙잡는다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 3
          },
          {
            "deviation_note": "손안의 사진에 초점을 강하게 고정하고, 시신의 다른 부분은 얕은 심도로 흐린 배경에 둔다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 4
          },
          {
            "deviation_note": "수리영의 환시 시점으로 처리해 벽면의 붉은 원 외에는 시각적 정보를 최소화한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 17,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At street level beside the police car, waist height, about 6 feet from the open driver-side door, angled three-quarters toward the rooftop stair entrance in the background",
            "stage_index": 1,
            "stage_label": "arrival",
            "transition_to_next": "As Hyesu steps away from the car, the camera leaves its fixed position and begins tracking with her toward the base of the rooftop stairs.",
            "visual_focus": "Hyesu stepping out of the police car under flashing siren light, with the dark stair area held in peripheral depth"
          },
          {
            "camera_motion": "track",
            "camera_position": "Shoulder height, moving from the police car across the narrow exterior approach toward the lower stair area, staying slightly behind and to the side of Hyesu",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The track slows as Hyesu reaches Suriyeong, then arcs to the side of both women to settle on their shared eyeline.",
            "visual_focus": "Hyesu rushing toward the stunned Suriyeong at the bottom of the rooftop stairs"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye-level side position about 4 feet from Hyesu and Suriyeong, perpendicular to their eyeline, close enough to read the grip on Suriyeong's shoulders",
            "stage_index": 3,
            "stage_label": "confrontation_side",
            "transition_to_next": "From the side two-shot, the camera pushes closer toward Suriyeong’s face, tightening along the emotional line between the two women.",
            "visual_focus": "Hyesu facing Suriyeong and holding both of her shoulders while demanding an answer"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight eye-level position just off Hyesu’s shoulder line, about 2 feet from Suriyeong’s face, compressed toward Suriyeong’s gaze",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "After Suriyeong speaks, the camera releases the close-up by widening and pivoting back toward Hyesu and the stairway.",
            "visual_focus": "Suriyeong looking up into Hyesu’s eyes as she struggles to say what happened"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the base of the exterior stairs, chest height, angled upward toward the rooftop room entrance, with enough distance to catch sudden upward movement",
            "stage_index": 5,
            "stage_label": "urgent_withdraw",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the junior detective breaking away from Suriyeong and running up the rooftop stairs"
          }
        ],
        "flow_summary": "카메라는 경찰차 옆에서 시작해 혜수의 이동을 따라 계단 아래 수리영에게 접근하고, 두 사람이 마주 선 측면에서 멈춘 뒤 수리영의 얼굴로 압축된다. 이후 고백의 충격을 받은 혜수가 옥탑방으로 뛰어오르는 방향으로 다시 빠져나가는 흐름이다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Hold the exact beat when Hyesu opens the car door and plants one foot on the ground; let the siren light pulse across the frame without changing the camera position.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Keep the camera strictly on the side axis so Hyesu’s two hands on Suriyeong’s shoulders read clearly as the emotional lock between them.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten further than the stage default into a face close-up, leaving Hyesu mostly implied by Suriyeong’s eyeline rather than fully shown.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside Su-riyoung's room, shoulder height, just off the bed line, about 2 feet from Su-riyoung's face and angled toward the curtain-side empty space",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "As Su-riyoung bolts out toward the table, the camera pulls back through the doorway and tracks with her movement into the main room.",
            "visual_focus": "Su-riyoung's pale face and the empty space in front of the curtain where the body should have been"
          },
          {
            "camera_motion": "track",
            "camera_position": "In the main room near the table, chest height, slightly below Kim Detective's eyeline and about 4 feet from him, oriented across Su-riyoung's position",
            "stage_index": 2,
            "stage_label": "confrontation",
            "transition_to_next": "The camera eases off Kim Detective after Hyesu intervenes, sliding closer to Hyesu and Su-riyoung as the detective exits the emotional center of the frame.",
            "visual_focus": "Kim Detective's hardened expression as he addresses Su-riyoung"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Beside Hyesu and Su-riyoung in the main room, close detail height at shoulder level, less than 1 foot from Su-riyoung's shoulder",
            "stage_index": 3,
            "stage_label": "comfort",
            "transition_to_next": "After holding on the touch, the camera leaves the two figures and tracks back toward Su-riyoung's room, turning its gaze to the bed.",
            "visual_focus": "Hyesu's hand resting gently on Su-riyoung's shoulder"
          },
          {
            "camera_motion": "track",
            "camera_position": "Back inside Su-riyoung's room, low bedside height, about 3 feet from the bed surface, squared toward the backpack and doll",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The backpack and doll on the bed, subtly displaced from where they were before"
          }
        ],
        "flow_summary": "카메라는 수리영의 방 안 커튼 앞 공백에서 출발해, 그녀의 혼란을 따라 식탁 쪽 대치 공간으로 빠져나온 뒤 혜수의 위로에 밀착한다. 마지막에는 다시 방 안으로 흘러 들어가 침대 위 물건들의 어긋난 위치를 조용히 드러낸다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Tightens into a close-up so the empty curtain area remains implied just beyond Su-riyoung's gaze rather than fully shown.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 1
          },
          {
            "deviation_note": "Raises the lens slightly toward Kim Detective's chin to emphasize his lifted, dismissive posture.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 2
          },
          {
            "deviation_note": "Frames only the hand and shoulder, excluding most faces to shift the emotional focus from accusation to reassurance.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 3
          },
          {
            "deviation_note": "Settles into a locked still-life composition at the end of the track, with no people in frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 13,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At bench level on the seaward side, about 2 meters from Suriyeong, camera at seated eye height, framing her in side profile with the dark ocean beyond her.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera slides slightly along the bench line toward the space between Suriyeong and Hyesu, lowering to hand height as Hyesu approaches with the drink.",
            "visual_focus": "Suriyeong sitting motionless against the dark sea, staring into empty space"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to the bench at arm height, positioned between Hyesu's approach path and Suriyeong's seated position, about 50 centimeters from the offered drink.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts and shifts back from the hand area as Suriyeong reacts, rises, and turns away from the bench toward the dark road.",
            "visual_focus": "Hyesu's hand holding out the canned drink toward Suriyeong"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind and slightly to the side of Suriyeong at road-edge height, 3 to 5 meters back, camera around chest height, aligned with the direction of her run into the dark road.",
            "stage_index": 3,
            "stage_label": "pursuit",
            "transition_to_next": "The camera lets Suriyeong pull away into the road, then cuts to a more distant, observational vantage as if someone is watching from outside the bus stop area.",
            "visual_focus": "Suriyeong turning her back on Hyesu and running away toward the dark road"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Farther away from the bus stop, partially obscured behind roadside vegetation, camera at standing eye height and set back enough to hold both the bench area and the road in a distant view.",
            "stage_index": 4,
            "stage_label": "watching_reveal",
            "transition_to_next": "",
            "visual_focus": "The bus stop area and the two women from a hidden, watchful distance"
          }
        ],
        "flow_summary": "카메라는 어두운 바다를 등진 버스정류장 옆에서 수리영의 멍한 정지를 바라보다가, 혜수가 내미는 음료 쪽으로 낮게 접근한다. 이후 수리영이 결심하고 일어나 도로로 뛰쳐나가는 방향을 따라가며, 마지막에는 누군가 지켜보는 듯한 먼 시선으로 빠진다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "수리영의 옆얼굴과 정지된 몸을 더 오래 붙잡아, 바다의 어둠이 배경 압박처럼 느껴지게 한다.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "얼굴보다 손과 캔 음료에 초점을 좁히고, 혜수의 몸은 프레임 가장자리의 존재감으로만 남긴다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "달려나가는 순간의 한 발이 뜬 자세를 잡기 위해 추적 속도를 잠시 맞추고, 배경 도로는 어둡게 열어둔다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Just inside the police office doorway at standing eye level, moving from behind and slightly to the side of Hyesu as she enters toward the duty desk, about 2.5 meters from her",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The track carries Hyesu toward the desk, then eases to a stop as the lens pans slightly right to settle on the detective at his workstation.",
            "visual_focus": "Hyesu entering the office while still focused on her unanswered phone call"
          },
          {
            "camera_motion": "static",
            "camera_position": "Beside the front corner of the duty desk at seated-to-standing eye level, about 1.8 meters from the detective, angled three-quarters toward him",
            "stage_index": 2,
            "stage_label": "desk_encounter",
            "transition_to_next": "Hyesu steps closer into the camera axis; her raised hand with the phone motivates a short push-in toward the space between her and the detective.",
            "visual_focus": "The detective leaning against the desk and looking toward Hyesu"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight at the desk edge, slightly below eye level, positioned between Hyesu and the detective so the phone can enter the foreground near the detective's face",
            "stage_index": 3,
            "stage_label": "confronting_evidence",
            "transition_to_next": "After the phone fills the foreground, the camera cuts across the desk line to face Hyesu directly, preserving the confrontation axis.",
            "visual_focus": "Hyesu's hand thrusting the phone screen toward the detective's face"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Across the desk from Hyesu at chest-to-eye level, about 1.5 meters away, aligned near the detective's point of view",
            "stage_index": 4,
            "stage_label": "determined_reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's tense upper body and unwavering stare as she insists something is wrong"
          }
        ],
        "flow_summary": "카메라는 사무실 문턱에서 혜수를 따라 당직 책상까지 들어온 뒤, 김형사 쪽에 멈춰 대화를 받는다. 이어 혜수가 휴대전화를 들이미는 동작을 따라 밀착하고, 마지막에는 책상 반대편으로 넘어가 혜수의 단호한 불안을 정면으로 압축한다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame steady so the detective's slanted posture against the desk reads clearly while his gaze remains directed toward Hyesu.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Let the phone hand break abruptly into the foreground, with the detective's face kept close behind it for confrontation.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten to an upper-body composition and let the push-in end on Hyesu's furrowed brow and fixed forward stare.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Wide exterior position across from the rooftop room, slightly above roofline height, far distance, framing the rooftop structure against the bluish dawn sky",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera holds the quiet dawn exterior, then begins a gentle lateral track toward the lit window side of the rooftop room.",
            "visual_focus": "the rooftop room exterior, dawn light, and the warm light coming from inside"
          },
          {
            "camera_motion": "track",
            "camera_position": "Medium-wide exterior position along the rooftop edge, eye-level to the room window, closer to the illuminated wall and doorway area",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues the same track downward and sideways toward the parapet line, preparing to catch movement near the wall.",
            "visual_focus": "the lit rooftop room as a point of attention in the quiet dawn space"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low exterior position near the rooftop wall, close to parapet height, angled along the path a small animal would cross",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the wall edge and the implied path of the black stray cat moving past the lit room"
          }
        ],
        "flow_summary": "카메라는 푸르스름한 새벽의 옥탑방 외부를 넓게 잡은 뒤, 불 켜진 방 쪽으로 천천히 다가가며 고요한 공간 속 움직임의 가능성을 만든다. 이후 시선은 담장 높이로 낮아져 검은 길고양이가 지나갈 동선을 자연스럽게 예비한다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "Keep the frame wider and more atmospheric than the later approach, emphasizing the blue dawn exterior and the single warm light from the rooftop room.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low eye-level at the side of the bed, about two meters from Suriyeong, angled slightly across the bedroom toward her upper body against the headboard",
            "stage_index": 1,
            "stage_label": "awakening",
            "transition_to_next": "The camera continues its push-in, then pans with her gaze toward the closed bedroom door, tightening the spatial link from the bed to the doorway.",
            "visual_focus": "Suriyeong abruptly waking and rising from the bed after hearing the cat cry"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye-level, just inside the bedroom between the bed and the doorway, moving laterally to frame Suriyeong's face in three-quarter profile with the closed door beyond her line of sight",
            "stage_index": 2,
            "stage_label": "door_anxiety",
            "transition_to_next": "The camera tracks with her as she moves toward the door and into the room beyond, then settles deeper inside after the search and curtain check.",
            "visual_focus": "Suriyeong staring anxiously toward the firmly closed door"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Chest-height inside the room near the window and small furniture, roughly one and a half meters from Suriyeong, held close enough to catch the phone in her grip and her tense upper body",
            "stage_index": 3,
            "stage_label": "phone_pressure",
            "transition_to_next": "A hard cut jumps forward to the bathroom, preserving her anxious momentum after she decides she cannot simply wait.",
            "visual_focus": "Suriyeong after the phone call, gripping the phone while trying to contain her fear"
          },
          {
            "camera_motion": "static",
            "camera_position": "Fixed at sink height facing the bathroom mirror, centered so Suriyeong's reflected face occupies one side and the tiled wall behind her reflection remains visible",
            "stage_index": 4,
            "stage_label": "mirror_hallucination",
            "transition_to_next": "As she snaps around and flees, the scene cuts into a handheld movement out toward the living area.",
            "visual_focus": "Suriyeong's reflected face and the red circular hallucination appearing on the tiled wall in the mirror"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Chest-height in the living area near the dining table, angled back from the framed photograph toward Suriyeong as she recoils, with enough distance to catch her backward step",
            "stage_index": 5,
            "stage_label": "living_room_panic",
            "transition_to_next": "",
            "visual_focus": "Suriyeong recoiling in horror after seeing the photograph hallucination"
          }
        ],
        "flow_summary": "카메라는 침대 곁에서 깨어나는 수리영에게 밀착해 시작한 뒤, 방문과 방 안의 수색을 따라가며 불안을 좁혀 간다. 이후 욕실 거울의 환영으로 논리적 컷을 넘고, 거실 식탁 앞의 공포 반응까지 흔들리는 움직임으로 이어진다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "Freeze the push-in at the instant her upper body snaps upright, keeping the bed edge low in frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten to a close facial framing while keeping her eyeline fixed toward the closed door rather than showing the whole door.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the handheld drift almost still so the phone clutched in her hand and her severe stare dominate the upper-body frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "Use the mirror image as the primary frame; the red circle is visible beside her reflected face, not on the direct wall view.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          },
          {
            "deviation_note": "Let the handheld camera fall back slightly as she steps backward, emphasizing her open-mouthed shock.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Outside the mart entrance at waist height, about 7 meters from the doorway, aligned slightly off-center to the entrance path",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera tracks forward with 수리영 toward the entrance, then continues the movement into the interior aisle.",
            "visual_focus": "수리영 approaching the quiet mart entrance and moving inside"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Inside the mart aisle at eye level, about 2 meters from 수리영 and the male employee, positioned between shelf lines to hold both sides of the exchange",
            "stage_index": 2,
            "stage_label": "inquiry",
            "transition_to_next": "After the CCTV question, the scene makes a logical cut to the exterior wall where they check the possible camera angle.",
            "visual_focus": "수리영 questioning the male employee and the male employee responding"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside the mart, behind 수리영 and the male employee at shoulder height, about 3 meters back, aimed toward the upper wall above them",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera tilts down from the wall area and tracks slightly around to 수리영's side as she begins calling 혜수.",
            "visual_focus": "수리영 and the male employee looking up toward the CCTV camera mounted high on the wall"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the mart, tight on 수리영's side profile at eye level, about 0.8 meters from her face",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "수리영 holding a phone to her ear with a tense, serious expression"
          }
        ],
        "flow_summary": "카메라는 한산한 마트 입구에서 수리영을 따라 안으로 들어간 뒤, 남자 직원과의 대화를 거쳐 밖의 벽면 CCTV 확인 지점으로 논리적으로 이동한다. 이후 위를 올려다보는 뒷모습에서 수리영의 측면 클로즈업으로 감정의 초점을 좁힌다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "Frame should keep both backs in the lower portion while allowing the upper wall CCTV area to dominate their eyeline direction.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten slightly from the stage default to emphasize the phone pressed close to her ear and her frozen expression, with the background kept minimal.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At desk height, very close to the security monitor, slightly off to the side of the screen, about 1 foot from the display",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera pulls back and slides slightly behind the monitor line, widening the view toward the people watching it.",
            "visual_focus": "the dark CCTV image on the monitor and the security guard indicating the unclear area"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Just behind and beside the monitor, chest height, 4 to 5 feet from Suriyoung, looking past the desk toward her upper body",
            "stage_index": 2,
            "stage_label": "anxious_observation",
            "transition_to_next": "The camera continues its lateral move across the desk axis and pivots toward the security guard seated near the monitor.",
            "visual_focus": "Suriyoung staring tensely at the monitor with clasped hands"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Beside the desk at seated head height, about 3 feet from the security guard, angled across the monitor toward his face",
            "stage_index": 3,
            "stage_label": "uncertain_reaction",
            "transition_to_next": "The camera tracks along the desk edge toward Hyesu, keeping the security guard as the spatial anchor before settling on her profile.",
            "visual_focus": "the security guard reacting to the unclear CCTV footage"
          },
          {
            "camera_motion": "track",
            "camera_position": "At the side of the desk, chest height, 3 to 4 feet from Hyesu, framing her in profile as she leans slightly toward the security guard",
            "stage_index": 4,
            "stage_label": "decisive_request",
            "transition_to_next": "",
            "visual_focus": "Hyesu addressing the security guard with firm concentration"
          }
        ],
        "flow_summary": "카메라는 어두운 CCTV 모니터에서 출발해 화면을 지켜보는 수리영의 불안으로 물러나고, 보안요원의 반응을 거쳐 책상 옆으로 이동하며 혜수의 단호한 요청에 정착한다. 전체 동선은 모니터를 중심축으로 삼아 인물들의 시선과 긴장도를 순차적으로 따라간다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter on the upper body and hands so her clasped hands and fixed stare dominate the shot.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold the side angle a little longer as she leans in, keeping the security guard just off her eyeline rather than fully centered.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the police office entrance, eye level, several meters back from the main desks, facing into the room through the doorway",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "After the officers leave, the camera cuts deeper into the office to isolate the remaining desk area.",
            "visual_focus": "Hyesu, Suriyoung, and the detectives occupying the busy office space"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the now-empty office, waist height, about four meters from Hyesu's desk, slowly moving toward Suriyoung seated alone",
            "stage_index": 2,
            "stage_label": "isolation",
            "transition_to_next": "The dolly continues to the edge of the desk, then tilts down toward the surface.",
            "visual_focus": "Suriyoung alone at Hyesu's desk amid the abandoned office"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "At the front edge of Hyesu's desk, chest height, close enough for the desktop to fill the frame, angled downward",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts and rises from the photographs toward Suriyoung's face, tightening the distance.",
            "visual_focus": "Scattered murder case photographs spread across the desk"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just across the desk from Suriyoung, slightly below eye level, close distance, facing her directly over the desktop",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera pans and tracks from Suriyoung's frozen reaction toward the nearby computer monitor, shifting into her line of sight.",
            "visual_focus": "Suriyoung's shocked face and her hands braced on the photographs"
          },
          {
            "camera_motion": "cut",
            "camera_position": "From Suriyoung's point of view, eye level, directly in front of the dark computer monitor at close range",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The monitor displaying red GPS coordinates and the words 'LAST LOCATION'"
          }
        ],
        "flow_summary": "카메라는 분주한 경찰서 입구에서 시작해 모두가 빠져나간 뒤 수리영이 홀로 남은 책상으로 천천히 좁혀 들어간다. 책상 위 참혹한 사진에서 수리영의 경악한 얼굴로 올라갔다가, 그녀의 시선을 따라 모니터의 위치추적 결과로 이동하며 불길한 정보를 드러낸다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Hold the downward angle longer so the scattered photographs read as a disturbing still life before Suriyoung's reaction is shown.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten slightly beyond the stage default into a close-up, keeping only hints of the desk edge and photographs at the bottom of frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "Use a clean point-of-view framing; the monitor fills the image and the office surroundings fall away into darkness.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Across the sidewalk from the police station entrance, eye-level, wide distance, framing the parked bicycle and the station frontage in one continuous view",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a smooth track forward and slightly to the bicycle's front-left side as Suriyoung settles onto the saddle.",
            "visual_focus": "Suriyoung on the parked bicycle in front of the police station"
          },
          {
            "camera_motion": "track",
            "camera_position": "Front-left three-quarter position near the bicycle, waist-to-chest height, medium distance, moving parallel to the bicycle's first push-off line",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues tracking with the bicycle as it gains momentum, allowing the station background to slide behind her.",
            "visual_focus": "Suriyoung gripping the handlebars, leaning forward, and pressing one pedal down"
          },
          {
            "camera_motion": "track",
            "camera_position": "Alongside the bicycle at handlebar height, slightly ahead of Suriyoung, close-to-medium distance as she starts riding away from the station",
            "stage_index": 3,
            "stage_label": "departure",
            "transition_to_next": "",
            "visual_focus": "Suriyoung accelerating forward on the bicycle"
          }
        ],
        "flow_summary": "카메라는 경찰서 앞의 넓은 위치에서 시작해 수리영과 자전거를 확인한 뒤, 그녀가 페달을 밟아 출발하는 순간 전방 사선으로 다가가며 움직임에 붙는다. 이후 자전거의 진행 방향을 따라가며 경찰서 앞을 떠나는 흐름으로 이어진다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Frame holds slightly tighter on her hands, forward-leaning torso, and the downstroke of the pedal while still keeping the police station frontage readable behind her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dark PC room, at monitor height about 0.6 meters in front of Suriyeong, very close to the desk line and facing her head-on",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts down from her face toward the desk, following the implied line of her gaze and the movement of her hands.",
            "visual_focus": "Suriyeong's tense face illuminated by the blue monitor glow"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Inside the same PC room, just above desk height and slightly to Suriyeong's side, within 0.5 meters of the tabletop and backpack",
            "stage_index": 2,
            "stage_label": "action_detail",
            "transition_to_next": "A hard location cut carries the motion from the folded maps into the exterior storm, jumping from the indoor preparation to the coastal road under rain.",
            "visual_focus": "printed maps being gathered and pushed into a backpack"
          },
          {
            "camera_motion": "static",
            "camera_position": "On the coastal road in heavy rain, set back at a high roadside vantage about 15 meters from the road, looking across the dark open space toward the storm line",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "The camera drops from the wide storm view into a lateral tracking position as Suriyeong enters the road space on the bicycle.",
            "visual_focus": "the rain-lashed coastal road beneath storm clouds"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low side-on tracking position beside the coastal road, about chest height to a cyclist and 3 meters lateral distance from Suriyeong, moving parallel with the bicycle",
            "stage_index": 4,
            "stage_label": "pursuit",
            "transition_to_next": "",
            "visual_focus": "Suriyeong's side silhouette as she hunches forward and pedals through the downpour"
          }
        ],
        "flow_summary": "카메라는 PC방의 모니터 앞에서 수리영의 굳은 얼굴을 붙잡은 뒤, 손과 지도 쪽으로 내려가 준비의 긴장을 축적한다. 이후 장소를 해안도로로 강하게 컷 전환하고, 폭우 속 넓은 공간에서 수리영의 자전거 측면 추적 움직임으로 이어진다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "단계의 정면 관찰을 더 조여 푸른 모니터 불빛이 얼굴 윤곽만 강하게 드러나는 클로즈업으로 유지한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "빗줄기와 역광을 이용해 얼굴보다 웅크린 상체와 페달을 밟으려는 순간의 실루엣을 강조한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the bedroom doorway at shoulder height, about 3 meters from the far wall, angled slightly into the room from the corridor side",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward along the same line, reducing distance to the marked wall and settling into a perpendicular view of the object on it.",
            "visual_focus": "the open bedroom interior and the ominous marked wall ahead"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Inside the bedroom, eye level, 1.5 meters from the wall, centered squarely on the rough red circle and the pinned photograph",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "The push-in continues until the photograph dominates the frame, then the camera adjusts to the plane of the photograph as it is taken down for inspection.",
            "visual_focus": "the bloody circular mark on the wall and the blood-stained photograph fixed at its center"
          },
          {
            "camera_motion": "static",
            "camera_position": "Very close macro distance, slightly above hand height, lens parallel to the surface of the faded photograph",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera releases from the flat photograph view with a small pullback and tilts toward the bed area as Suri-young drops out of shock.",
            "visual_focus": "the faded photograph showing a rural restaurant, a round symbol on the roof, and two twelve-year-old Korean girls"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Near the foot-side corner of the bed at waist height, about 2.5 meters from Suri-young, facing her full body as she lands on the bed edge",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "A hard cut moves the camera from the bedroom reaction position to a rear hallway position near the entrance, preserving the emotional momentum rather than physical continuity.",
            "visual_focus": "Suri-young frozen in shock on the edge of the bed"
          },
          {
            "camera_motion": "track",
            "camera_position": "Behind Suri-young at shoulder height in the dark entry area, 1.5 meters back from her as she moves toward the open doorway",
            "stage_index": 5,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suri-young leaving the rooftop room and stepping into the darkness outside"
          }
        ],
        "flow_summary": "카메라는 어지럽혀진 집의 공포를 따라 방 안으로 미끄러져 들어가 벽의 붉은 원과 사진에 집착하듯 접근한 뒤, 사진의 기억을 클로즈업으로 붙잡는다. 이후 수리영의 충격을 한발 물러서서 바라보고, 마지막에는 현관 쪽으로 논리적 컷을 넘어 그녀의 탈출을 뒤에서 따라간다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "벽면 정물 구도를 위해 인물의 손이나 움직임은 배제하고, 붉은 원과 사진이 프레임 중앙에 고정되도록 정면성을 강화한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "사진 속 이미지를 화면 전체에 가깝게 채워 실제 공간의 깊이를 잠시 지우고, 빛바랜 표면 질감과 둥근 원 상징이 또렷하게 읽히도록 한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "수리영의 전신이 침대 가장자리와 함께 보이도록 기본 반응 위치보다 약간 더 넓게 잡고, 굳어 있는 몸의 정지를 강조한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          },
          {
            "deviation_note": "문밖 어둠을 크게 남기고, 한 발이 허공에 뻗은 순간을 잡기 위해 추적 속도를 잠깐 늦춘다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low on the wet harbor edge at knee height, several meters back from the waterline, facing straight out into the fog-covered sea",
            "stage_index": 1,
            "stage_label": "reveal",
            "transition_to_next": "The camera holds its axis toward the sea as the boat grows clearer, then begins a slow track along the pier toward the docking point.",
            "visual_focus": "a small dark boat silhouette emerging through dense fog toward the harbor"
          },
          {
            "camera_motion": "track",
            "camera_position": "At human eye level moving along the pier parallel to the water, closing the distance between Suriyoung on land and the arriving boat",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The track settles near the bow line, lowering slightly to place Suriyoung below the deck level for the exchange.",
            "visual_focus": "Suriyoung approaching the moored boat while Inwoo secures the rope on deck"
          },
          {
            "camera_motion": "static",
            "camera_position": "Near the end of the pier at chest height beside Suriyoung, close enough to read her face, angled upward across the gunwale toward Inwoo on the boat",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "After the decision to board, the camera lets Suriyoung pass out of the docking frame and cuts to a quieter seaward angle for her message.",
            "visual_focus": "Suriyoung standing firm at the pier edge, looking up at Inwoo"
          },
          {
            "camera_motion": "cut",
            "camera_position": "A few steps away from the boat at the outer edge of the pier, shoulder height in front three-quarter view, with the dark sea filling the background behind Suriyoung",
            "stage_index": 4,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyoung holding a phone near her mouth while staring toward the dark sea"
          }
        ],
        "flow_summary": "카메라는 안개 낀 바다를 향해 정지해 있다가 배의 실루엣을 받아내고, 포구 끝으로 이동해 수리영과 인우의 높이 차가 있는 대면을 따라간다. 이후 배로 향하기 전, 수리영이 잠시 바다 쪽으로 물러나 음성메시지를 남기는 고요한 정지 구도로 흐름을 마무리한다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "Keep the frame almost motionless and allow the boat to enter as a black shape rather than actively following it.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 1
          },
          {
            "deviation_note": "Favor Suriyoung's fixed expression in the foreground while keeping Inwoo's deck position implied above her eyeline.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the composition still after the cut, reducing the boat presence and letting the dark sea dominate behind her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_out",
            "camera_position": "Eye-level, very close in front of Hyesu at the inner side of the rooftop room, about 1 foot from her face, with the lens aligned slightly off-center toward the side where her gaze is fixed.",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "The camera slowly pulls back from Hyesu's face, widening enough to let the surrounding room and the direction of Kim's position enter the same axis.",
            "visual_focus": "Hyesu holding a phone to her ear, her rigid face and anxious sideward gaze"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye-level, medium distance inside the room, moving laterally across the cramped interior from Hyesu's side toward the conversational axis with Kim, about 5 to 7 feet from the characters.",
            "stage_index": 2,
            "stage_label": "reaction_bridge",
            "transition_to_next": "As the door rattles in the wind, the camera leaves the characters' axis and continues the lateral move into a slow pan toward the dark entrance, allowing the human figures to fall out of frame.",
            "visual_focus": "The tense exchange between Hyesu and Kim, with the room's emptiness beginning to dominate around them"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Eye-level near the center of the rooftop room, 8 to 10 feet from the entrance, looking across the dim interior toward the half-open front door.",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The empty, dark entrance area and the front door pushed half open by the wind"
          }
        ],
        "flow_summary": "카메라는 혜수의 굳은 얼굴에서 아주 가까이 시작해 대화의 축을 따라 물러나고, 바람 소리에 이끌리듯 인물들을 떠나 현관문 쪽으로 시선을 옮긴다. 마지막에는 사람이 사라진 어두운 입구와 반쯤 열린 문에 멈춰, 불안과 황량함을 남긴다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Held at the very beginning of the stage before the pullback becomes noticeable, keeping the framing tight on her face and phone.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "The pan settles into a still, wider composition after the door has stopped moving, emphasizing the empty doorway rather than the prior conversation.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "dolly_in",
            "camera_position": "On the open deck at seated eye level, slightly off Inwoo's side of the conversation, about 2.5 meters from Suriyeong and angled across the small gap between them",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera continues its forward move along the line of the offered photograph, reducing the space between the lens and Suriyeong's upper body.",
            "visual_focus": "Suriyeong holding out the old photograph across the deck conversation"
          },
          {
            "camera_motion": "static",
            "camera_position": "Directly in front of Suriyeong at seated chest height, about 1.2 meters away, squared to her upper body with the photograph projecting toward the lens",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As Inwoo breaks away, the camera pivots and begins tracking with the sudden movement toward the wheelhouse side of the deck.",
            "visual_focus": "Suriyeong's fixed posture, the photograph in her hand, and her searching gaze toward Inwoo"
          },
          {
            "camera_motion": "track",
            "camera_position": "Handheld-feeling shoulder height beside Suriyeong's seat line, sliding laterally across the deck toward the wheelhouse while keeping Suriyeong in the near foreground",
            "stage_index": 3,
            "stage_label": "reaction_transition",
            "transition_to_next": "The lateral move opens the frame toward Inwoo's retreating back, then eases into a held angle as Suriyeong rises after him.",
            "visual_focus": "Inwoo abruptly moving away and Suriyeong reacting to stop him"
          },
          {
            "camera_motion": "static",
            "camera_position": "Mid-deck at standing waist-to-chest height, slightly behind and to the side of Suriyeong, aimed diagonally toward Inwoo's back as he heads for the wheelhouse",
            "stage_index": 4,
            "stage_label": "pursuit_hold",
            "transition_to_next": "",
            "visual_focus": "Suriyeong half-rising with one arm extended toward Inwoo's back"
          }
        ],
        "flow_summary": "카메라는 갑판의 대화 거리에서 수리영이 내미는 사진을 따라 천천히 접근한 뒤, 정면에서 그녀의 압박하는 시선을 붙잡는다. 인우가 조타실로 움직이는 순간 카메라는 갑판을 가로질러 방향을 틀고, 수리영이 그를 붙잡으려 일어나는 동작으로 흐름을 이어간다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Frame holds a little wider than the stage endpoint so the old photograph and Suriyeong's frozen upper body remain readable together.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 1
          },
          {
            "deviation_note": "The lens is squared more rigidly to Suriyeong's face, minimizing deck background to emphasize her sharp stare over the photograph.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 2
          },
          {
            "deviation_note": "Camera settles from the tracking move into a suspended mid-action hold, allowing Suriyeong's outstretched arm and Inwoo's receding back to share the diagonal frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the cramped wheelhouse near the doorway, at standing eye level, about 2.5 meters from the helm and angled slightly toward both Suriyoung and Inwoo",
            "stage_index": 1,
            "stage_label": "establishing_confrontation",
            "transition_to_next": "The camera pushes inward through the narrow space and lowers toward the console area as the argument shifts from the helm to the photograph.",
            "visual_focus": "Suriyoung and Inwoo locked in confrontation beside the helm"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low over the console at hand height, within 20 centimeters of the worn photograph, looking almost straight down with a slight diagonal angle from Suriyoung's side",
            "stage_index": 2,
            "stage_label": "photo_close_observation",
            "transition_to_next": "A hard cut lifts the perspective from the photograph to Inwoo's face, preserving the emotional beat of recognition.",
            "visual_focus": "Suriyoung's index finger indicating the girl in the old photograph"
          },
          {
            "camera_motion": "static",
            "camera_position": "At Suriyoung's shoulder line, eye level, about 70 centimeters from Inwoo, facing him in a tight frontal angle with the wheelhouse interior compressed behind him",
            "stage_index": 3,
            "stage_label": "inwoo_realization",
            "transition_to_next": "The camera slides slightly around Inwoo's shoulder line, turning the viewer's attention from his face to what Suriyoung can see beyond him.",
            "visual_focus": "Inwoo's drained expression as he repeats the name Kang Minsook"
          },
          {
            "camera_motion": "pan",
            "camera_position": "From Suriyoung's point of view at eye height, just behind Inwoo's shoulder, looking past him toward the wheelhouse wall",
            "stage_index": 4,
            "stage_label": "red_circle_reveal",
            "transition_to_next": "A sharp reverse cut returns to Suriyoung at the same eye height, converting the wall reveal into her immediate reaction.",
            "visual_focus": "The many disturbing red circles drawn across the wheelhouse wall"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight frontal close-up at Suriyoung's eye level, about 40 centimeters from her face, with the surrounding wheelhouse falling out of attention",
            "stage_index": 5,
            "stage_label": "reaction_collapse",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's shocked face as her focus breaks and her body begins to give way"
          }
        ],
        "flow_summary": "카메라는 조타실 입구의 대치 구도에서 출발해 사진 위로 낮게 파고든 뒤, 인우의 인식과 수리영의 시선을 따라 벽면의 붉은 원들을 드러낸다. 마지막에는 같은 눈높이에서 수리영의 얼굴로 되돌아와 충격과 의식이 흐려지는 순간을 붙잡는다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Macro framing tightens the stage into a still insert, excluding both faces and holding only Suriyoung's fingertip and the girl's face in the photograph.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "The angle becomes explicitly Suriyoung's POV, using Inwoo's shoulder as a foreground edge while the red circles remain frozen and dominant on the wall.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "The close-up holds longer than the stage default, emphasizing her widened eyes and dropped jaw before the loss of balance begins.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Very wide sea-level position far from the fog bank, lens set low above the water and facing the horizon at sunset",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow forward move across the water toward the dark fog wall, keeping the horizon centered as the golden light fades behind the haze.",
            "visual_focus": "the vast ocean surface, the golden sunset reflection, and the long dark fog wall erasing the boundary between sea and sky"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low forward-moving position over the water, approaching the fog bank from open sea, still several boat lengths away from the small fishing boat",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The forward move continues into the edge of the fog until the boat emerges in the foreground; the camera settles into a closer waterline angle near the bow.",
            "visual_focus": "the small fishing boat entering the thick gray fog"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low waterline position three meters off the front quarter of the small fishing boat, lens just above the waves and close to the bow",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the small fishing boat's bow half-buried in dense gray fog, held as a bleak still image"
          }
        ],
        "flow_summary": "카메라는 석양의 바다와 거대한 안개벽을 멀리서 바라보다가 수면 가까이에서 천천히 전진해 안개 속으로 들어간다. 마지막에는 소형 어선의 뱃머리 앞에서 멈춰, 짙은 회색 안개에 반쯤 파묻힌 정경을 정지하듯 응시한다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly longer than the moving approach, emphasizing that the boat appears suspended or stopped inside the fog.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "4c0dd8ad-4a69-4dc0-b375-9a1571572861",
  "resolved_model": "gpt",
  "updated_at": "2026-05-21T06:54:49.973648+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}