{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low to the forest floor, about knee height, three feet beside the fleeing Korean man's wounded leg, moving parallel through dense undergrowth at dusk",
            "stage_index": 1,
            "stage_label": "wounded_pursuit",
            "transition_to_next": "The camera keeps tracking forward, then rises slightly along the man's body line as his movement falters, carrying the view from the leg toward his upper body.",
            "visual_focus": "the wounded thigh, the dragging leg, and blood catching on leaves and skin"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Close beside the Korean man at waist-to-chest height, still in the brush, less than four feet from him as he stumbles and turns",
            "stage_index": 2,
            "stage_label": "fear_close_observation",
            "transition_to_next": "As the man reacts to something offscreen, the camera whips its attention past him toward the direction of the incoming threat.",
            "visual_focus": "the Korean man's terrified face and tense body as he senses danger"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Shoulder-height near the Korean man, angled across the forest clearing toward the darker gap between trees",
            "stage_index": 3,
            "stage_label": "threat_reveal",
            "transition_to_next": "The pan accelerates with the black silhouette's rush, then the camera is pulled violently back toward the man at the moment of collision.",
            "visual_focus": "the black silhouette launching through the dim forest toward the Korean man"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Very close to ground level beside the Korean man, about two feet from his falling back, tilted upward into the impact zone",
            "stage_index": 4,
            "stage_label": "impact_collapse",
            "transition_to_next": "",
            "visual_focus": "the black silhouette slamming into the Korean man and driving him hard onto the forest floor"
          }
        ],
        "flow_summary": "카메라는 숲바닥 가까이에서 부상당한 다리를 따라 달리듯 추적하다가, 남자의 공포 반응을 타고 위협이 오는 방향으로 시선을 휙 돌린다. 이어 검은 인영의 돌진을 따라 흔들리며 다시 남자 곁으로 끌려가, 바닥에 내리꽂히는 충격의 순간까지 붙어간다.",
        "scene_index": 1,
        "shot_assignments": [
          {
            "deviation_note": "Tighter than the stage default, isolating only the torn bite mark and the blood droplets on the thigh while the surrounding brush streaks softly with motion.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "The camera drops even closer to the ground and shakes sharply on impact, emphasizing the Korean man's back striking the forest floor and the rebound of his body.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Across the narrow back alley at eye level, several meters from a utility pole under a dim streetlight",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow dolly-in and slight arc toward the couple, moving from a distant frontal view to their side near the utility pole.",
            "visual_focus": "the man pressing close to the woman against the utility pole in the dim alley"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close to the utility pole at shoulder height, positioned on the man's side profile about one meter from the couple",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the woman loses strength, the camera tilts and lowers with her collapsing body, leaving the man's face and following the motion downward.",
            "visual_focus": "the man's glowing red eyes and his teeth sunk into the woman's neck"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low beside the alley floor near the base of the utility pole, angled down toward the woman's upper body",
            "stage_index": 3,
            "stage_label": "aftermath",
            "transition_to_next": "",
            "visual_focus": "the woman lying motionless on the ground after collapsing"
          }
        ],
        "flow_summary": "카메라는 희미한 가로등 아래 전봇대에 엉킨 두 사람을 멀리서 붙잡은 뒤, 천천히 접근하며 남자의 측면과 목덜미의 폭력적인 접촉으로 압축된다. 이후 여자가 힘없이 무너지는 움직임을 따라 시선이 바닥으로 내려간다.",
        "scene_index": 2,
        "shot_assignments": [
          {
            "deviation_note": "The framing tightens slightly within the stage to emphasize the red glint in the man's eyes and the depth of the bite at the woman's neck.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low to the forest ground, about knee height, several meters from the main investigation cluster, angled slightly downward from the edge of the crime scene",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to slide laterally away from the ground detail, following the perimeter of the scene toward the police line.",
            "visual_focus": "the disturbed dirt ground and the covered evidence area within the forest crime scene"
          },
          {
            "camera_motion": "track",
            "camera_position": "At waist height beside the trees, moving parallel to the yellow police line from outside the restricted area",
            "stage_index": 2,
            "stage_label": "perimeter_scan",
            "transition_to_next": "The track continues past the police line and opens the angle toward the group of detectives, letting the figures ahead become the new point of attention.",
            "visual_focus": "police activity around the boundary of the crime scene"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Eye-level in front of the detective group, starting at a medium distance and moving closer toward Hyesu at the center",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "Hyesu standing firmly among detectives, staring down at the ground with a hardened expression"
          }
        ],
        "flow_summary": "카메라는 산속 범죄 현장의 낮은 지점에서 시작해 폴리스 라인을 따라 이동하며 수사 현장의 긴장감을 훑는다. 그 흐름이 형사들 무리 앞으로 이어지며, 중심에 선 혜수의 굳은 얼굴로 시선이 수렴된다.",
        "scene_index": 3,
        "shot_assignments": [
          {
            "deviation_note": "The dolly-in resolves into a steadier frontal hold, emphasizing Hyesu’s fixed downward gaze rather than the surrounding activity.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "crane",
            "camera_position": "Very high above the outskirts of Incheon, looking steeply downward from an aerial vantage, far enough to read the old residential blocks as a quiet urban pattern",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera slowly cranes downward and narrows its angle toward one old villa rooftop, letting the surrounding neighborhood fall away from attention.",
            "visual_focus": "the quiet outskirts and the old villa rooftop emerging within the urban landscape"
          },
          {
            "camera_motion": "static",
            "camera_position": "High above the old villa rooftop, slightly off-center over the open roof area, looking down at a steep bird's-eye angle toward the empty wooden platform and the rooftop room entrance",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "the empty wooden platform on the rooftop and the closed entrance of the rooftop room"
          }
        ],
        "flow_summary": "카메라는 인천 변두리의 높은 부감에서 시작해 오래된 빌라 옥상으로 천천히 내려와 시선을 좁힌다. 마지막에는 빈 평상과 옥탑방 현관을 내려다보는 정적인 부감으로 멈춰, 뉴스 음성과 대비되는 고요한 불안을 만든다.",
        "scene_index": 4,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame in stillness, emphasizing the emptiness of the wooden platform and the rooftop room entrance within the quiet overhead composition.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the rooftop room, beside the sink at chest height, three to four feet from Minsuk, angled across the counter toward her and the television glow beyond her eyeline",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to drift off the sink line, panning toward the room doorway as Minsuk reacts to Suriyeong entering.",
            "visual_focus": "Minsuk staring tensely toward the television while the sink and small kitchen area frame her"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the kitchen-counter edge at standing eye level, rotating from Minsuk toward the bedroom doorway and back into the living space",
            "stage_index": 2,
            "stage_label": "interruption",
            "transition_to_next": "The pan resolves into a gentle track toward the table as the conversation moves away from the television.",
            "visual_focus": "Suriyeong emerging from the room and Minsuk quickly shifting attention away from the television"
          },
          {
            "camera_motion": "track",
            "camera_position": "At table height along the narrow path between the kitchen counter and dining table, keeping both women within the small room's shared space",
            "stage_index": 3,
            "stage_label": "domestic_exchange",
            "transition_to_next": "A logical cut carries the camera from the table area to the entrance, matching the scripted time jump to Suriyeong preparing to leave.",
            "visual_focus": "The exchange around the herbal drink, with Minsuk serving and Suriyeong seated at the table"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Just inside the entrance at waist height, a few feet from the door, oriented diagonally back toward Minsuk and Suriyeong",
            "stage_index": 4,
            "stage_label": "departure",
            "transition_to_next": "From the entrance angle, the camera holds the intimacy of their goodbye, then pushes closer toward Minsuk as Suriyeong leans near her.",
            "visual_focus": "Suriyeong at the entrance and Minsuk facing her in a warmer, more relaxed beat"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to Minsuk's side at chest-to-wrist height, moving from her face line down toward her exposed wrist at intimate distance",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "The small circular mark on Minsuk's wrist, seen as Suriyeong notices it without alarm"
          }
        ],
        "flow_summary": "카메라는 싱크대 옆의 불안한 민숙에서 출발해 방 안의 일상적 대화 흐름을 따라 식탁과 현관 쪽으로 이동한다. 후반부에는 논리적 컷으로 현관 앞 시간대로 넘어간 뒤, 다정한 작별의 가까운 거리에서 민숙의 손목 표식으로 시선을 좁힌다.",
        "scene_index": 5,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly longer on Minsuk's tense expression before allowing the room movement to begin; keep the television offscreen or only implied by her eyeline.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten from the stage's intimate side position into an insert-level close-up, lowering the lens just enough to isolate the circular mark from the surrounding goodbye action.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low front three-quarter position on the coastal road, about 8 meters ahead of the bicycle at handlebar height, moving backward in the same lane",
            "stage_index": 1,
            "stage_label": "establishing_motion",
            "transition_to_next": "The tracking camera keeps matching the bicycle speed while gradually narrowing the distance, shifting from the road-and-sea context toward the rider.",
            "visual_focus": "Suriyeong riding along the bright coastal road with the sea atmosphere around her"
          },
          {
            "camera_motion": "track",
            "camera_position": "Front three-quarter medium distance, about 3 meters ahead and slightly to the left of the bicycle, at upper-torso height, moving backward at the same speed",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera subtly closes in while maintaining the same forward-facing angle, letting the background streak more strongly behind her.",
            "visual_focus": "Suriyeong leaning forward over the handlebars, earphones in, gripping the bicycle as wind pushes her hair backward"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Tight front three-quarter position, about 1.5 meters ahead of the bicycle, slightly below eye level and centered on her upper body and hands",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyeong’s energetic riding posture, her firm hold on the handlebars, and the sensation of speed along the sunlit road"
          }
        ],
        "flow_summary": "카메라는 해안도로를 달리는 수리영의 앞쪽에서 함께 후진 트래킹하며, 넓은 도로감에서 점점 상체와 핸들 쪽으로 가까워진다. 바다 냄새를 들이마시는 듯한 활기와 속도감이 한 줄기의 전진 운동으로 이어진다.",
        "scene_index": 6,
        "shot_assignments": [
          {
            "deviation_note": "Frame catches the brightest stretch of road and emphasizes the instant when her hair streams backward against the direction of travel.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low outside the kennel fence, knee height, less than one meter from the bars, square-on to the Rottweiler's lunge point",
            "stage_index": 1,
            "stage_label": "establishing_threat",
            "transition_to_next": "After the dog drops from the bars, the camera begins a slow lateral move along the kennel front, shifting from the animal's attack line toward Suri-young's eyeline.",
            "visual_focus": "The Rottweiler's exposed teeth, raised front paws, and the metal bars between the dog and the aisle"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Shoulder height just outside the kennel, slightly off to Suri-young's side, close enough to hold both her face line and the dog behind the bars",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the dog settles, the camera eases backward into the shelter aisle, widening the space and letting the veterinarian's action fall behind Suri-young.",
            "visual_focus": "Suri-young's steady stare meeting the Rottweiler's eyes as the animal's aggression fades"
          },
          {
            "camera_motion": "track",
            "camera_position": "Eye level in the shelter aisle, about two meters from Suri-young, moving parallel to the row of kennels",
            "stage_index": 3,
            "stage_label": "corridor_pressure",
            "transition_to_next": "The camera follows Suri-young's turn away from the cages and tracks with her toward the grooming area when she is called.",
            "visual_focus": "Suri-young taking in the number of caged dogs, then trying to reach someone by phone"
          },
          {
            "camera_motion": "static",
            "camera_position": "Chest-to-eye height beside the grooming table, about one meter from Suri-young's front-left side, angled so her face can turn back into the frame",
            "stage_index": 4,
            "stage_label": "grooming_reaction",
            "transition_to_next": "The camera releases the held reaction by panning and dipping toward the working area, continuing the motion into the next task.",
            "visual_focus": "Suri-young's face as she pauses with grooming scissors and looks back toward the voice behind her"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Waist height close to the bathing station, slightly above the rim of the tub and angled down toward Suri-young's hands",
            "stage_index": 5,
            "stage_label": "work_continuation",
            "transition_to_next": "",
            "visual_focus": "Suri-young's hands moving from grooming work into washing and treating the smaller dogs"
          }
        ],
        "flow_summary": "카메라는 철창 앞의 로트와일러 위협에서 시작해 수리영의 시선으로 그 기세를 누그러뜨린 뒤, 보호원 통로를 따라 그녀를 따라가며 밀린 일의 압박을 확장한다. 마지막에는 미용 공간에 멈춰 수리영의 반응을 붙잡고, 곧바로 손작업의 연속으로 내려간다.",
        "scene_index": 7,
        "shot_assignments": [
          {
            "deviation_note": "Freeze the motion at the peak of the lunge so the raised paws and teeth dominate the frame against the bars.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten slightly from the stage default into a close face framing while keeping the grooming scissors visible at the lower edge of the frame.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At street level, three-quarter side distance from Suriyeong, about 2 meters away and slightly below eye height, moving parallel through the crowded market street under neon signs",
            "stage_index": 1,
            "stage_label": "street_tracking",
            "transition_to_next": "The camera keeps pace as Suriyeong rides forward, then gradually shifts ahead of her path toward the large mart entrance.",
            "visual_focus": "Suriyeong riding her bicycle through taxis, street vendors, and evening neon light"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just outside the large mart entrance, at chest height, facing inward from the sidewalk as Suriyeong arrives and moves toward the doors",
            "stage_index": 2,
            "stage_label": "arrival_approach",
            "transition_to_next": "As Suriyeong enters the mart, the movement resolves into a logical cut to the interior aisle facing her search path.",
            "visual_focus": "Suriyeong stopping at the entrance and heading into the mart"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside the bright mart aisle, at shoulder height and medium distance, moving with Suriyeong past display shelves and staff positions",
            "stage_index": 3,
            "stage_label": "interior_search",
            "transition_to_next": "After the employees' answers unsettle her, cut back to the exterior entrance where the light has fallen darker.",
            "visual_focus": "Suriyeong searching for Minsuk and questioning the mart employees"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the mart entrance in the darker evening, at eye level and medium distance, facing Suriyeong from the sidewalk with the entrance behind her",
            "stage_index": 4,
            "stage_label": "exterior_reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyeong holding her phone and absorbing that she cannot reach her mother"
          }
        ],
        "flow_summary": "카메라는 해질녘 번화가에서 자전거를 타고 달리는 수리영을 옆으로 따라가며 마트 입구까지 끌고 간 뒤, 내부 탐색과 대화를 거쳐 다시 어두워진 입구 밖으로 돌아온다. 마지막에는 이동을 멈추고 연락이 닿지 않는 수리영의 불안한 정지 상태를 붙잡는다.",
        "scene_index": 8,
        "shot_assignments": [
          {
            "deviation_note": "Emphasize the mid-pedal action by holding the camera slightly lower and allowing motion blur in the passing street lights.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten the frame slightly from the stage's medium distance so the clenched phone and fixed expression dominate while the mart entrance falls into the background.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low roadside position on the seaward shoulder of the empty coastal road, about 1 meter high and several meters off the lane, facing diagonally along the road into the darkness",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyeong rides into the frame, the camera leaves the static roadside position and accelerates into a parallel tracking move beside her.",
            "visual_focus": "the dark empty coastal road and the approaching bicycle silhouette"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel side-tracking position beside Suriyeong, at chest height and roughly 2 meters from the bicycle, keeping pace along the coastal road",
            "stage_index": 2,
            "stage_label": "urgent_side_observation",
            "transition_to_next": "The camera gradually loses speed and lets Suriyeong move ahead, rotating slightly from a side profile toward a rear three-quarter view.",
            "visual_focus": "Suriyeong leaning low over the bicycle, gripping the handlebar and driving the pedal down against the night wind"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "Slightly behind and to the side of the bicycle path, at a low standing height, widening the distance as Suriyeong continues down the road",
            "stage_index": 3,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Suriyeong receding along the dark coastal road"
          }
        ],
        "flow_summary": "카메라는 텅 빈 해안도로를 먼저 낮게 바라보다가, 수리영이 프레임에 들어오면 곧바로 옆으로 붙어 속도를 맞춰 달린다. 이후 그녀의 질주를 조금씩 놓아주며 밤길 속으로 멀어지는 흐름으로 마무리된다.",
        "scene_index": 9,
        "shot_assignments": [
          {
            "deviation_note": "Frame as a medium side profile, tightening enough to emphasize her lowered upper body, tense hands on the handlebar, windblown hair, and the single downward pedal stroke.",
            "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 at ankle height, several feet from the metal entrance door, moving along the line of wind-blown dried leaves toward the threshold",
            "stage_index": 1,
            "stage_label": "approach",
            "transition_to_next": "The camera completes the low tracking move at the man’s shoes, then tilts and creeps upward toward the door crack for the lock manipulation.",
            "visual_focus": "the unknown man's shoes stopping before the closed rooftop room door"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close to the metal entrance door at hand height, pressed near the narrow gap between the door and frame",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "As the latch releases and the door opens slightly, the camera stays outside and tracks laterally along the exterior wall toward the dark window.",
            "visual_focus": "the door seam, the flyer being forced into the gap, and the subtle opening of the locked door"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the rooftop room window, slightly below eye level and close to the glass surface, angled to catch the reflected interior silhouette",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "",
            "visual_focus": "the dark window surface holding the terrifying shadow shape inside the room"
          }
        ],
        "flow_summary": "카메라는 옥상 바닥 가까이에서 낯선 남자의 접근을 따라가며 현관문 앞에 멈추고, 문틈의 침입 행위를 가까이 관찰한 뒤 외벽을 따라 창문으로 이동한다. 마지막에는 불 꺼진 유리 표면에 맺힌 그림자로 실내의 폭력적 순간을 드러낸다.",
        "scene_index": 10,
        "shot_assignments": [
          {
            "deviation_note": "Frame kept especially low and tight so the door fills the background while only the mud-stained shoes are emphasized.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "The lateral move settles into a near-static hold on the glass at the moment the huge oppressive silhouette becomes readable.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Low waist-height position in the shadowed rear corner of the villa courtyard, about 3 meters from Suriyoung and the bicycle, angled toward the staircase entrance",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera leaves the courtyard corner with Suriyoung, tracking behind her toward the narrow concrete stairs as she rushes upward.",
            "visual_focus": "Suriyoung arriving in the dark courtyard and abandoning the bicycle near the wall"
          },
          {
            "camera_motion": "track",
            "camera_position": "On the steep concrete stairway, slightly behind and below Suriyoung at knee-to-waist height, keeping close distance as she climbs",
            "stage_index": 2,
            "stage_label": "ascent",
            "transition_to_next": "The camera accelerates up the last steps, then slips ahead of her at the landing to catch her sudden stop and physical reaction to the smell.",
            "visual_focus": "Suriyoung's hurried climb toward the rooftop room"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "At the top section of the staircase, just above Suriyoung's eye line and 1 meter in front of her, facing down the steps toward her upper body",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "The camera retreats backward onto the rooftop landing while holding her face, then pivots slightly in the direction of her stare toward the entrance.",
            "visual_focus": "Suriyoung recoiling from the foul smell, her face tightening as she covers her nose and mouth"
          },
          {
            "camera_motion": "static",
            "camera_position": "At the dark rooftop entrance, chest-height and close to Suriyoung, positioned slightly off her front-left side so her rigid face and the half-open metal door sit on the same eyeline axis",
            "stage_index": 4,
            "stage_label": "reveal_reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's fixed stare toward the half-open rooftop room metal door"
          }
        ],
        "flow_summary": "카메라는 어두운 마당에서 수리영을 따라 계단을 급히 올라가다가, 냄새를 맡고 멈춰 선 순간 그녀의 상체 앞으로 파고든다. 이어 옥상 입구로 물러나며 시선을 따라가 반쯤 열린 철문을 마주한 굳은 얼굴에 정착한다.",
        "scene_index": 11,
        "shot_assignments": [
          {
            "deviation_note": "Frame tightens to an upper-body shot, emphasizing her furrowed brow and the hand clamped over her nose and mouth.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "Hold the face slightly tighter while keeping the half-open metal door implied along her eyeline in the dark entrance space.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the dark rooftop living room, shoulder height, just behind and slightly to the side of Suryoung at the entrance, keeping a medium distance as she moves inward",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera follows Suryoung in a continuous handheld track from the living room toward the interior doors, letting the quiet objects fall behind her.",
            "visual_focus": "Suryoung entering the silent living room and the unsettling stillness of the room around her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the threshold of Suryoung's room, waist height, positioned over Suryoung's shoulder and aimed into the dark bedroom",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera pushes past Suryoung and lowers its attention along the blood trail toward the curtain, compressing the distance to the hidden corner.",
            "visual_focus": "The opened bedroom, the blood on the floor, and the footprints leading toward the curtain"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside Suryoung's bedroom, low knee height, about two meters from the curtain, angled three-quarters toward the floor and the corner where Minsuk is slumped",
            "stage_index": 3,
            "stage_label": "reveal",
            "transition_to_next": "After holding on the body, the camera snaps its attention back toward Suryoung with a tense pan across the room.",
            "visual_focus": "Minsuk's body sitting collapsed near the curtain, with torn wounds and blood visible"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Eye-level close distance in front of Suryoung, just inside the bedroom, facing her from the direction of Minsuk's body",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "The camera drifts downward and forward from Suryoung's frozen face toward Minsuk's lowered hand as Suryoung's attention catches on it.",
            "visual_focus": "Suryoung's shocked face, wide eyes, and open mouth as she freezes in place"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Low beside Minsuk's body, near floor height, close to her bloodied hand and angled so the hand fills the foreground",
            "stage_index": 5,
            "stage_label": "close_observation",
            "transition_to_next": "The camera continues tightening from the crumpled photo to the wrist, then prepares to tilt toward the wall as the unnatural sign begins.",
            "visual_focus": "The crumpled photograph clenched inside Minsuk's bloody hand"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Low beside the bed area, starting near Minsuk's hand and tilting upward toward the wall above the bed",
            "stage_index": 6,
            "stage_label": "supernatural_reveal",
            "transition_to_next": "",
            "visual_focus": "The reddening mark on Minsuk's wrist and the red circular sign forming on the wall"
          }
        ],
        "flow_summary": "카메라는 수리영을 따라 거실에서 방 안쪽으로 조심스럽게 진입하고, 핏자국을 따라 커튼 앞의 시신까지 낮게 밀고 들어간다. 이후 민숙의 시신에서 수리영의 얼어붙은 얼굴로 시선을 튕긴 뒤, 다시 시신의 손과 사진으로 내려가며 초자연적 징후로 이어진다.",
        "scene_index": 12,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly longer than the stage default to let the torn shoulder and collarbone area register before cutting to Suryoung's reaction.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 3
          },
          {
            "deviation_note": "Tighten from the stage's eye-level reaction framing into a more frontal face close-up, keeping the background soft and indistinct.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          },
          {
            "deviation_note": "Use a closer macro-like push than the stage default so the crumpled photograph and bloodied fingers dominate the frame.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 12,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "At street level outside the rooftop-room building, chest height, several meters from the stair entrance, angled slightly upward toward the descending stairs and the parked police car area",
            "stage_index": 1,
            "stage_label": "arrival_establishing",
            "transition_to_next": "The camera tracks laterally away from the police car area and settles toward the foot of the stairs, finding Suryoung after her descent.",
            "visual_focus": "the building entrance, stairwell, emergency atmosphere, and Hyesu arriving from the street"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the foot of the concrete stairs, eye-level to Suryoung, about four meters away, centered on her full body with the dark building behind her",
            "stage_index": 2,
            "stage_label": "stunned_observation",
            "transition_to_next": "As Hyesu rushes into frame from the street side, the camera continues pushing in and subtly shifts to Suryoung's flank to prepare a side angle on the contact.",
            "visual_focus": "Suryoung standing motionless with unfocused eyes and slack arms"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close beside Suryoung and Hyesu at shoulder height, roughly one meter away, positioned in profile so both faces and Hyesu's hands on Suryoung's shoulders read clearly",
            "stage_index": 3,
            "stage_label": "urgent_contact",
            "transition_to_next": "After Suryoung speaks, the camera releases from the tight side position and pans with Hyesu's turn toward the stairway.",
            "visual_focus": "Hyesu gripping Suryoung's shoulders and trying to lock eyes with her"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Near the base of the stairs, shoulder height, just behind and to the side of Hyesu as she turns away from Suryoung toward the stairwell",
            "stage_index": 4,
            "stage_label": "reorientation_to_stairs",
            "transition_to_next": "",
            "visual_focus": "Hyesu and the junior detective redirecting toward the rooftop-room stairs"
          }
        ],
        "flow_summary": "카메라는 도로와 계단 입구의 긴박한 상황에서 시작해, 계단 아래에 멈춰 선 수리영을 발견하며 천천히 접근한다. 이어 혜수가 수리영에게 달려들어 붙잡는 순간을 측면으로 따라간 뒤, 다시 계단 방향으로 시선을 돌리며 다음 행동으로 이어진다.",
        "scene_index": 13,
        "shot_assignments": [
          {
            "deviation_note": "Hold slightly wider than the stage's push-in endpoint to preserve Suryoung's full body and the emptiness around her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten to a side two-shot at shoulder level, emphasizing Hyesu's hands fixing Suryoung in place and their eye line.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the rooftop room entrance, eye-level, medium-wide distance from the doorway area, angled slightly toward the hall and interior rooms",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suryoung suddenly moves, the camera pivots with her and begins tracking through the interior toward her room doorway.",
            "visual_focus": "Detective Kim and Hyesu coming out from checking the apartment, with Suryoung reacting behind them"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At the threshold of Suryoung's room, eye-level, wide enough to take in the bed, floor, curtain area, and unusually tidy empty space",
            "stage_index": 2,
            "stage_label": "empty_room_reveal",
            "transition_to_next": "The dolly slows near Suryoung's frozen viewpoint, then the camera reverses and tracks out of the room after her toward the dining table.",
            "visual_focus": "The spotless, over-neatly arranged room with no bloodstain and no body"
          },
          {
            "camera_motion": "track",
            "camera_position": "Beside the dining table at waist-to-chest height, close to the tabletop, facing across the clean surface toward the living area",
            "stage_index": 3,
            "stage_label": "missing_evidence_check",
            "transition_to_next": "The camera rises and pans from the empty tabletop toward the adults as the accusation and frustration shift the scene into confrontation.",
            "visual_focus": "The completely clean dining table where the teacups should have been"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the living area opposite Hyesu and Suryoung, eye-level, close medium distance, with Suryoung's shoulder near the foreground plane",
            "stage_index": 4,
            "stage_label": "comfort_reaction",
            "transition_to_next": "After Detective Kim leaves, the camera eases past Hyesu and Suryoung and tracks back toward Suryoung's room for a quieter detail reveal.",
            "visual_focus": "Hyesu's worried face as her hand rests on Suryoung's shoulder"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low in one corner of Suryoung's room, close to the floor and near the small personal items, angled back into the tidy room",
            "stage_index": 5,
            "stage_label": "silent_reveal",
            "transition_to_next": "",
            "visual_focus": "The backpack and doll placed slightly differently within the otherwise orderly room"
          }
        ],
        "flow_summary": "카메라는 현관 쪽의 허탈한 확인에서 수리영의 움직임을 따라 방 안과 식탁으로 이동하며, 사라진 증거의 공백을 연속적으로 확인한다. 이후 거실에서 혜수의 위로에 가까이 다가갔다가 다시 방의 사소하게 달라진 물건들로 물러나 불안감을 남긴다.",
        "scene_index": 14,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame slightly wider and steadier than the moving stage, allowing the empty bed, curtain area, and clean floor to read before any character reaction dominates.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Set the lens a touch lower and tighter so Hyesu's hand on Suryoung's shoulder stays in the foreground while Hyesu's worried frontal gaze remains the emotional center.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At bench height on the seaward side of the bus stop, about 2 meters from Suriyeong, in a left-side profile angle with the ocean horizon behind her",
            "stage_index": 1,
            "stage_label": "establishing_melancholy",
            "transition_to_next": "The camera begins a slow lateral track along the bench toward Suriyeong's front side as Hyesu approaches into her space.",
            "visual_focus": "Suriyeong sitting blankly on the bus stop bench, her gaze cast toward the dark sea"
          },
          {
            "camera_motion": "track",
            "camera_position": "Slightly closer to the bench at chest height, near Suriyeong's front-left side, close enough to catch Hyesu entering the edge of Suriyeong's space",
            "stage_index": 2,
            "stage_label": "approach_and_confrontation",
            "transition_to_next": "As Suriyeong decides to leave, the camera eases backward and tilts up just enough to make room for her sudden rise into a full-body frame.",
            "visual_focus": "The exchange between Hyesu and Suriyeong around the offered drink and Suriyeong's sinking uncertainty"
          },
          {
            "camera_motion": "dolly_out",
            "camera_position": "A few steps back from the bench at standing eye level, squared more directly toward Suriyeong so her whole body can be held as she rises",
            "stage_index": 3,
            "stage_label": "decision_to_move",
            "transition_to_next": "The camera starts to follow Suriyeong's departure for a beat, then cuts to a distant concealed viewpoint behind a tree.",
            "visual_focus": "Suriyeong springing up from the bench with a clenched resolve before leaving Hyesu behind"
          },
          {
            "camera_motion": "cut",
            "camera_position": "Farther down the roadside behind a tree trunk at adult eye height, partially obscured by bark and branches, looking back toward the bus stop area from a hidden distance",
            "stage_index": 4,
            "stage_label": "hidden_observation_reveal",
            "transition_to_next": "",
            "visual_focus": "Suriyeong running away and Hyesu left behind, seen as if someone is secretly watching them from behind the tree"
          }
        ],
        "flow_summary": "카메라는 바다를 향한 수리영의 측면에서 시작해 혜수의 접근과 수리영의 결심을 따라 의자 주변을 낮게 이동한다. 수리영이 떠나는 순간에는 숨겨진 관찰자의 위치로 논리적 컷을 감행해, 두 사람을 멀리서 지켜보는 시선으로 씬을 마무리한다.",
        "scene_index": 15,
        "shot_assignments": [
          {
            "deviation_note": "Keep the frame still and quiet, emphasizing the empty sea space in front of Suriyeong rather than isolating her face.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Widen slightly more than the stage default to include her clenched fist and full upright posture in one rigid vertical composition.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          },
          {
            "deviation_note": "Use the tree trunk as a foreground obstruction, making the composition feel like an unseen person's point of view rather than a neutral wide shot.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At the police office entrance, chest height, medium distance, facing inward toward Hyesu as she stops just inside the room",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow track toward the duty desk, keeping Hyesu in the near foreground while opening the angle toward Kim detective.",
            "visual_focus": "Hyesu holding the phone, tense and waiting for an unanswered call"
          },
          {
            "camera_motion": "track",
            "camera_position": "Moving from the entrance line to the side of the duty desk, eye level, settling into a two-shot angle between Hyesu and Kim detective",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera continues forward and slightly lowers toward the space between Hyesu's extended hand and Kim detective's face.",
            "visual_focus": "Kim detective turning from the desk toward Hyesu"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to the duty desk at shoulder height, just off the line of Hyesu's extended arm, within arm's length of Kim detective",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "A direct cut reverses the axis to Hyesu's side of the desk for her emotional close-up.",
            "visual_focus": "The phone screen held close in front of Kim detective's face, with Hyesu's arm locked in place"
          },
          {
            "camera_motion": "static",
            "camera_position": "On Hyesu's side of the desk, eye level, tight close-up distance, facing her directly with the office background compressed behind her",
            "stage_index": 4,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Hyesu's face as her anxiety hardens into firm conviction"
          }
        ],
        "flow_summary": "카메라는 사무실 입구의 혜수에서 출발해 당직 책상 쪽으로 접근하며 김형사와의 거리감을 좁힌다. 휴대폰을 들이미는 순간까지 밀고 들어간 뒤, 축을 넘기는 컷으로 혜수의 단호한 얼굴에 정착한다.",
        "scene_index": 16,
        "shot_assignments": [
          {
            "deviation_note": "휴대폰 화면과 김형사의 얼굴 사이 거리를 극단적으로 좁혀, 혜수의 팔이 프레임을 가로지르는 압박감이 나게 조정한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          },
          {
            "deviation_note": "배경의 책상과 사무실 디테일은 얕게 흐리고, 혜수의 눈빛과 굳게 다문 입술에 초점을 고정한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low rooftop-wall level, just outside the rooftop room, about 1 meter from the wall and slightly below the cat's eye line",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a gentle track along the wall, keeping the cat in profile while opening the view toward the lit rooftop-room window.",
            "visual_focus": "a black cat crouched on the wall, staring toward the lit rooftop-room window in the dawn light"
          },
          {
            "camera_motion": "track",
            "camera_position": "Parallel to the wall at cat height, moving laterally past the crouched cat toward the direction of the rooftop-room window",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The movement continues with the cat's body preparing to spring, carrying the camera's attention over the far side of the wall.",
            "visual_focus": "the black cat's poised body and the glowing rooftop-room window beyond"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Near the wall edge at cat height, angled slightly upward into the open space beyond the wall",
            "stage_index": 3,
            "stage_label": "transition",
            "transition_to_next": "",
            "visual_focus": "the space over the wall where the black cat is about to leap"
          }
        ],
        "flow_summary": "카메라는 새벽의 옥탑 담장 높이에서 검은 고양이와 불 켜진 창문을 함께 붙잡은 뒤, 담장을 따라 옆으로 미끄러지며 고양이의 시선과 다음 도약 방향을 따라간다. 선택된 샷은 이 연속 이동의 출발점에서, 고양이가 아직 웅크린 채 창문을 응시하는 순간에 해당한다.",
        "scene_index": 17,
        "shot_assignments": [
          {
            "deviation_note": "",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the bedroom, eye-level and close to the bed foot, about 6 feet from Suri-young, looking past the bed toward her and the closed doorway.",
            "stage_index": 1,
            "stage_label": "waking_suspicion",
            "transition_to_next": "The camera follows Suri-young's movement with a cautious handheld drift, then cuts at the doorway to place us inside the next room as she opens it.",
            "visual_focus": "Suri-young waking, listening, and searching the silent room"
          },
          {
            "camera_motion": "track",
            "camera_position": "Inside Suri-young's room, shoulder-height near the doorway, tracking inward from behind Suri-young toward the window and then easing back toward the table area.",
            "stage_index": 2,
            "stage_label": "room_search_and_call",
            "transition_to_next": "After the phone call and backpack movement, the camera cuts to the bathroom, preserving her forward momentum into the next private space.",
            "visual_focus": "the overly tidy room, the opened curtains, the ringing phone, and Suri-young's tense movement"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the bathroom, chest-height, just behind and slightly to the side of Suri-young, about 3 feet from the sink, angled into the mirror so the reflected tiled wall fills the background.",
            "stage_index": 3,
            "stage_label": "mirror_vision",
            "transition_to_next": "The camera pivots away from the mirror line with Suri-young's head turn, shifting attention from reflection to the real wall behind her.",
            "visual_focus": "the mirror reflection of the bathroom tiled wall where a vivid red circular mark appears"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Inside the bathroom, same chest-height position near the sink, now rotated toward the actual tiled wall behind Suri-young.",
            "stage_index": 4,
            "stage_label": "vanishing_check",
            "transition_to_next": "As the wall proves clean, the camera tracks rapidly out with Suri-young into the living room and settles toward the dining table.",
            "visual_focus": "Suri-young's shocked side reaction and the bare bathroom tile wall"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "In the living room at the dining table edge, lens at tabletop height, about 2 feet from the framed photograph, pushing closer until the frame dominates the view.",
            "stage_index": 5,
            "stage_label": "photo_hallucination",
            "transition_to_next": "The push-in on the photograph breaks with Suri-young's scream; the camera cuts from the distorted picture to her face in the same living room space.",
            "visual_focus": "the framed photograph on the dining table, especially Minsuk's face as it seems to melt red"
          },
          {
            "camera_motion": "static",
            "camera_position": "In the living room, tight frontal position at Suri-young's eye level, about 2 feet from her face, with the dining table area behind camera.",
            "stage_index": 6,
            "stage_label": "panic_reaction",
            "transition_to_next": "",
            "visual_focus": "Suri-young's tearful, distorted face as she grabs her head and loses control"
          }
        ],
        "flow_summary": "카메라는 안방의 불안한 정지에서 출발해 방문, 수리영의 방, 욕실 거울, 거실 식탁으로 점점 좁고 압박적인 동선으로 이동한다. 붉은 환영이 거울과 사진 속에서 반복될수록 카메라는 사물 클로즈업에서 수리영의 얼굴로 되돌아오며 공포의 원인을 외부 공간에서 내면 붕괴로 옮긴다.",
        "scene_index": 18,
        "shot_assignments": [
          {
            "deviation_note": "Hold the frame completely still so the red circle reads as a frozen, impossible apparition within the mirror reflection.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 10,
            "stage_index": 3
          },
          {
            "deviation_note": "End the dolly-in at an extreme close-up of the framed photograph, isolating only Minsuk's melting face area and letting the rest of the frame fall out of attention.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 14,
            "stage_index": 5
          },
          {
            "deviation_note": "Tighten slightly from the stage default to make her hands, open mouth, and wet eyes fill the frame, with no need to show the surrounding room.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 15,
            "stage_index": 6
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Inside the quiet market, chest height, moving from the entrance area into the aisles at a cautious distance behind and slightly beside Suriyoung",
            "stage_index": 1,
            "stage_label": "search",
            "transition_to_next": "The camera continues tracking through the aisle and arcs around as Suriyoung finds the male employee, settling into a side-on two-person position.",
            "visual_focus": "Suriyoung scanning the market interior for the male employee"
          },
          {
            "camera_motion": "static",
            "camera_position": "Inside the market aisle, chest height, about two meters from Suriyoung's side, aligned perpendicular to her and the male employee as they face each other",
            "stage_index": 2,
            "stage_label": "confrontation",
            "transition_to_next": "After the CCTV question lands, the camera follows their movement out of the market toward the exterior wall.",
            "visual_focus": "Suriyoung holding back emotion while facing the male employee"
          },
          {
            "camera_motion": "track",
            "camera_position": "Outside the market, shoulder height, behind Suriyoung and the male employee as they approach the wall corner from several meters away",
            "stage_index": 3,
            "stage_label": "exterior_check",
            "transition_to_next": "The camera stops near the wall corner and tilts upward along Suriyoung's line of sight toward the mounted camera.",
            "visual_focus": "Suriyoung and the male employee checking the exterior wall for the likely surveillance angle"
          },
          {
            "camera_motion": "tilt",
            "camera_position": "Outside at the base of the market wall corner, low-to-mid height, lens angled upward toward the small surveillance camera mounted near the edge of the exterior wall",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "The camera tilts and pans back down along the same wall, withdrawing from the surveillance camera to find Suriyoung alone against the exterior wall.",
            "visual_focus": "The small CCTV camera on the market exterior corner"
          },
          {
            "camera_motion": "static",
            "camera_position": "Outside the market wall, chest height, close to Suriyoung at a slight three-quarter angle while she leans back against the wall",
            "stage_index": 5,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's hardened expression as she speaks into her phone"
          }
        ],
        "flow_summary": "카메라는 한산한 마트 안에서 수리영의 수색을 따라가다 남자 직원과의 대면 지점에 멈추고, 이후 두 사람을 따라 밖으로 나와 외벽의 CCTV 위치를 확인한다. CCTV를 올려다본 시선에서 다시 벽 아래 수리영의 전화 장면으로 내려오며, 단서 발견이 곧바로 굳은 반응으로 이어지게 만든다.",
        "scene_index": 19,
        "shot_assignments": [
          {
            "deviation_note": "Frame tighter on Suriyoung's side profile, keeping the male employee present only as the opposing figure in her eyeline.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Use a tighter close-up lens from the same upward wall-corner angle so the CCTV fills the frame and clearly reads as the object of Suriyoung's attention.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold closer on Suriyoung's face and phone than the stage default, minimizing the wall background to emphasize her controlled tension.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "At standing eye level behind and slightly to the side of the security employee, about 5 feet from the desk, looking past the employee toward the monitor and the people gathered around it.",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins a slow push forward over the desk line, narrowing its angle until the monitor fills the frame.",
            "visual_focus": "the dark CCTV monitor being indicated by the security employee, with Hyesu and Suriyoung held in the surrounding tension"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "At monitor height, moving from about 2 feet away to within 8 inches of the CCTV screen, nearly square to the glass with a slight off-axis angle to catch the murky image.",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "After holding on the unreadable image, the camera eases off the screen and tracks around the side of the monitor toward the anxious observer behind the desk group.",
            "visual_focus": "the black, low-contrast CCTV image where only indistinct silhouettes can be made out"
          },
          {
            "camera_motion": "track",
            "camera_position": "At Suriyoung's eye level on the monitor side of the room, about 3 feet from her face, facing her directly after completing a short arc from the screen.",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "",
            "visual_focus": "Suriyoung frozen in extreme anxiety as she watches the monitor"
          }
        ],
        "flow_summary": "카메라는 보안직원 뒤에서 모니터를 바라보는 위치로 시작해, 문제의 CCTV 화면 안으로 천천히 밀고 들어간다. 식별 불가능한 화면을 확인한 뒤 모니터 쪽에서 수리영의 정면으로 돌아나오며 불안한 반응에 멈춘다.",
        "scene_index": 20,
        "shot_assignments": [
          {
            "deviation_note": "Frame the CCTV image as a tight close-up so the surrounding monitor bezel is minimal and the silhouettes remain unreadable.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Settle into a centered frontal hold, emphasizing her bitten lower lip and fixed anxious eyes without shifting focus back to the monitor.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Eye-level at the front aisle of the police office, about 12 feet from Sooryeong, facing her across the empty desks and chairs in a centered frontal line.",
            "stage_index": 1,
            "stage_label": "establishing_isolation",
            "transition_to_next": "After the room empties, the camera begins a slow forward move down the aisle toward Hyesu's desk, keeping Sooryeong centered as the surrounding emptiness falls behind her.",
            "visual_focus": "Sooryeong sitting alone in the suddenly quiet police office"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Eye-level to slightly low beside the front edge of Hyesu's desk, moving from a medium distance to within 5 feet of Sooryeong.",
            "stage_index": 2,
            "stage_label": "approach_to_evidence",
            "transition_to_next": "The dolly-in continues around the desk corner and rises into a tighter frontal three-quarter angle as Sooryeong reacts to what she has seen.",
            "visual_focus": "Sooryeong leaning over the desk and the disturbing case photographs spread in front of her"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight eye-level frontal three-quarter position, about 2 feet from Sooryeong, just above desk height so her face dominates the frame.",
            "stage_index": 3,
            "stage_label": "close_reaction",
            "transition_to_next": "A monitor chime motivates the camera to break from her face and pan toward Detective Kim's workstation, following her attention across the room.",
            "visual_focus": "Sooryeong's frozen face as fear overtakes her"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Eye-level from near Sooryeong's seat, rotating right across the desk line toward the nearby computer monitor at Detective Kim's workstation.",
            "stage_index": 4,
            "stage_label": "attention_shift",
            "transition_to_next": "As Sooryeong approaches and clicks, the camera leaves the pan and pushes straight toward the monitor until the screen fills the frame.",
            "visual_focus": "The suddenly active monitor screen in the otherwise empty office"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Directly in front of the monitor, perpendicular to the screen surface, moving from a close view to an extreme close-up of the digital map.",
            "stage_index": 5,
            "stage_label": "reveal",
            "transition_to_next": "After the location is revealed, the camera drops back from the screen toward desk level and follows Sooryeong's urgent hands as she writes and hides the note.",
            "visual_focus": "The digital map with a red location pin placed in the middle of the sea"
          },
          {
            "camera_motion": "track",
            "camera_position": "Desk-height beside Sooryeong, then drifting behind her toward the office doorway as she finishes the note and leaves.",
            "stage_index": 6,
            "stage_label": "withdraw",
            "transition_to_next": "",
            "visual_focus": "Sooryeong concealing the written coordinates and checking the empty office before exiting"
          }
        ],
        "flow_summary": "카메라는 북적이던 경찰서 사무실이 비워진 뒤 수리영을 정면에서 고립시키고, 책상 쪽으로 서서히 접근해 그녀의 공포 반응을 밀착 관찰한다. 이후 모니터 알림을 따라 시선을 돌려 위치추적 화면으로 파고들고, 좌표를 확인한 수리영이 빠져나가는 흐름까지 같은 공간 안에서 이어간다.",
        "scene_index": 21,
        "shot_assignments": [
          {
            "deviation_note": "Departing officers are fully excluded from the frame, emphasizing the empty chairs and Sooryeong's isolation in the center.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 1
          },
          {
            "deviation_note": "The frame tightens slightly beyond the stage default so her hand covering her mouth and her pale, stunned expression fill most of the image.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 3
          },
          {
            "deviation_note": "The push-in lands on the red pin and ocean area, cropping out the monitor bezel as much as possible for a pure screen close-up.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 11,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Outside the police station entrance, at waist height, three meters to the side of the parked bicycle, looking across the bicycle line toward Suriyoung in profile",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "As Suriyoung loads her weight onto the pedal and begins to push off, the camera releases from the static side view and starts moving forward along her path.",
            "visual_focus": "Suriyoung preparing to launch on the bicycle against the police station exterior"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low at rear three-quarter angle, about two meters behind and slightly to the left of the bicycle, moving at the same initial speed as Suriyoung",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The camera gradually slides inward from the rear three-quarter angle to a direct trailing position as her acceleration increases.",
            "visual_focus": "Suriyoung’s body folding forward as the bicycle gains momentum"
          },
          {
            "camera_motion": "track",
            "camera_position": "Directly behind the bicycle at low chest-to-handlebar height, one to two meters back, aligned with the center of Suriyoung’s forward path",
            "stage_index": 3,
            "stage_label": "pursuit",
            "transition_to_next": "",
            "visual_focus": "Suriyoung’s back, clenched hands on the handlebars, and the urgent forward drive of the bicycle"
          }
        ],
        "flow_summary": "카메라는 경찰서 밖에 정지한 자전거 옆에서 출발해, 수리영이 페달을 밟는 순간 측후방으로 따라붙고 곧바로 뒤에서 질주를 추적한다. 전체 흐름은 준비된 정지 상태에서 급가속하는 도주감으로 이어진다.",
        "scene_index": 22,
        "shot_assignments": [
          {
            "deviation_note": "Use a tighter trailing frame than the stage default so her forward-leaning back and hands gripping the handlebars dominate the image while the background streaks slightly with motion.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the dark PC room, just above the monitor line and directly in front of Suryoung at seated eye level, close enough for a tight frontal view",
            "stage_index": 1,
            "stage_label": "close_observation",
            "transition_to_next": "Cut to the opposite side of the desk, repositioning behind and slightly to the side of Suryoung so the monitor screen becomes visible.",
            "visual_focus": "Suryoung's face lit by the monitor glow as she stares at the screen"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Behind and slightly over Suryoung's shoulder, at monitor height, starting close to the desk and moving toward the screen",
            "stage_index": 2,
            "stage_label": "reveal",
            "transition_to_next": "After reaching the screen detail, the camera tilts and lowers toward the desk surface to follow the printed maps and her hands.",
            "visual_focus": "the computer monitor displaying a coastal map with entered coordinates and a red pin"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low beside the desk at hand height, near the keyboard and printer output area, tracking toward the open backpack",
            "stage_index": 3,
            "stage_label": "action_continuation",
            "transition_to_next": "",
            "visual_focus": "printed paper maps being gathered, folded, and pushed into the backpack"
          }
        ],
        "flow_summary": "카메라는 모니터 앞쪽에서 수리영의 굳은 얼굴을 정면으로 붙잡은 뒤, 반대편으로 컷해 화면 속 좌표와 붉은 핀을 확인한다. 이후 시선은 책상 아래로 낮아져 인쇄된 지도와 백팩으로 이어지는 행동을 따라갈 수 있는 흐름으로 설계된다.",
        "scene_index": 23,
        "shot_assignments": [
          {
            "deviation_note": "Keep the monitor edge out of frame so the shot feels as if the screen itself is staring back at her.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 1,
            "stage_index": 1
          },
          {
            "deviation_note": "Tighten the dolly-in into an insert-level close-up so the red pin and coastal map dominate the frame.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "High and wide on the rain-lashed coastal road, about 25 meters ahead and slightly to the seaward side, looking back at road level from a descending crane height toward the cyclist entering the storm line",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera lowers and slides laterally toward the road edge, matching the bicycle's direction until it settles beside Suriyoung at upper-body distance.",
            "visual_focus": "the stormy coastal road, heavy rain, and Suriyoung riding through the downpour"
          },
          {
            "camera_motion": "track",
            "camera_position": "Side-front tracking position at chest height, about 1.5 meters from Suriyoung, moving parallel with the bicycle and angled slightly into her forward motion",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "While maintaining speed, the camera drifts closer from the side-front line and tightens its angle toward Suriyoung's face.",
            "visual_focus": "Suriyoung leaning forward over the bicycle handlebar, gripping it tightly as rain and wind strike her"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Very close side-front position at face height, less than 0.6 meters from Suriyoung, traveling with the bicycle while compressing the frame around her face",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Suriyoung's determined expression and the raindrop gathering at the edge of her chin"
          }
        ],
        "flow_summary": "카메라는 폭우가 몰아치는 해안도로의 넓은 시야에서 출발해 자전거와 속도를 맞추며 수리영의 옆앞쪽으로 붙는다. 이후 상체를 따라가던 움직임이 얼굴 가까이로 밀착되며, 빗속에서도 흔들리지 않는 결연한 표정에 도달한다.",
        "scene_index": 24,
        "shot_assignments": [
          {
            "deviation_note": "핸들과 상체가 함께 보이도록 프레이밍을 약간 넓게 유지하고, 젖은 머리카락이 뒤로 흩날리는 순간을 포착한다.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 2
          },
          {
            "deviation_note": "턱 끝의 빗방울이 떨어지기 직전까지 초점을 얼굴 하단과 눈빛 사이에 단단히 고정한다.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low at floor level inside the dark rooftop-room living area, about 1 meter from the muddy footprints, moving slowly forward across the disturbed floor",
            "stage_index": 1,
            "stage_label": "establishing_intrusion",
            "transition_to_next": "The camera rises slightly and continues tracking past overturned chairs and pulled-open drawers toward the bedroom doorway.",
            "visual_focus": "muddy footprints and the ransacked living room as evidence of an intruder"
          },
          {
            "camera_motion": "track",
            "camera_position": "Waist height in the living room, three to four meters from the half-open bedroom door, moving along Suri-young's line of sight",
            "stage_index": 2,
            "stage_label": "approach_bedroom",
            "transition_to_next": "The camera slips closer to the doorway and narrows its angle toward the inside wall of the bedroom.",
            "visual_focus": "the half-open bedroom door and Suri-young's tense attention toward it"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Just inside the bedroom doorway at chest height, angled slightly toward the wall opposite the bed, about two meters from the marked wall",
            "stage_index": 3,
            "stage_label": "reveal_mark",
            "transition_to_next": "The dolly-in continues until the wall marking fills the frame and the inserted photograph becomes the dominant point.",
            "visual_focus": "the rough red circular mark on the bedroom wall with a small photograph pinned at its center"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Close to the bedroom wall at eye level, nearly perpendicular to the surface, within arm's length of the red mark and pinned photograph",
            "stage_index": 4,
            "stage_label": "close_observation",
            "transition_to_next": "As the photograph is removed, the camera follows the hand movement off the wall and arcs into Suri-young's frontal eyeline.",
            "visual_focus": "the huge red circular sign and the small blood-stained photograph fixed in its center"
          },
          {
            "camera_motion": "track",
            "camera_position": "In front of Suri-young at eye level, close enough that the lifted photograph sits between her face and the lens",
            "stage_index": 5,
            "stage_label": "reaction_recognition",
            "transition_to_next": "",
            "visual_focus": "Suri-young's widened eyes as she pulls the removed photograph close to her face"
          }
        ],
        "flow_summary": "카메라는 난장판이 된 거실의 침입 흔적에서 출발해 수리영의 시선을 따라 방 안으로 미끄러져 들어가고, 벽의 붉은 원과 사진에 점점 밀착한다. 사진이 벽에서 떨어지는 순간 카메라도 함께 방향을 틀어, 사진을 눈앞에 든 수리영의 충격적인 반응으로 이어진다.",
        "scene_index": 25,
        "shot_assignments": [
          {
            "deviation_note": "Tighten from the stage's close wall view into an almost flat close-up so the red circle dominates the frame and the small pinned photograph sits precisely at its center.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 5,
            "stage_index": 4
          },
          {
            "deviation_note": "Hold the camera directly on Suri-young's frontal axis; let the removed photograph come very close to the lens while her widened eyes remain the emotional focus behind it.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Low side position on the wet rocks, about waist height and two meters from Suriyeong, facing her profile with the foggy harbor behind her",
            "stage_index": 1,
            "stage_label": "isolated_observation",
            "transition_to_next": "The camera gently pans away from Suriyeong's profile toward the open water, following the direction of her gaze into the fog.",
            "visual_focus": "Suriyeong curled up on the damp rocks, small against the empty harbor and encroaching fog"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Same shoreline position, low and slightly offset from the rocks, lens now aimed outward across the dark mist-covered water",
            "stage_index": 2,
            "stage_label": "fog_reveal",
            "transition_to_next": "As the boat shape becomes readable, the movement resolves into a cut to the pier where the boat has arrived and the rope work is already in progress.",
            "visual_focus": "The faint bow of a small boat emerging through the dense fog and holding in the haze"
          },
          {
            "camera_motion": "cut",
            "camera_position": "On the pier beside the moored boat, chest height and slightly behind the line of the taut mooring rope, angled toward Inwoo at close distance",
            "stage_index": 3,
            "stage_label": "pier_confrontation",
            "transition_to_next": "The camera tracks a small lateral step around Inwoo's shoulder line, preparing to catch his guarded glance toward Suriyeong.",
            "visual_focus": "Inwoo securing the boat at the pier as Suriyeong approaches from the foggy shoreline"
          },
          {
            "camera_motion": "track",
            "camera_position": "Close three-quarter side position at Inwoo's eye level, less than one meter from his face, with the fog-softened pier and boat edge falling behind him",
            "stage_index": 4,
            "stage_label": "guarded_reaction",
            "transition_to_next": "",
            "visual_focus": "Inwoo's hardened eyes as he turns only slightly to look at Suriyeong with suspicion"
          }
        ],
        "flow_summary": "카메라는 젖은 갯바위 옆에서 수리영의 고립을 관찰하다가, 그녀의 시선을 따라 안개 낀 바다로 천천히 돌아서며 배의 출현을 포착한다. 이후 선착장으로 논리적 컷을 통해 이동해 닻줄을 매는 인우 곁으로 붙고, 마지막에는 그의 경계하는 눈매로 좁혀 들어간다.",
        "scene_index": 26,
        "shot_assignments": [
          {
            "deviation_note": "Frame Suriyeong in a tighter side composition than the stage default, emphasizing her knees pulled in and the slick texture of the rocks.",
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 1
          },
          {
            "deviation_note": "Hold the pan at its endpoint so the small bow appears almost static, suspended in the fog before the pier cut.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 6,
            "stage_index": 2
          },
          {
            "deviation_note": "Tighten from the rope-side pier setup to an eye-level close angle, minimizing the boat detail so the guarded sideways glance dominates.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 9,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "Inside the rooftop room near the entrance, eye-level, about 4 meters from Hyesu, facing into the cluttered living area",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera starts a slow forward move from the entrance line, narrowing the distance to Hyesu while keeping her centered in the room.",
            "visual_focus": "Hyesu standing alone in the middle of the rooftop room"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Moving from a full-body distance to a medium distance, eye-level, slightly drifting toward Hyesu's phone side",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The dolly-in continues and subtly arcs toward the side of her face, compressing the room behind her into a shallow background.",
            "visual_focus": "Hyesu listening to the phone message, her posture tightening as she reacts"
          },
          {
            "camera_motion": "static",
            "camera_position": "Tight close-up at Hyesu's phone-side cheek, eye-level, within arm's length, angled slightly across her face",
            "stage_index": 3,
            "stage_label": "close_observation",
            "transition_to_next": "",
            "visual_focus": "Hyesu's furrowed face and the phone speaker pressed close to her ear"
          }
        ],
        "flow_summary": "카메라는 옥탑방 입구 쪽의 넓은 거리에서 혜수를 고립된 인물로 잡은 뒤, 녹음메시지를 듣는 그녀에게 천천히 접근한다. 마지막에는 휴대폰을 귓가에 붙인 얼굴 가까이에 멈춰, 미간이 찌푸려지는 반응을 집중해서 관찰한다.",
        "scene_index": 27,
        "shot_assignments": [
          {
            "deviation_note": "Frame slightly tighter than the stage default so the phone speaker and Hyesu's deeply furrowed brow dominate the composition.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "shot_index": 2,
            "stage_index": 3
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "track",
            "camera_position": "Low shoulder-height on the open deck, a few feet beside Suriyeong, angled across the map and photo line toward Inwoo seated opposite her near the rail",
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "transition_to_next": "The camera creeps forward along the offered objects, narrowing the space between Suriyeong's hands and Inwoo's face until the photo becomes the eyeline anchor.",
            "visual_focus": "Suriyeong presenting the map and photo toward Inwoo across the darkening deck"
          },
          {
            "camera_motion": "static",
            "camera_position": "Eye-level directly in front of Inwoo at close distance, just beyond the held photo, centered on his face against the open sea background",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera slips laterally off Inwoo's front, using his shaken gaze as a bridge to reveal Suriyeong watching him from the side.",
            "visual_focus": "Inwoo freezing as he recognizes the photo and tries to hide his panic"
          },
          {
            "camera_motion": "pan",
            "camera_position": "Chest-height between the two on the deck, slightly closer to Suriyeong's side, with Inwoo still within her eyeline toward the wheelhouse direction",
            "stage_index": 3,
            "stage_label": "reaction_pressure",
            "transition_to_next": "When Inwoo suddenly turns and bolts, the camera whips with the motion and accelerates after Suriyeong as she follows him toward the wheelhouse.",
            "visual_focus": "Suriyeong reading Inwoo's unstable reaction and preparing to stop him"
          },
          {
            "camera_motion": "handheld",
            "camera_position": "Shoulder-height directly behind and slightly to the side of Suriyeong, moving fast across the deck toward the wheelhouse, close enough to feel her extended arm reaching into frame",
            "stage_index": 4,
            "stage_label": "pursuit_to_wheelhouse",
            "transition_to_next": "",
            "visual_focus": "Suriyeong lunging after Inwoo and stretching her arm to grab his shoulder before he reaches the controls"
          }
        ],
        "flow_summary": "카메라는 갑판 위 지도와 사진을 잇는 낮은 시선에서 출발해 인우의 정면 클로즈업으로 압박을 좁힌 뒤, 수리영의 의심스러운 시선으로 옆이동한다. 인우가 조타실로 뛰는 순간에는 그 움직임을 따라 핸드헬드로 전환되어 수리영의 추격과 팔을 뻗는 동작까지 한 흐름으로 밀고 간다.",
        "scene_index": 28,
        "shot_assignments": [
          {
            "deviation_note": "Keep the frame locked a beat longer than the surrounding movement so Inwoo's widened eyes and frozen panic dominate the moment.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 4,
            "stage_index": 2
          },
          {
            "deviation_note": "Shift slightly wider and lower behind Suriyeong so her reaching arm stretches diagonally toward Inwoo's shoulder, preserving the urgent mid-action energy.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 7,
            "stage_index": 4
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "handheld",
            "camera_position": "Inside the wheelhouse at chest height, close to the helm console, about two feet from the characters, angled across the steering wheel toward Inwoo and Suriyoung",
            "stage_index": 1,
            "stage_label": "tension_at_helm",
            "transition_to_next": "The camera slides downward along Suriyoung's pulling arm and tightens toward her open palm as the argument turns to the photograph.",
            "visual_focus": "Inwoo gripping the helm and Suriyoung's hand interrupting him"
          },
          {
            "camera_motion": "static",
            "camera_position": "Low macro close-up at hand level, just above Suriyoung's open palm, looking straight down at the old photograph",
            "stage_index": 2,
            "stage_label": "close_observation",
            "transition_to_next": "The camera tilts and rises from the photograph along Suriyoung's pointing hand toward Inwoo's face, following the shock of the information.",
            "visual_focus": "the old photograph in Suriyoung's palm and her finger indicating the girl in the image"
          },
          {
            "camera_motion": "dolly_in",
            "camera_position": "Eye-level close position in front of Inwoo, slightly off-center, about three feet away, compressing the cramped wheelhouse behind him",
            "stage_index": 3,
            "stage_label": "reaction",
            "transition_to_next": "The camera continues past Inwoo's shoulder and shifts its sightline over him toward the wall of the wheelhouse.",
            "visual_focus": "Inwoo's face turning pale as he repeats the name"
          },
          {
            "camera_motion": "track",
            "camera_position": "Over Inwoo's shoulder at head height, tight enough to keep his shoulder in the foreground while looking toward the old wall inside the wheelhouse",
            "stage_index": 4,
            "stage_label": "reveal",
            "transition_to_next": "The camera drops and backs with Suriyoung's weakening body, keeping Inwoo in the frame as she loses balance and falls toward him.",
            "visual_focus": "the red circular markings covering the wall and the newly noticed red circle"
          },
          {
            "camera_motion": "static",
            "camera_position": "Medium-close at shoulder height beside Inwoo, about two feet from the pair, squared to the point where Suriyoung's head meets Inwoo's shoulder",
            "stage_index": 5,
            "stage_label": "collapse_hold",
            "transition_to_next": "",
            "visual_focus": "Suriyoung unconscious against Inwoo's shoulder while Inwoo remains rigid and expressionless"
          }
        ],
        "flow_summary": "카메라는 조타실의 격한 몸싸움에서 손바닥의 사진으로 내려갔다가, 인우의 얼굴과 벽의 붉은 원형 표식으로 시선을 옮기며 진실의 충격을 따라간다. 마지막에는 힘이 풀린 수리영을 따라 낮아진 뒤, 인우의 어깨에 멈춰 붙은 정지 구도로 흐름을 고정한다.",
        "scene_index": 29,
        "shot_assignments": [
          {
            "deviation_note": "Tighten further than the stage default so the fingertip and the girl in the photograph dominate the frame; use very shallow focus on the indicated child.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 2
          },
          {
            "deviation_note": "Hold completely still after Suriyoung's head makes contact, emphasizing the final frozen tableau and Inwoo's hardened expression.",
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 8,
            "stage_index": 5
          }
        ]
      },
      {
        "flow_stages": [
          {
            "camera_motion": "static",
            "camera_position": "High wide position above the open sea, far from the fishing boat, looking slightly downward across the sunset-lit water",
            "stage_index": 1,
            "stage_label": "establishing",
            "transition_to_next": "The camera begins to lower and drift forward over the water, leaving the distant wide view and orienting toward the dark fog bank ahead.",
            "visual_focus": "the small fishing boat isolated on golden waves at dusk"
          },
          {
            "camera_motion": "track",
            "camera_position": "Low over the water at medium distance from the boat's path, positioned between the open sea and the fog line, moving laterally to align with the boat's approach",
            "stage_index": 2,
            "stage_label": "approach",
            "transition_to_next": "The lateral track continues smoothly until the camera settles alongside the boat's bow at the exact threshold of the fog wall.",
            "visual_focus": "the dense fog bank rising like a boundary across the sea and the boat moving toward it"
          },
          {
            "camera_motion": "track",
            "camera_position": "Water-level broadside position beside the fishing boat, close to the bow, keeping parallel pace as the bow enters the fog",
            "stage_index": 3,
            "stage_label": "threshold",
            "transition_to_next": "",
            "visual_focus": "the fishing boat's bow cutting through the water as it becomes half swallowed by the dark fog wall"
          }
        ],
        "flow_summary": "카메라는 해질녘 바다의 원경에서 시작해 수면 가까이로 내려오며 어선의 항로를 따라 안개 장벽 쪽으로 접근한다. 마지막에는 어선 옆을 나란히 추적하며 뱃머리가 짙은 안개 속으로 절반쯤 들어가는 경계의 순간에 머문다.",
        "scene_index": 30,
        "shot_assignments": [
          {
            "deviation_note": "Emphasize a clean side profile of the fishing boat, with the bow already halfway inside the dark fog while the hull continues slicing through the water.",
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "shot_index": 3,
            "stage_index": 3
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "710f45f3-5c3f-4731-ab2f-43162adcdba3",
  "resolved_model": "gpt",
  "updated_at": "2026-06-28T12:05:11.088527+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}